From 2fffb73959f2464449eea3f88b9bea1f9e7136dd Mon Sep 17 00:00:00 2001 From: gitlawr Date: Fri, 6 Sep 2019 11:33:40 +0800 Subject: [PATCH] Upate Prometheus operator to v0.32.0 for k8s v1.16 compatibility - Bump Prometheus operator image version - Sync upstream CRDs. Add PodMonitor and update the rest.(https://github.com/helm/charts/tree/master/stable/prometheus-operator/templates/prometheus-operator) - Update ClusterRole Related Upstream changes: https://github.com/helm/charts/commit/6a94c082c2daf8be72ac241397d652993ad82a0b#diff-b9f481ac97524bfb24d27f62676dc143 https://github.com/helm/charts/commit/d58247103fafd5930792bb1fd3ac240547523200#diff-23b6255dfa711af76ad99181e2fb0464 --- .../operator-init/files/crd-podmonitor.yaml | 240 ++++++++++ .../operator-init/files/crd-prometheus.yaml | 446 +++++++++++++----- .../files/crd-prometheusrules.yaml | 48 ++ .../files/crd-servicemonitor.yaml | 12 + .../charts/operator/templates/rbac.yaml | 3 + .../v0.0.4/templates/crds.yaml | 19 + charts/rancher-monitoring/v0.0.4/values.yaml | 4 +- 7 files changed, 660 insertions(+), 112 deletions(-) create mode 100644 charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-podmonitor.yaml diff --git a/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-podmonitor.yaml b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-podmonitor.yaml new file mode 100644 index 0000000..9385c9a --- /dev/null +++ b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-podmonitor.yaml @@ -0,0 +1,240 @@ +# Source https://raw.githubusercontent.com/coreos/kube-prometheus/master/manifests/0prometheus-operator-0podmonitorCustomResourceDefinition.yaml +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: "podmonitors.monitoring.coreos.com" + labels: + app: operator-init + chart: operator-init-0.1.0 + heritage: Tiller + release: prometheus-operator +spec: + group: "monitoring.coreos.com" + names: + kind: PodMonitor + plural: podmonitors + scope: Namespaced + validation: + openAPIV3Schema: + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' + type: string + spec: + description: PodMonitorSpec contains specification parameters for a PodMonitor. + properties: + jobLabel: + description: The label to use to retrieve the job name from. + type: string + namespaceSelector: + description: NamespaceSelector is a selector for selecting either all + namespaces or a list of namespaces. + properties: + any: + description: Boolean describing whether all namespaces are selected + in contrast to a list restricting them. + type: boolean + matchNames: + description: List of namespace names. + items: + type: string + type: array + type: object + podMetricsEndpoints: + description: A list of endpoints allowed as part of this PodMonitor. + items: + description: PodMetricsEndpoint defines a scrapeable endpoint of a + Kubernetes Pod serving Prometheus metrics. + properties: + honorLabels: + description: HonorLabels chooses the metric's labels on collisions + with target labels. + type: boolean + interval: + description: Interval at which metrics should be scraped + type: string + metricRelabelings: + description: MetricRelabelConfigs to apply to samples before ingestion. + items: + description: 'RelabelConfig allows dynamic rewriting of the + label set, being applied to samples before ingestion. It defines + ``-section of Prometheus configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + properties: + action: + description: Action to perform based on regex matching. + Default is '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. defailt is '(.*)' + type: string + replacement: + description: Replacement value against which a regex replace + is performed if the regular expression matches. Regex + capture groups are available. Default is '$1' + type: string + separator: + description: Separator placed between concatenated source + label values. default is ';'. + type: string + sourceLabels: + description: The source labels select values from existing + labels. Their content is concatenated using the configured + separator and matched against the configured regular expression + for 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. It is mandatory for replace actions. + Regex capture groups are available. + type: string + type: object + type: array + params: + description: Optional HTTP URL parameters + type: object + path: + description: HTTP path to scrape for metrics. + type: string + port: + description: Name of the port this endpoint refers to. Mutually + exclusive with targetPort. + type: string + proxyUrl: + description: ProxyURL eg http://proxyserver:2195 Directs scrapes + to proxy through this endpoint. + type: string + relabelings: + description: 'RelabelConfigs to apply to samples before ingestion. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + items: + description: 'RelabelConfig allows dynamic rewriting of the + label set, being applied to samples before ingestion. It defines + ``-section of Prometheus configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + properties: + action: + description: Action to perform based on regex matching. + Default is '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. defailt is '(.*)' + type: string + replacement: + description: Replacement value against which a regex replace + is performed if the regular expression matches. Regex + capture groups are available. Default is '$1' + type: string + separator: + description: Separator placed between concatenated source + label values. default is ';'. + type: string + sourceLabels: + description: The source labels select values from existing + labels. Their content is concatenated using the configured + separator and matched against the configured regular expression + for 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. It is mandatory for replace actions. + Regex capture groups are available. + type: string + type: object + type: array + scheme: + description: HTTP scheme to use for scraping. + type: string + scrapeTimeout: + description: Timeout after which the scrape is ended + type: string + targetPort: + anyOf: + - type: string + - type: integer + type: object + type: array + podTargetLabels: + description: PodTargetLabels transfers labels on the Kubernetes Pod + onto the target. + items: + type: string + type: array + sampleLimit: + description: SampleLimit defines per-scrape limit on number of scraped + samples that will be accepted. + format: int64 + type: integer + selector: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + 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 relates 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. Valid 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, the values array must be non-empty. If the + operator is Exists or DoesNotExist, the values array must + be empty. This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + required: + - podMetricsEndpoints + - selector + type: object + type: object + version: v1 \ No newline at end of file diff --git a/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheus.yaml b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheus.yaml index aa79c54..5ea10ba 100644 --- a/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheus.yaml +++ b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheus.yaml @@ -45,6 +45,7 @@ spec: type: boolean required: - key + type: object additionalAlertRelabelConfigs: description: SecretKeySelector selects a key of a Secret. properties: @@ -60,6 +61,7 @@ spec: type: boolean required: - key + type: object additionalScrapeConfigs: description: SecretKeySelector selects a key of a Secret. properties: @@ -75,6 +77,7 @@ spec: type: boolean required: - key + type: object affinity: description: Affinity is a group of affinity scheduling rules. properties: @@ -137,6 +140,7 @@ spec: required: - key - operator + type: object type: array matchFields: description: A list of node selector requirements @@ -170,7 +174,9 @@ spec: required: - key - operator + type: object type: array + type: object weight: description: Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. @@ -179,6 +185,7 @@ spec: required: - weight - preference + type: object type: array requiredDuringSchedulingIgnoredDuringExecution: description: A node selector represents the union of the results @@ -227,6 +234,7 @@ spec: required: - key - operator + type: object type: array matchFields: description: A list of node selector requirements @@ -260,10 +268,14 @@ spec: required: - key - operator + type: object type: array + type: object type: array required: - nodeSelectorTerms + type: object + type: object podAffinity: description: Pod affinity is a group of inter pod affinity scheduling rules. @@ -330,6 +342,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} @@ -339,6 +352,7 @@ spec: and the values array contains only "value". The requirements are ANDed. type: object + type: object namespaces: description: namespaces specifies which namespaces the labelSelector applies to (matches against); @@ -357,6 +371,7 @@ spec: type: string required: - topologyKey + type: object weight: description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. @@ -365,6 +380,7 @@ spec: required: - weight - podAffinityTerm + type: object type: array requiredDuringSchedulingIgnoredDuringExecution: description: If the affinity requirements specified by this @@ -421,6 +437,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. @@ -429,6 +446,7 @@ spec: is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object namespaces: description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or @@ -447,7 +465,9 @@ spec: type: string required: - topologyKey + type: object type: array + type: object podAntiAffinity: description: Pod anti affinity is a group of inter pod anti affinity scheduling rules. @@ -515,6 +535,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} @@ -524,6 +545,7 @@ spec: and the values array contains only "value". The requirements are ANDed. type: object + type: object namespaces: description: namespaces specifies which namespaces the labelSelector applies to (matches against); @@ -542,6 +564,7 @@ spec: type: string required: - topologyKey + type: object weight: description: weight associated with matching the corresponding podAffinityTerm, in the range 1-100. @@ -550,6 +573,7 @@ spec: required: - weight - podAffinityTerm + type: object type: array requiredDuringSchedulingIgnoredDuringExecution: description: If the anti-affinity requirements specified by @@ -606,6 +630,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. @@ -614,6 +639,7 @@ spec: is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object namespaces: description: namespaces specifies which namespaces the labelSelector applies to (matches against); null or @@ -632,7 +658,10 @@ spec: type: string required: - topologyKey + type: object type: array + type: object + type: object alerting: description: AlertingSpec defines parameters for alerting configuration of Prometheus servers. @@ -683,13 +712,16 @@ spec: serverName: description: Used to verify the hostname for the targets. type: string + type: object required: - namespace - name - port + type: object type: array required: - alertmanagers + type: object apiserverConfig: description: 'APIServerConfig defines a host and auth methods to access apiserver. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config' @@ -714,6 +746,7 @@ spec: type: boolean required: - key + type: object username: description: SecretKeySelector selects a key of a Secret. properties: @@ -730,6 +763,8 @@ spec: type: boolean required: - key + type: object + type: object bearerToken: description: Bearer token for accessing apiserver. type: string @@ -758,8 +793,10 @@ spec: serverName: description: Used to verify the hostname for the targets. type: string + type: object required: - host + type: object baseImage: description: Base image to use for a Prometheus deployment. type: string @@ -771,8 +808,16 @@ spec: type: string type: array containers: - description: Containers allows injecting additional containers. This - is meant to allow adding an authentication proxy to a Prometheus pod. + description: 'Containers allows injecting additional containers or modifying + operator generated containers. This can be used to allow adding an + authentication proxy to a Prometheus pod or to change the behavior + of an operator generated container. Containers described here modify + an operator generated container if they share the same name and modifications + are done via a strategic merge patch. The current container names + are: `prometheus`, `prometheus-config-reloader`, `rules-configmap-reloader`, + and `thanos-sidecar`. Overriding containers is entirely outside the + scope of what the maintainers will support and by doing so, you accept + that this behaviour may break at any time without notice.' items: description: A single application container that you want to run within a pod. @@ -841,6 +886,7 @@ spec: type: boolean required: - key + type: object fieldRef: description: ObjectFieldSelector selects an APIVersioned field of an object. @@ -855,6 +901,7 @@ spec: type: string required: - fieldPath + type: object resourceFieldRef: description: ResourceFieldSelector represents container resources (cpu, memory) and their output format @@ -869,6 +916,7 @@ spec: type: string required: - resource + type: object secretKeyRef: description: SecretKeySelector selects a key of a Secret. properties: @@ -885,8 +933,11 @@ spec: type: boolean required: - key + type: object + type: object required: - name + type: object type: array envFrom: description: List of sources to populate environment variables @@ -903,7 +954,6 @@ spec: configMapRef: description: |- ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. - The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. properties: name: @@ -912,6 +962,7 @@ spec: optional: description: Specify whether the ConfigMap must be defined type: boolean + type: object prefix: description: An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. @@ -919,7 +970,6 @@ spec: secretRef: description: |- SecretEnvSource selects a Secret to populate the environment variables with. - The contents of the target Secret's Data field will represent the key-value pairs as environment variables. properties: name: @@ -928,6 +978,8 @@ spec: optional: description: Specify whether the Secret must be defined type: boolean + type: object + type: object type: array image: description: 'Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images @@ -967,6 +1019,7 @@ spec: items: type: string type: array + type: object httpGet: description: HTTPGetAction describes an action based on HTTP Get requests. @@ -992,6 +1045,7 @@ spec: required: - name - value + type: object type: array path: description: Path to access on the HTTP server. @@ -1006,6 +1060,7 @@ spec: type: string required: - port + type: object tcpSocket: description: TCPSocketAction describes an action based on opening a socket @@ -1020,6 +1075,8 @@ spec: - type: integer required: - port + type: object + type: object preStop: description: Handler defines a specific action that should be taken @@ -1040,6 +1097,7 @@ spec: items: type: string type: array + type: object httpGet: description: HTTPGetAction describes an action based on HTTP Get requests. @@ -1065,6 +1123,7 @@ spec: required: - name - value + type: object type: array path: description: Path to access on the HTTP server. @@ -1079,6 +1138,7 @@ spec: type: string required: - port + type: object tcpSocket: description: TCPSocketAction describes an action based on opening a socket @@ -1093,6 +1153,9 @@ spec: - type: integer required: - port + type: object + type: object + type: object livenessProbe: description: Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive @@ -1113,6 +1176,7 @@ spec: items: type: string type: array + type: object failureThreshold: description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to @@ -1144,6 +1208,7 @@ spec: required: - name - value + type: object type: array path: description: Path to access on the HTTP server. @@ -1158,6 +1223,7 @@ spec: type: string required: - port + type: object initialDelaySeconds: description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' @@ -1188,12 +1254,14 @@ spec: - type: integer required: - port + type: object timeoutSeconds: description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' format: int32 type: integer + type: object name: description: Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot @@ -1238,6 +1306,7 @@ spec: type: string required: - containerPort + type: object type: array readinessProbe: description: Probe describes a health check to be performed against @@ -1259,6 +1328,7 @@ spec: items: type: string type: array + type: object failureThreshold: description: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to @@ -1290,6 +1360,7 @@ spec: required: - name - value + type: object type: array path: description: Path to access on the HTTP server. @@ -1304,6 +1375,7 @@ spec: type: string required: - port + type: object initialDelaySeconds: description: 'Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' @@ -1334,12 +1406,14 @@ spec: - type: integer required: - port + type: object timeoutSeconds: description: 'Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes' format: int32 type: integer + type: object resources: description: ResourceRequirements describes the compute resource requirements. @@ -1354,6 +1428,7 @@ spec: it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' type: object + type: object securityContext: description: SecurityContext holds security configuration that will be applied to a container. Some fields are present in both @@ -1382,6 +1457,7 @@ spec: items: type: string type: array + type: object privileged: description: Run container in privileged mode. Processes in privileged containers are essentially equivalent to root @@ -1443,6 +1519,8 @@ spec: description: User is a SELinux user label that applies to the container. type: string + type: object + type: object stdin: description: Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from @@ -1500,6 +1578,7 @@ spec: required: - name - devicePath + type: object type: array volumeMounts: description: Pod volumes to mount into the container's filesystem. @@ -1529,9 +1608,18 @@ spec: description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). type: string + subPathExpr: + description: Expanded path within the volume from which + the container's volume should be mounted. Behaves similarly + to SubPath but environment variable references $(VAR_NAME) + are expanded using the container's environment. Defaults + to "" (volume's root). SubPathExpr and SubPath are mutually + exclusive. This field is alpha in 1.14. + type: string required: - name - mountPath + type: object type: array workingDir: description: Container's working directory. If not specified, @@ -1540,6 +1628,7 @@ spec: type: string required: - name + type: object type: array enableAdminAPI: description: 'Enable access to prometheus web admin API. Defaults to @@ -1578,6 +1667,7 @@ spec: name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string + type: object type: array listenLocal: description: ListenLocal makes the Prometheus server listen on loopback, @@ -1642,9 +1732,7 @@ spec: generateName: description: |- GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency type: string generation: @@ -1671,6 +1759,7 @@ spec: type: string required: - name + type: object type: array result: description: Status is a return value for calls that don't return @@ -1708,7 +1797,6 @@ spec: field: description: |- The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: "name" - the field "name" on the current resource "items[0].name" - the field "name" on the first array entry in "items" @@ -1723,6 +1811,7 @@ spec: the cause of the error. If this value is empty there is no information available. type: string + type: object type: array group: description: The group attribute of the resource associated @@ -1752,6 +1841,7 @@ spec: single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids' type: string + type: object kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this @@ -1793,6 +1883,7 @@ spec: description: selfLink is a URL representing this object. Populated by the system. Read-only. type: string + type: object reason: description: A machine-readable description of why this operation is in the "Failure" status. If this value is @@ -1803,14 +1894,53 @@ spec: description: 'Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' type: string + type: object required: - pending + type: object labels: description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' type: object + managedFields: + description: |- + ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object. + This field is alpha and can be changed or removed without notice. + items: + description: ManagedFieldsEntry is a workflow-id, a FieldSet and + the group version of the resource that the fieldset applies + to. + properties: + apiVersion: + description: APIVersion defines the version of this resource + that this field set applies to. The format is "group/version" + just like the top-level APIVersion field. It is necessary + to track the version of a field set because it cannot be + automatically converted. + type: string + fields: + description: 'Fields stores a set of fields in a data structure + like a Trie. To understand how this is used, see: https://github.com/kubernetes-sigs/structured-merge-diff' + type: object + manager: + description: Manager is an identifier of the workflow managing + these fields. + type: string + operation: + description: Operation is the type of operation which lead + to this ManagedFieldsEntry being created. The only valid + values for this field are 'Apply' and 'Update'. + type: string + time: + description: Time is a wrapper around time.Time which supports + correct marshaling to YAML and JSON. Wrappers are provided + for many of the factory methods that the time package offers. + format: date-time + type: string + type: object + type: array name: description: 'Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client @@ -1821,7 +1951,6 @@ spec: namespace: description: |- Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces type: string ownerReferences: @@ -1864,11 +1993,11 @@ spec: - kind - name - uid + type: object type: array resourceVersion: description: |- An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency type: string selfLink: @@ -1878,12 +2007,105 @@ spec: uid: description: |- UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids type: string + type: object + podMonitorNamespaceSelector: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + 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 relates 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. Valid 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, the values array must be non-empty. If the + operator is Exists or DoesNotExist, the values array must + be empty. This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object + podMonitorSelector: + description: A label selector is a label query over a set of resources. + The result of matchLabels and matchExpressions are ANDed. An empty + label selector matches all objects. A null label selector matches + no objects. + 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 relates 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. Valid 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, the values array must be non-empty. If the + operator is Exists or DoesNotExist, the values array must + be empty. This array is replaced during a strategic merge + patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + description: matchLabels is a map of {key,value} pairs. A single + {key,value} in the matchLabels map is equivalent to an element + of matchExpressions, whose key field is "key", the operator is + "In", and the values array contains only "value". The requirements + are ANDed. + type: object + type: object priorityClassName: description: Priority class assigned to the Pods type: string + prometheusExternalLabelName: + description: Name of Prometheus external label used to denote Prometheus + instance name. Defaults to the value of `prometheus`. External label + will _not_ be added when value is set to empty string (`""`). + type: string query: description: QuerySpec defines the query command line flags when starting Prometheus. @@ -1896,9 +2118,17 @@ spec: description: Number of concurrent queries that can be run at once. format: int32 type: integer + maxSamples: + description: Maximum number of samples a single query can load into + memory. Note that queries will fail if they would load more samples + than this into memory, so this also limits the number of samples + a query can return. + format: int32 + type: integer timeout: description: Maximum time a query may take before being aborted. type: string + type: object remoteRead: description: If specified, the remote_read spec. This is an experimental feature, it may change in any upcoming release in a breaking way. @@ -1926,6 +2156,7 @@ spec: type: boolean required: - key + type: object username: description: SecretKeySelector selects a key of a Secret. properties: @@ -1942,6 +2173,8 @@ spec: type: boolean required: - key + type: object + type: object bearerToken: description: bearer token for remote read. type: string @@ -1980,11 +2213,13 @@ spec: serverName: description: Used to verify the hostname for the targets. type: string + type: object url: description: The URL of the endpoint to send samples to. type: string required: - url + type: object type: array remoteWrite: description: If specified, the remote_write spec. This is an experimental @@ -2013,6 +2248,7 @@ spec: type: boolean required: - key + type: object username: description: SecretKeySelector selects a key of a Secret. properties: @@ -2029,6 +2265,8 @@ spec: type: boolean required: - key + type: object + type: object bearerToken: description: File to read bearer token for remote write. type: string @@ -2079,6 +2317,7 @@ spec: amount of concurrency. format: int32 type: integer + type: object remoteTimeout: description: Timeout for requests to the remote write endpoint. type: string @@ -2100,6 +2339,7 @@ spec: serverName: description: Used to verify the hostname for the targets. type: string + type: object url: description: The URL of the endpoint to send samples to. type: string @@ -2146,13 +2386,16 @@ spec: in a replace action. It is mandatory for replace actions. Regex capture groups are available. type: string + type: object type: array required: - url + type: object type: array replicaExternalLabelName: description: Name of Prometheus external label used to denote replica - name. Defaults to the value of `prometheus_replica`. + name. Defaults to the value of `prometheus_replica`. External label + will _not_ be added when value is set to empty string (`""`). type: string replicas: description: Number of instances to deploy for a Prometheus deployment. @@ -2171,11 +2414,15 @@ spec: to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' type: object + type: object retention: description: Time duration Prometheus shall retain data for. Default is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)` (milliseconds seconds minutes hours days weeks years). type: string + retentionSize: + description: Maximum amount of disk space used by blocks. + type: string routePrefix: description: The route prefix Prometheus registers HTTP handlers for. This is useful, if using ExternalURL and a proxy is rewriting HTTP @@ -2217,6 +2464,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. A single @@ -2225,6 +2473,7 @@ spec: "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object ruleSelector: description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty @@ -2259,6 +2508,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. A single @@ -2267,6 +2517,7 @@ spec: "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object rules: description: /--rules.*/ command-line arguments properties: @@ -2286,6 +2537,8 @@ spec: description: Minimum amount of time to wait before resending an alert to Alertmanager. type: string + type: object + type: object scrapeInterval: description: Interval between consecutive scrapes. type: string @@ -2305,9 +2558,7 @@ spec: fsGroup: description: |- A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: - 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- - If unset, the Kubelet will not modify the ownership and permissions of any volume. format: int64 type: integer @@ -2355,6 +2606,7 @@ spec: description: User is a SELinux user label that applies to the container. type: string + type: object supplementalGroups: description: A list of groups applied to the first process run in each container, in addition to the container's primary GID. If @@ -2379,7 +2631,9 @@ spec: required: - name - value + type: object type: array + type: object serviceAccountName: description: ServiceAccountName is the name of the ServiceAccount to use to run the Prometheus Pods. @@ -2418,6 +2672,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. A single @@ -2426,6 +2681,7 @@ spec: "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object serviceMonitorSelector: description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty @@ -2460,6 +2716,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. A single @@ -2468,6 +2725,7 @@ spec: "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object sha: description: SHA of Prometheus container image to be deployed. Defaults to the value of `version`. Similar to a tag, but the SHA explicitly @@ -2490,6 +2748,7 @@ spec: Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' type: string sizeLimit: {} + type: object volumeClaimTemplate: description: PersistentVolumeClaim is a user's request for and claim to a persistent volume @@ -2557,9 +2816,7 @@ spec: generateName: description: |- GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. - If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). - Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency type: string generation: @@ -2587,6 +2844,7 @@ spec: type: string required: - name + type: object type: array result: description: Status is a return value for calls that @@ -2627,7 +2885,6 @@ spec: field: description: |- The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional. - Examples: "name" - the field "name" on the current resource "items[0].name" - the field "name" on the first array entry in "items" @@ -2642,6 +2899,7 @@ spec: of the cause of the error. If this value is empty there is no information available. type: string + type: object type: array group: description: The group attribute of the resource @@ -2672,6 +2930,7 @@ spec: is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids' type: string + type: object kind: description: 'Kind is a string value representing the REST resource this object represents. Servers @@ -2718,6 +2977,7 @@ spec: description: selfLink is a URL representing this object. Populated by the system. Read-only. type: string + type: object reason: description: A machine-readable description of why this operation is in the "Failure" status. If @@ -2729,14 +2989,56 @@ spec: description: 'Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' type: string + type: object required: - pending + type: object labels: description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' type: object + managedFields: + description: |- + ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object. + This field is alpha and can be changed or removed without notice. + items: + description: ManagedFieldsEntry is a workflow-id, a FieldSet + and the group version of the resource that the fieldset + applies to. + properties: + apiVersion: + description: APIVersion defines the version of this + resource that this field set applies to. The format + is "group/version" just like the top-level APIVersion + field. It is necessary to track the version of a + field set because it cannot be automatically converted. + type: string + fields: + description: 'Fields stores a set of fields in a data + structure like a Trie. To understand how this is + used, see: https://github.com/kubernetes-sigs/structured-merge-diff' + type: object + manager: + description: Manager is an identifier of the workflow + managing these fields. + type: string + operation: + description: Operation is the type of operation which + lead to this ManagedFieldsEntry being created. The + only valid values for this field are 'Apply' and + 'Update'. + type: string + time: + description: Time is a wrapper around time.Time which + supports correct marshaling to YAML and JSON. Wrappers + are provided for many of the factory methods that + the time package offers. + format: date-time + type: string + type: object + type: array name: description: 'Name must be unique within a namespace. Is required when creating resources, although some resources @@ -2748,7 +3050,6 @@ spec: namespace: description: |- Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. - Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces type: string ownerReferences: @@ -2793,11 +3094,11 @@ spec: - kind - name - uid + type: object type: array resourceVersion: description: |- An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. - Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency type: string selfLink: @@ -2807,9 +3108,9 @@ spec: uid: description: |- UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. - Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids type: string + type: object spec: description: PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific @@ -2841,6 +3142,7 @@ spec: required: - kind - name + type: object resources: description: ResourceRequirements describes the compute resource requirements. @@ -2856,6 +3158,7 @@ spec: explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' type: object + type: object selector: description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions @@ -2892,6 +3195,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. @@ -2900,6 +3204,7 @@ spec: is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object storageClassName: description: 'Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' @@ -2913,6 +3218,7 @@ spec: description: VolumeName is the binding reference to the PersistentVolume backing this claim. type: string + type: object status: description: PersistentVolumeClaimStatus is the current status of a persistent volume claim. @@ -2967,10 +3273,14 @@ spec: required: - type - status + type: object type: array phase: description: Phase represents the current phase of PersistentVolumeClaim. type: string + type: object + type: object + type: object tag: description: Tag of Prometheus container image to be deployed. Defaults to the value of `version`. Version is ignored if Tag is set. @@ -2982,40 +3292,6 @@ spec: baseImage: description: Thanos base image if other than default. type: string - clusterAdvertiseAddress: - description: Explicit (external) ip:port address to advertise for - gossip in gossip cluster. Used internally for membership only. - type: string - gcs: - description: 'Deprecated: ThanosGCSSpec should be configured with - an ObjectStorageConfig secret starting with Thanos v0.2.0. ThanosGCSSpec - will be removed.' - properties: - bucket: - description: Google Cloud Storage bucket name for stored blocks. - If empty it won't store any block inside Google Cloud Storage. - type: string - credentials: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - grpcAdvertiseAddress: - description: Explicit (external) host:port address to advertise - for gRPC StoreAPI in gossip cluster. If empty, 'grpc-address' - will be used. - type: string image: description: Image if specified has precedence over baseImage, tag and sha combinations. Specifying the version is still necessary @@ -3038,9 +3314,7 @@ spec: type: boolean required: - key - peers: - description: Peers is a DNS name for Thanos to discover peers through. - type: string + type: object resources: description: ResourceRequirements describes the compute resource requirements. @@ -3055,60 +3329,7 @@ spec: it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/' type: object - s3: - description: 'Deprecated: ThanosS3Spec should be configured with - an ObjectStorageConfig secret starting with Thanos v0.2.0. ThanosS3Spec - will be removed.' - properties: - accessKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - bucket: - description: S3-Compatible API bucket name for stored blocks. - type: string - encryptsse: - description: Whether to use Server Side Encryption - type: boolean - endpoint: - description: S3-Compatible API endpoint for stored blocks. - type: string - insecure: - description: Whether to use an insecure connection with an S3-Compatible - API. - type: boolean - secretKey: - description: SecretKeySelector selects a key of a Secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - optional: - description: Specify whether the Secret or it's key must - be defined - type: boolean - required: - - key - signatureVersion2: - description: Whether to use S3 Signature Version 2; otherwise - Signature Version 4 will be used. - type: boolean + type: object sha: description: SHA of Thanos container image to be deployed. Defaults to the value of `version`. Similar to a tag, but the SHA explicitly @@ -3123,6 +3344,7 @@ spec: version: description: Version describes the version of Thanos to use. type: string + type: object tolerations: description: If specified, the pod's tolerations. items: @@ -3161,10 +3383,12 @@ spec: If the operator is Exists, the value should be empty, otherwise just a regular string. type: string + type: object type: array version: description: Version of Prometheus to be deployed. type: string + type: object status: description: 'PrometheusStatus is the most recent observed status of the Prometheus cluster. Read-only. Not included when requesting from the apiserver, @@ -3200,4 +3424,6 @@ spec: - updatedReplicas - availableReplicas - unavailableReplicas + type: object + type: object version: v1 diff --git a/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheusrules.yaml b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheusrules.yaml index 78dc7cb..b18506a 100644 --- a/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheusrules.yaml +++ b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-prometheusrules.yaml @@ -98,6 +98,7 @@ spec: type: string required: - name + type: object type: array result: description: Status is a return value for calls that don't return @@ -149,6 +150,7 @@ spec: cause of the error. If this value is empty there is no information available. type: string + type: object type: array group: description: The group attribute of the resource associated @@ -176,6 +178,7 @@ spec: description: 'UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids' type: string + type: object kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint @@ -216,6 +219,7 @@ spec: description: selfLink is a URL representing this object. Populated by the system. Read-only. type: string + type: object reason: description: A machine-readable description of why this operation is in the "Failure" status. If this value is empty there is @@ -226,13 +230,51 @@ spec: description: 'Status of the operation. One of: "Success" or "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status' type: string + type: object required: - pending + type: object labels: description: 'Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels' type: object + managedFields: + description: |- + ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object. + This field is alpha and can be changed or removed without notice. + items: + description: ManagedFieldsEntry is a workflow-id, a FieldSet and the + group version of the resource that the fieldset applies to. + properties: + apiVersion: + description: APIVersion defines the version of this resource that + this field set applies to. The format is "group/version" just + like the top-level APIVersion field. It is necessary to track + the version of a field set because it cannot be automatically + converted. + type: string + fields: + description: 'Fields stores a set of fields in a data structure + like a Trie. To understand how this is used, see: https://github.com/kubernetes-sigs/structured-merge-diff' + type: object + manager: + description: Manager is an identifier of the workflow managing + these fields. + type: string + operation: + description: Operation is the type of operation which lead to + this ManagedFieldsEntry being created. The only valid values + for this field are 'Apply' and 'Update'. + type: string + time: + description: Time is a wrapper around time.Time which supports + correct marshaling to YAML and JSON. Wrappers are provided + for many of the factory methods that the time package offers. + format: date-time + type: string + type: object + type: array name: description: 'Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to @@ -284,6 +326,7 @@ spec: - kind - name - uid + type: object type: array resourceVersion: description: |- @@ -299,6 +342,7 @@ spec: UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids type: string + type: object spec: description: PrometheusRuleSpec contains specification parameters for a Rule. @@ -333,9 +377,13 @@ spec: type: string required: - expr + type: object type: array required: - name - rules + type: object type: array + type: object + type: object version: v1 diff --git a/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-servicemonitor.yaml b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-servicemonitor.yaml index ccc67bf..95bf2f7 100644 --- a/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-servicemonitor.yaml +++ b/charts/rancher-monitoring/v0.0.4/charts/operator-init/files/crd-servicemonitor.yaml @@ -56,6 +56,7 @@ spec: type: boolean required: - key + type: object username: description: SecretKeySelector selects a key of a Secret. properties: @@ -72,6 +73,8 @@ spec: type: boolean required: - key + type: object + type: object bearerTokenFile: description: File to read bearer token for scraping targets. type: string @@ -125,6 +128,7 @@ spec: in a replace action. It is mandatory for replace actions. Regex capture groups are available. type: string + type: object type: array params: description: Optional HTTP URL parameters @@ -184,6 +188,7 @@ spec: in a replace action. It is mandatory for replace actions. Regex capture groups are available. type: string + type: object type: array scheme: description: HTTP scheme to use for scraping. @@ -213,6 +218,8 @@ spec: serverName: description: Used to verify the hostname for the targets. type: string + type: object + type: object type: array jobLabel: description: The label to use to retrieve the job name from. @@ -230,6 +237,7 @@ spec: items: type: string type: array + type: object podTargetLabels: description: PodTargetLabels transfers labels on the Kubernetes Pod onto the target. @@ -275,6 +283,7 @@ spec: required: - key - operator + type: object type: array matchLabels: description: matchLabels is a map of {key,value} pairs. A single @@ -283,6 +292,7 @@ spec: "In", and the values array contains only "value". The requirements are ANDed. type: object + type: object targetLabels: description: TargetLabels transfers labels on the Kubernetes Service onto the target. @@ -292,4 +302,6 @@ spec: required: - endpoints - selector + type: object + type: object version: v1 diff --git a/charts/rancher-monitoring/v0.0.4/charts/operator/templates/rbac.yaml b/charts/rancher-monitoring/v0.0.4/charts/operator/templates/rbac.yaml index c35efbd..561154e 100644 --- a/charts/rancher-monitoring/v0.0.4/charts/operator/templates/rbac.yaml +++ b/charts/rancher-monitoring/v0.0.4/charts/operator/templates/rbac.yaml @@ -21,6 +21,7 @@ rules: - prometheusrules - prometheuses/finalizers - alertmanagers/finalizers + - podmonitors verbs: - "*" - apiGroups: @@ -44,11 +45,13 @@ rules: - apiGroups: [""] resources: - services + - services/finalizers - endpoints verbs: - get - create - update + - delete - apiGroups: [""] resources: - nodes diff --git a/charts/rancher-monitoring/v0.0.4/templates/crds.yaml b/charts/rancher-monitoring/v0.0.4/templates/crds.yaml index f8e3e70..0429afd 100644 --- a/charts/rancher-monitoring/v0.0.4/templates/crds.yaml +++ b/charts/rancher-monitoring/v0.0.4/templates/crds.yaml @@ -75,5 +75,24 @@ spec: plural: servicemonitors scope: Namespaced version: v1 +--- +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: {{ printf "podmonitors.%s" (.Values.operator.apiGroup | default "monitoring.coreos.com") }} + labels: + app: {{ template "app.name" . }} + chart: {{ template "app.version" . }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + annotations: + "helm.sh/hook": crd-install +spec: + group: {{ .Values.operator.apiGroup | default "monitoring.coreos.com" }} + names: + kind: PodMonitor + plural: podmonitors + scope: Namespaced + version: v1 {{- end }} {{- end -}} diff --git a/charts/rancher-monitoring/v0.0.4/values.yaml b/charts/rancher-monitoring/v0.0.4/values.yaml index c37bf7f..6cbe615 100644 --- a/charts/rancher-monitoring/v0.0.4/values.yaml +++ b/charts/rancher-monitoring/v0.0.4/values.yaml @@ -4,10 +4,10 @@ operator: apiGroup: "monitoring.coreos.com" image: repository: rancher/coreos-prometheus-operator - tag: v0.29.0 + tag: v0.32.0 prometheusConfigReloader: repository: rancher/coreos-prometheus-config-reloader - tag: v0.29.0 + tag: v0.32.0 configmapReload: repository: rancher/coreos-configmap-reload tag: v0.0.1 -- GitLab