Skip to content

Commit

Permalink
Adding monitoring.googleapis.com CRD (#5)
Browse files Browse the repository at this point in the history
Co-authored-by: Bradley <41597815+userbradley@users.noreply.github.com>
  • Loading branch information
CyberHippo and userbradley committed May 6, 2024
1 parent 2f270d8 commit f39319c
Show file tree
Hide file tree
Showing 13 changed files with 3,200 additions and 0 deletions.
237 changes: 237 additions & 0 deletions monitoring.googleapis.com/clusternodemonitoring_v1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
{
"description": "ClusterNodeMonitoring defines monitoring for a set of nodes.",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "Specification of desired node selection for target discovery by\nPrometheus.",
"properties": {
"endpoints": {
"description": "The endpoints to scrape on the selected nodes.",
"items": {
"description": "ScrapeNodeEndpoint specifies a Prometheus metrics endpoint on a node to scrape.\nIt contains all the fields used in the ScrapeEndpoint except for port and HTTPClientConfig.",
"properties": {
"interval": {
"default": "1m",
"description": "Interval at which to scrape metrics. Must be a valid Prometheus duration.",
"pattern": "^((([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?|0)$",
"type": "string"
},
"metricRelabeling": {
"description": "Relabeling rules for metrics scraped from this endpoint. Relabeling rules that\noverride protected target labels (project_id, location, cluster, namespace, job,\ninstance, or __address__) are not permitted. The labelmap action is not permitted\nin general.",
"items": {
"description": "RelabelingRule defines a single Prometheus relabeling rule.",
"properties": {
"action": {
"description": "Action to perform based on regex matching. Defaults to 'replace'.",
"type": "string"
},
"modulus": {
"description": "Modulus to take of the hash of the source label values.",
"format": "int64",
"type": "integer"
},
"regex": {
"description": "Regular expression against which the extracted value is matched. Defaults to '(.*)'.",
"type": "string"
},
"replacement": {
"description": "Replacement value against which a regex replace is performed if the\nregular expression matches. Regex capture groups are available. Defaults to '$1'.",
"type": "string"
},
"separator": {
"description": "Separator placed between concatenated source label values. Defaults to ';'.",
"type": "string"
},
"sourceLabels": {
"description": "The source labels select values from existing labels. Their content is concatenated\nusing the configured separator and matched against the configured regular expression\nfor the replace, keep, and drop actions.",
"items": {
"type": "string"
},
"type": "array"
},
"targetLabel": {
"description": "Label to which the resulting value is written in a replace action.\nIt is mandatory for replace actions. Regex capture groups are available.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"params": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "HTTP GET params to use when scraping.",
"type": "object"
},
"path": {
"description": "HTTP path to scrape metrics from. Defaults to \"/metrics\".",
"type": "string"
},
"scheme": {
"description": "Protocol scheme to use to scrape.",
"type": "string"
},
"timeout": {
"description": "Timeout for metrics scrapes. Must be a valid Prometheus duration.\nMust not be larger then the scrape interval.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"limits": {
"description": "Limits to apply at scrape time.",
"properties": {
"labelNameLength": {
"description": "Maximum label name length.\nUses Prometheus default if left unspecified.",
"format": "int64",
"type": "integer"
},
"labelValueLength": {
"description": "Maximum label value length.\nUses Prometheus default if left unspecified.",
"format": "int64",
"type": "integer"
},
"labels": {
"description": "Maximum number of labels accepted for a single sample.\nUses Prometheus default if left unspecified.",
"format": "int64",
"type": "integer"
},
"samples": {
"description": "Maximum number of samples accepted within a single scrape.\nUses Prometheus default if left unspecified.",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
},
"selector": {
"description": "Label selector that specifies which nodes are selected for this monitoring\nconfiguration. If left empty all nodes are selected.",
"properties": {
"matchExpressions": {
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
"items": {
"description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
"properties": {
"key": {
"description": "key is the label key that the selector applies to.",
"type": "string"
},
"operator": {
"description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
"type": "string"
},
"values": {
"description": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"key",
"operator"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"matchLabels": {
"additionalProperties": {
"type": "string"
},
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
"type": "object"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic",
"additionalProperties": false
}
},
"required": [
"endpoints"
],
"type": "object",
"additionalProperties": false
},
"status": {
"description": "Most recently observed status of the resource.",
"properties": {
"conditions": {
"description": "Represents the latest available observations of a podmonitor's current state.",
"items": {
"description": "MonitoringCondition describes the condition of a PodMonitoring.",
"properties": {
"lastTransitionTime": {
"description": "Last time the condition transitioned from one status to another.",
"format": "date-time",
"type": "string"
},
"lastUpdateTime": {
"description": "The last time this condition was updated.",
"format": "date-time",
"type": "string"
},
"message": {
"description": "A human-readable message indicating details about the transition.",
"type": "string"
},
"reason": {
"description": "The reason for the condition's last transition.",
"type": "string"
},
"status": {
"description": "Status of the condition, one of True, False, Unknown.",
"type": "string"
},
"type": {
"description": "MonitoringConditionType is the type of MonitoringCondition.",
"type": "string"
}
},
"required": [
"status",
"type"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"observedGeneration": {
"description": "The generation observed by the controller.",
"format": "int64",
"type": "integer"
}
},
"type": "object",
"additionalProperties": false
}
},
"required": [
"spec"
],
"type": "object"
}
Loading

0 comments on commit f39319c

Please sign in to comment.