[bitnami/kube-prometheus] Update chart to work with v0.44 (#4613)

* [bitnami/kube-prometheus] Update chart to work with v0.44

* Remove unused values

* Update alertmanager with the proper crd

* [bitnami/kube-prometheus] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
Javier J. Salmerón-García
2020-12-04 17:54:47 +01:00
committed by GitHub
parent 64c5622d6d
commit d06e73d8a9
21 changed files with 13553 additions and 29057 deletions

View File

@@ -1,12 +1,12 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 1.0.1
version: 1.1.1
- name: node-exporter
repository: https://charts.bitnami.com/bitnami
version: 2.0.0
- name: kube-state-metrics
repository: https://charts.bitnami.com/bitnami
version: 1.0.0
digest: sha256:f8d96fe83a28603bff10014fff3bb9c26d157bd2873b32ac8fc4cbc6f83c7e24
generated: "2020-11-24T13:58:38.379466+01:00"
version: 1.1.0
digest: sha256:7229fa41055ab6ca96e88812693ed6bcfdb8434c5644d69f7699293d3e58f0a3
generated: "2020-12-04T16:28:33.891061998Z"

View File

@@ -1,7 +1,7 @@
annotations:
category: Analytics
apiVersion: v2
appVersion: 0.43.2
appVersion: 0.44.0
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
@@ -34,4 +34,4 @@ sources:
- https://github.com/bitnami/bitnami-docker-prometheus
- https://github.com/bitnami/bitnami-docker-alertmanager
- https://github.com/prometheus-operator/kube-prometheus
version: 3.1.2
version: 3.2.0

View File

@@ -64,338 +64,336 @@ The following table lists the configurable parameters of the kube-prometheus cha
### Global Parameters
| Parameter | Description | Default |
|-------------------------------|--------------------------------------------------------------------------------------------------------------|----------------------------------------------------------|
| `global.imageRegistry` | Global Docker image registry | `nil` |
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `global.storageClass` | Global storage class for dynamic provisioning | `nil` |
| `global.labels` | Additional labels to apply to all resource | `{}` |
| `nameOverride` | String to partially override `kube-prometheus.name` template with a string (will prepend the release name) | `nil` |
| `fullnameOverride` | String to fully override `kube-prometheus.fullname` template with a string | `nil` |
| `rbac.create` | Wether to create & use RBAC resources or not | `true` |
| `rbac.apiVersion` | Version of the RBAC API | `v1beta1` |
| `rbac.pspEnabled` | PodSecurityPolicy | `true` |
| Parameter | Description | Default |
|---------------------------|------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| `global.imageRegistry` | Global Docker image registry | `nil` |
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `global.storageClass` | Global storage class for dynamic provisioning | `nil` |
| `global.labels` | Additional labels to apply to all resource | `{}` |
| `nameOverride` | String to partially override `kube-prometheus.name` template with a string (will prepend the release name) | `nil` |
| `fullnameOverride` | String to fully override `kube-prometheus.fullname` template with a string | `nil` |
| `rbac.create` | Wether to create & use RBAC resources or not | `true` |
| `rbac.apiVersion` | Version of the RBAC API | `v1beta1` |
| `rbac.pspEnabled` | PodSecurityPolicy | `true` |
### Prometheus Operator Parameters
| Parameter | Description | Default |
|-------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
| `operator.enabled` | Deploy Prometheus Operator to the cluster | `true` |
| `operator.image.registry` | Prometheus Operator image registry | `docker.io` |
| `operator.image.repository` | Prometheus Operator Image name | `bitnami/prometheus-operator` |
| `operator.image.tag` | Prometheus Operator Image tag | `{TAG_NAME}` |
| `operator.image.pullPolicy` | Prometheus Operator image pull policy | `IfNotPresent` |
| `operator.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `operator.serviceAccount.create` | Specify whether to create a ServiceAccount for Prometheus Operator | `true` |
| `operator.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `kube-prometheus.operator.fullname` template |
| `operator.schedulerName` | Name of the k8s scheduler (other than default) | `nil` |
| `operator.securityContext.enabled` | Enable security context | `true` |
| `operator.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `operator.securityContext.runAsUser` | User ID for the container | `1001` |
| `operator.service.type` | Kubernetes service type | `ClusterIP` |
| `operator.service.port` | Prometheus Operator service port | `8080` |
| `operator.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
| `operator.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `operator.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `operator.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `operator.service.annotations` | Additional annotations for Prometheus Operator service | `{}` |
| `operator.createCustomResource` | Create Prometheus Operator CRD's. With helm v3 use the `--skip-crds` argument instead | `true` |
| `operator.customResourceDeletePolicy` | Prometheus Operator CRD deletion policy | `nil` |
| `operator.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus Operator | `true` |
| `operator.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `operator.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `operator.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `operator.resources` | CPU/Memory resource requests/limits for node | `{}` |
| `operator.podAnnotations` | Pod annotations | `{}` |
| `operator.podAffinityPreset` | Prometheus Operator Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `operator.podAntiAffinityPreset` | Prometheus Operator Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `operator.nodeAffinityPreset.type` | Prometheus Operator Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `operator.nodeAffinityPreset.key` | Prometheus Operator Node label key to match Ignored if `affinity` is set. | `""` |
| `operator.nodeAffinityPreset.values` | Prometheus Operator Node label values to match. Ignored if `affinity` is set. | `[]` |
| `operator.affinity` | Prometheus Operator Affinity for pod assignment | `{}` (evaluated as a template) |
| `operator.nodeSelector` | Prometheus Operator Node labels for pod assignment | `{}` (evaluated as a template) |
| `operator.tolerations` | Prometheus Operator Tolerations for pod assignment | `[]` (evaluated as a template) |
| `operator.priorityClassName` | Priority class assigned to the Pods | `nil` |
| `operator.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
| `operator.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `120` |
| `operator.livenessProbe.periodSeconds` | How often to perform the probe | `10` |
| `operator.livenessProbe.timeoutSeconds` | When the probe times out | `5` |
| `operator.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe | `6` |
| `operator.livenessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `operator.readinessProbe.enabled` | Turn on and off readiness probe | `true` |
| `operator.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `30` |
| `operator.readinessProbe.periodSeconds` | How often to perform the probe | `10` |
| `operator.readinessProbe.timeoutSeconds` | When the probe times out | `5` |
| `operator.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe | `6` |
| `operator.readinessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `operator.logLevel` | Log Level | `info` |
| `operator.logFormat` | Log Format | `logfmt` |
| `operator.kubeletService.enabled` | Whether to maintain a service for scraping kubelets | `true` |
| `operator.configReloaderCpu` | Set the prometheus config reloader side-car CPU limit. If unset, uses the kube-prometheus project default | `nil` |
| `operator.configReloaderMemory` | Set the prometheus config reloader side-car memory limit. If unset, uses the kube-prometheus project default | `nil` |
| `operator.kubeletService.namespace` | Namespace to deploy the kubelet service | `kube-system` |
| `operator.configmapReload.image.registry` | ConfigMap Reload image registry | `docker.io` |
| `operator.configmapReload.image.repository` | ConfigMap Reload Image name | `bitnami/configmap-reload` |
| `operator.configmapReload.image.tag` | ConfigMap Reload Image tag | `{TAG_NAME}` |
| `operator.configmapReload.image.pullPolicy` | ConfigMap Reload image pull policy | `IfNotPresent` |
| `operator.configmapReload.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `operator.prometheusConfigReloader.image.registry` | Prometheus Config Reloader image registry | same as `operator.image.registry` |
| `operator.prometheusConfigReloader.image.repository` | Prometheus Config Reloader Image name | same as `operator.image.repository` |
| `operator.prometheusConfigReloader.image.tag` | Prometheus Config Reloader Image tag | same as `operator.image.tag` |
| `operator.prometheusConfigReloader.image.pullPolicy` | Prometheus Config Reloader image pull policy | `IfNotPresent` |
| `operator.prometheusConfigReloader.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| Parameter | Description | Default |
|-------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|
| `operator.enabled` | Deploy Prometheus Operator to the cluster | `true` |
| `operator.image.registry` | Prometheus Operator image registry | `docker.io` |
| `operator.image.repository` | Prometheus Operator Image name | `bitnami/prometheus-operator` |
| `operator.image.tag` | Prometheus Operator Image tag | `{TAG_NAME}` |
| `operator.image.pullPolicy` | Prometheus Operator image pull policy | `IfNotPresent` |
| `operator.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `operator.serviceAccount.create` | Specify whether to create a ServiceAccount for Prometheus Operator | `true` |
| `operator.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `kube-prometheus.operator.fullname` template |
| `operator.schedulerName` | Name of the k8s scheduler (other than default) | `nil` |
| `operator.securityContext.enabled` | Enable security context | `true` |
| `operator.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `operator.securityContext.runAsUser` | User ID for the container | `1001` |
| `operator.service.type` | Kubernetes service type | `ClusterIP` |
| `operator.service.port` | Prometheus Operator service port | `8080` |
| `operator.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
| `operator.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `operator.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `operator.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `operator.service.annotations` | Additional annotations for Prometheus Operator service | `{}` |
| `operator.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus Operator | `true` |
| `operator.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `operator.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `operator.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `operator.resources` | CPU/Memory resource requests/limits for node | `{}` |
| `operator.podAnnotations` | Pod annotations | `{}` |
| `operator.podAffinityPreset` | Prometheus Operator Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `operator.podAntiAffinityPreset` | Prometheus Operator Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `operator.nodeAffinityPreset.type` | Prometheus Operator Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `operator.nodeAffinityPreset.key` | Prometheus Operator Node label key to match Ignored if `affinity` is set. | `""` |
| `operator.nodeAffinityPreset.values` | Prometheus Operator Node label values to match. Ignored if `affinity` is set. | `[]` |
| `operator.affinity` | Prometheus Operator Affinity for pod assignment | `{}` (evaluated as a template) |
| `operator.nodeSelector` | Prometheus Operator Node labels for pod assignment | `{}` (evaluated as a template) |
| `operator.tolerations` | Prometheus Operator Tolerations for pod assignment | `[]` (evaluated as a template) |
| `operator.priorityClassName` | Priority class assigned to the Pods | `nil` |
| `operator.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
| `operator.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `120` |
| `operator.livenessProbe.periodSeconds` | How often to perform the probe | `10` |
| `operator.livenessProbe.timeoutSeconds` | When the probe times out | `5` |
| `operator.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe | `6` |
| `operator.livenessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `operator.readinessProbe.enabled` | Turn on and off readiness probe | `true` |
| `operator.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `30` |
| `operator.readinessProbe.periodSeconds` | How often to perform the probe | `10` |
| `operator.readinessProbe.timeoutSeconds` | When the probe times out | `5` |
| `operator.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe | `6` |
| `operator.readinessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `operator.logLevel` | Log Level | `info` |
| `operator.logFormat` | Log Format | `logfmt` |
| `operator.kubeletService.enabled` | Whether to maintain a service for scraping kubelets | `true` |
| `operator.configReloaderCpu` | Set the prometheus config reloader side-car CPU limit. If unset, uses the kube-prometheus project default | `nil` |
| `operator.configReloaderMemory` | Set the prometheus config reloader side-car memory limit. If unset, uses the kube-prometheus project default | `nil` |
| `operator.kubeletService.namespace` | Namespace to deploy the kubelet service | `kube-system` |
| `operator.configmapReload.image.registry` | ConfigMap Reload image registry | `docker.io` |
| `operator.configmapReload.image.repository` | ConfigMap Reload Image name | `bitnami/configmap-reload` |
| `operator.configmapReload.image.tag` | ConfigMap Reload Image tag | `{TAG_NAME}` |
| `operator.configmapReload.image.pullPolicy` | ConfigMap Reload image pull policy | `IfNotPresent` |
| `operator.configmapReload.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `operator.prometheusConfigReloader.image.registry` | Prometheus Config Reloader image registry | same as `operator.image.registry` |
| `operator.prometheusConfigReloader.image.repository` | Prometheus Config Reloader Image name | same as `operator.image.repository` |
| `operator.prometheusConfigReloader.image.tag` | Prometheus Config Reloader Image tag | same as `operator.image.tag` |
| `operator.prometheusConfigReloader.image.pullPolicy` | Prometheus Config Reloader image pull policy | `IfNotPresent` |
| `operator.prometheusConfigReloader.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
### Prometheus Parameters
| Parameter | Description | Default |
|-------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `prometheus.enabled` | Deploy Prometheus to the cluster | `true` |
| `prometheus.image.registry` | Prometheus image registry | `docker.io` |
| `prometheus.image.repository` | Prometheus Image name | `bitnami/prometheus` |
| `prometheus.image.tag` | Prometheus Image tag | `{TAG_NAME}` |
| `prometheus.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `prometheus.serviceAccount.create` | Specify whether to create a ServiceAccount for Prometheus | `true` |
| `prometheus.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `kube-prometheus.prometheus.fullname` template |
| `prometheus.serviceAccount.annotations` | Additional annotations for created Prometheus ServiceAccount | `nil` |
| `prometheus.securityContext.enabled` | Enable security context | `true` |
| `prometheus.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `prometheus.securityContext.runAsUser` | User ID for the container | `1001` |
| `prometheus.podDisruptionBudget.enabled` | Create a pod disruption budget for Prometheus | `true` |
| `prometheus.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
| `prometheus.podDisruptionBudget.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `nil` |
| `prometheus.service.type` | Kubernetes service type | `ClusterIP` |
| `prometheus.service.port` | Prometheus service port | `9090` |
| `prometheus.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
| `prometheus.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `prometheus.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `prometheus.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `prometheus.service.annotations` | Additional annotations for Prometheus service (this value is evaluated as a template) | `{}` |
| `prometheus.stickySessions` | If `true` set Service `sessionAffinity: ClientIP` | `false` |
| `prometheus.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus itself | `true` |
| `prometheus.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `prometheus.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `prometheus.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `prometheus.ingress.enabled` | Enable ingress controller resource | `false` |
| `prometheus.ingress.certManager` | Add annotations for cert-manager | `false` |
| `prometheus.ingress.annotations` | Ingress annotations | `[]` |
| `prometheus.ingress.hosts[0].name` | Hostname to your Prometheus installation | `prometheus.local` |
| `prometheus.ingress.hosts[0].path` | Path within the url structure | `/` |
| `prometheus.ingress.tls[0].hosts[0]` | TLS hosts | `prometheus.local` |
| `prometheus.ingress.tls[0].secretName` | TLS Secret (certificates) | `prometheus.local-tls` |
| `prometheus.externalUrl` | External URL used to access Prometheus | Generated from `prometheus.ingress` or Service data |
| `prometheus.resources` | CPU/Memory resource requests/limits for node | `{}` |
| `prometheus.podAffinityPreset` | Prometheus Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `prometheus.podAntiAffinityPreset` | Prometheus Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `prometheus.nodeAffinityPreset.type` | Prometheus Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `prometheus.nodeAffinityPreset.key` | Prometheus Node label key to match Ignored if `affinity` is set. | `""` |
| `prometheus.nodeAffinityPreset.values` | Prometheus Node label values to match. Ignored if `affinity` is set. | `[]` |
| `prometheus.affinity` | Prometheus Affinity for pod assignment | `{}` (evaluated as a template) |
| `prometheus.nodeSelector` | Prometheus Node labels for pod assignment | `{}` (evaluated as a template) |
| `prometheus.tolerations` | Prometheus Tolerations for pod assignment | `[]` (evaluated as a template) |
| `prometheus.replicaCount` | Number of Prometheus replicas desired | `1` |
| `prometheus.logLevel` | Log level for Prometheus | `info` |
| `prometheus.logFormat` | Log format for Prometheus | `logfmt` |
| `prometheus.podMetadata` | Standard objects metadata | `{}` |
| `prometheus.scrapeInterval` | Interval between consecutive scrapes | `nil` |
| `prometheus.evaluationInterval` | Interval between consecutive evaluations | `nil` |
| `prometheus.listenLocal` | ListenLocal makes the Prometheus server listen on loopback | `false` |
| `prometheus.enableAdminAPI` | Enable Prometheus adminitrative API | `false` |
| `prometheus.alertingEndpoints` | Alertmanagers to which alerts will be sent | `[]` |
| `prometheus.externalLabels` | External labels to add to any time series | `{}` |
| `prometheus.replicaExternalLabelName` | Name of the external label used to denote replica name | `nil` |
| `prometheus.replicaExternalLabelNameClear` | Clear external label used to denote replica name | `false` |
| `prometheus.routePrefix` | Prefix used to register routes, overriding externalUrl route | `/` |
| `prometheus.prometheusExternalLabelName` | Name of the external label used to denote Prometheus instance name | `nil` |
| `prometheus.prometheusExternalLabelNameClear` | Clear external label used to denote Prometheus instance name | `false` |
| `prometheus.secrets` | Secrets that should be mounted into the Prometheus Pods | `[]` |
| `prometheus.configMaps` | ConfigMaps that should be mounted into the Prometheus Pods | `[]` |
| `prometheus.querySpec` | The query command line flags when starting Prometheus | `{}` |
| `prometheus.ruleNamespaceSelector` | Namespaces to be selected for PrometheusRules discovery | `{}` |
| `prometheus.ruleSelector` | PrometheusRules to be selected for target discovery | `{}` |
| `prometheus.serviceMonitorSelector` | If {}, select all ServiceMonitors | `{}` |
| `prometheus.serviceMonitorNamespaceSelector` | Namespaces to be selected for ServiceMonitor discovery | `{}` |
| `prometheus.podMonitorSelector` | If {}, select all PodMonitors | `{}` |
| `prometheus.podMonitorNamespaceSelector` | Namespaces to be selected for PodMonitor discovery | `{}` |
| `prometheus.probeSelector` | If {}, select all Probes | `{}` |
| `prometheus.probeNamespaceSelector` | Namespaces to be selected for Probe discovery | `{}` |
| `prometheus.retention` | Metrics retention days | `10d` |
| `prometheus.retentionSize` | Maximum size of metrics | `nil` |
| `prometheus.disableCompaction` | Disable the compaction of the Prometheus TSDB | `false` |
| `prometheus.walCompression` | Enable compression of the write-ahead log using Snappy | `false` |
| `prometheus.paused` | If true, the Operator won't process any Prometheus configuration changes | `false` |
| `prometheus.remoteRead` | The remote_read spec configuration for Prometheus | `[]` |
| `prometheus.remoteWrite` | The remote_write spec configuration for Prometheus | `[]` |
| `prometheus.storageSpec` | Prometheus StorageSpec for persistent data | `{}` |
| `prometheus.persistence.enabled` | Use PVCs to persist data. If the storageSpec is provided this will not take effect. | `false` |
| `prometheus.persistence.storageClass` | Persistent Volume Storage Class | `generic` |
| `prometheus.persistence.accessModes` | Persistent Volume Access Modes | `[ReadWriteOnce]` |
| `prometheus.persistence.size` | Persistent Volume Size | `8Gi` |
| `prometheus.priorityClassName` | Priority class assigned to the Pods | `` |
| `prometheus.containers` | Containers allows injecting additional containers | `[]` |
| `prometheus.volumes` | Volumes allows configuration of additonal volumes. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec) for details |
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec) for details |
| `prometheus.additionalPrometheusRules` | PrometheusRule defines recording and alerting rules for a Prometheus instance. | `[]` |
| `prometheus.additionalScrapeConfigsExternal.enabled` | Enable additional scrape configs that are managed externally to this chart | `false` See [docs](#additional-scrape-configurations) for details. |
| `prometheus.additionalScrapeConfigsExternal.name` | Name of the secret that Prometheus should use for the additional scrape configuration | `nil` |
| `prometheus.additionalScrapeConfigsExternal.key` | Name of the key inside the secret to be used for the additional scrape configuration | `nil` |
| `prometheus.additionalAlertRelabelConfigsExternal.enabled` | Enable additional Prometheus alert relabel configs that are managed externally to this chart | `false` See [docs](#additional-alert-relabel-configurations) for details. |
| `prometheus.additionalAlertRelabelConfigsExternal.name` | Name of the secret that Prometheus should use for the additional Prometheus alert relabel configuration | `nil` |
| `prometheus.additionalAlertRelabelConfigsExternal.key` | Name of the key inside the secret to be used for the additional Prometheus alert relabel configuration | `nil` |
| `prometheus.thanos.create` | Create a Thanos sidecar container | `false` |
| `prometheus.thanos.image.registry` | Thanos image registry | `docker.io` |
| `prometheus.thanos.image.repository` | Thanos image name | `bitnami/prometheus` |
| `prometheus.thanos.image.tag` | Thanos image tag | `{TAG_NAME}` |
| `prometheus.thanos.image.pullPolicy` | Thanos image pull policy | `IfNotPresent` |
| `prometheus.thanos.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `prometheus.thanos.extraArgs` | Additional arguments passed to the thanos sidecar container | `[]` |
| `prometheus.thanos.objectStorageConfig.secretName` | Defines the secretName to load. | `nil` |
| `prometheus.thanos.objectStorageConfig.secretKey` | Defines the key inside the secret which references the objectStorageConfig for the thanos sideCar | `nil` |
| `prometheus.thanos.service.port` | Thanos service port | `10901` |
| `prometheus.thanos.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` to create headless service by default. | `None` |
| `prometheus.thanos.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `prometheus.thanos.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `prometheus.thanos.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `prometheus.thanos.service.annotations` | Additional annotations for Prometheus service | `{}` |
| `prometheus.thanos.service.extraPorts` | Additional ports to expose from the Thanos sidecar container | `[]` |
| `prometheus.thanos.resources.limits` | The resources limits for the Thanos sidecar container | `{}` |
| `prometheus.thanos.resources.requests` | The resources requests for the Thanos sidecar container | `{}` |
| `prometheus.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus itself | `true` |
| Parameter | Description | Default |
|------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `prometheus.enabled` | Deploy Prometheus to the cluster | `true` |
| `prometheus.image.registry` | Prometheus image registry | `docker.io` |
| `prometheus.image.repository` | Prometheus Image name | `bitnami/prometheus` |
| `prometheus.image.tag` | Prometheus Image tag | `{TAG_NAME}` |
| `prometheus.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `prometheus.serviceAccount.create` | Specify whether to create a ServiceAccount for Prometheus | `true` |
| `prometheus.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `kube-prometheus.prometheus.fullname` template |
| `prometheus.serviceAccount.annotations` | Additional annotations for created Prometheus ServiceAccount | `nil` |
| `prometheus.securityContext.enabled` | Enable security context | `true` |
| `prometheus.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `prometheus.securityContext.runAsUser` | User ID for the container | `1001` |
| `prometheus.podDisruptionBudget.enabled` | Create a pod disruption budget for Prometheus | `true` |
| `prometheus.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
| `prometheus.podDisruptionBudget.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `nil` |
| `prometheus.service.type` | Kubernetes service type | `ClusterIP` |
| `prometheus.service.port` | Prometheus service port | `9090` |
| `prometheus.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
| `prometheus.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `prometheus.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `prometheus.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `prometheus.service.annotations` | Additional annotations for Prometheus service (this value is evaluated as a template) | `{}` |
| `prometheus.stickySessions` | If `true` set Service `sessionAffinity: ClientIP` | `false` |
| `prometheus.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus itself | `true` |
| `prometheus.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `prometheus.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `prometheus.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `prometheus.ingress.enabled` | Enable ingress controller resource | `false` |
| `prometheus.ingress.certManager` | Add annotations for cert-manager | `false` |
| `prometheus.ingress.annotations` | Ingress annotations | `[]` |
| `prometheus.ingress.hosts[0].name` | Hostname to your Prometheus installation | `prometheus.local` |
| `prometheus.ingress.hosts[0].path` | Path within the url structure | `/` |
| `prometheus.ingress.tls[0].hosts[0]` | TLS hosts | `prometheus.local` |
| `prometheus.ingress.tls[0].secretName` | TLS Secret (certificates) | `prometheus.local-tls` |
| `prometheus.externalUrl` | External URL used to access Prometheus | Generated from `prometheus.ingress` or Service data |
| `prometheus.resources` | CPU/Memory resource requests/limits for node | `{}` |
| `prometheus.podAffinityPreset` | Prometheus Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `prometheus.podAntiAffinityPreset` | Prometheus Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `prometheus.nodeAffinityPreset.type` | Prometheus Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `prometheus.nodeAffinityPreset.key` | Prometheus Node label key to match Ignored if `affinity` is set. | `""` |
| `prometheus.nodeAffinityPreset.values` | Prometheus Node label values to match. Ignored if `affinity` is set. | `[]` |
| `prometheus.affinity` | Prometheus Affinity for pod assignment | `{}` (evaluated as a template) |
| `prometheus.nodeSelector` | Prometheus Node labels for pod assignment | `{}` (evaluated as a template) |
| `prometheus.tolerations` | Prometheus Tolerations for pod assignment | `[]` (evaluated as a template) |
| `prometheus.replicaCount` | Number of Prometheus replicas desired | `1` |
| `prometheus.logLevel` | Log level for Prometheus | `info` |
| `prometheus.logFormat` | Log format for Prometheus | `logfmt` |
| `prometheus.podMetadata` | Standard objects metadata | `{}` |
| `prometheus.scrapeInterval` | Interval between consecutive scrapes | `nil` |
| `prometheus.evaluationInterval` | Interval between consecutive evaluations | `nil` |
| `prometheus.listenLocal` | ListenLocal makes the Prometheus server listen on loopback | `false` |
| `prometheus.enableAdminAPI` | Enable Prometheus adminitrative API | `false` |
| `prometheus.alertingEndpoints` | Alertmanagers to which alerts will be sent | `[]` |
| `prometheus.externalLabels` | External labels to add to any time series | `{}` |
| `prometheus.replicaExternalLabelName` | Name of the external label used to denote replica name | `nil` |
| `prometheus.replicaExternalLabelNameClear` | Clear external label used to denote replica name | `false` |
| `prometheus.routePrefix` | Prefix used to register routes, overriding externalUrl route | `/` |
| `prometheus.prometheusExternalLabelName` | Name of the external label used to denote Prometheus instance name | `nil` |
| `prometheus.prometheusExternalLabelNameClear` | Clear external label used to denote Prometheus instance name | `false` |
| `prometheus.secrets` | Secrets that should be mounted into the Prometheus Pods | `[]` |
| `prometheus.configMaps` | ConfigMaps that should be mounted into the Prometheus Pods | `[]` |
| `prometheus.querySpec` | The query command line flags when starting Prometheus | `{}` |
| `prometheus.ruleNamespaceSelector` | Namespaces to be selected for PrometheusRules discovery | `{}` |
| `prometheus.ruleSelector` | PrometheusRules to be selected for target discovery | `{}` |
| `prometheus.serviceMonitorSelector` | If {}, select all ServiceMonitors | `{}` |
| `prometheus.serviceMonitorNamespaceSelector` | Namespaces to be selected for ServiceMonitor discovery | `{}` |
| `prometheus.podMonitorSelector` | If {}, select all PodMonitors | `{}` |
| `prometheus.podMonitorNamespaceSelector` | Namespaces to be selected for PodMonitor discovery | `{}` |
| `prometheus.probeSelector` | If {}, select all Probes | `{}` |
| `prometheus.probeNamespaceSelector` | Namespaces to be selected for Probe discovery | `{}` |
| `prometheus.retention` | Metrics retention days | `10d` |
| `prometheus.retentionSize` | Maximum size of metrics | `nil` |
| `prometheus.disableCompaction` | Disable the compaction of the Prometheus TSDB | `false` |
| `prometheus.walCompression` | Enable compression of the write-ahead log using Snappy | `false` |
| `prometheus.paused` | If true, the Operator won't process any Prometheus configuration changes | `false` |
| `prometheus.remoteRead` | The remote_read spec configuration for Prometheus | `[]` |
| `prometheus.remoteWrite` | The remote_write spec configuration for Prometheus | `[]` |
| `prometheus.storageSpec` | Prometheus StorageSpec for persistent data | `{}` |
| `prometheus.persistence.enabled` | Use PVCs to persist data. If the storageSpec is provided this will not take effect. | `false` |
| `prometheus.persistence.storageClass` | Persistent Volume Storage Class | `generic` |
| `prometheus.persistence.accessModes` | Persistent Volume Access Modes | `[ReadWriteOnce]` |
| `prometheus.persistence.size` | Persistent Volume Size | `8Gi` |
| `prometheus.priorityClassName` | Priority class assigned to the Pods | `` |
| `prometheus.containers` | Containers allows injecting additional containers | `[]` |
| `prometheus.volumes` | Volumes allows configuration of additonal volumes. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec) for details |
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec) for details |
| `prometheus.additionalPrometheusRules` | PrometheusRule defines recording and alerting rules for a Prometheus instance. | `[]` |
| `prometheus.additionalScrapeConfigsExternal.enabled` | Enable additional scrape configs that are managed externally to this chart | `false` See [docs](#additional-scrape-configurations) for details. |
| `prometheus.additionalScrapeConfigsExternal.name` | Name of the secret that Prometheus should use for the additional scrape configuration | `nil` |
| `prometheus.additionalScrapeConfigsExternal.key` | Name of the key inside the secret to be used for the additional scrape configuration | `nil` |
| `prometheus.additionalAlertRelabelConfigsExternal.enabled` | Enable additional Prometheus alert relabel configs that are managed externally to this chart | `false` See [docs](#additional-alert-relabel-configurations) for details. |
| `prometheus.additionalAlertRelabelConfigsExternal.name` | Name of the secret that Prometheus should use for the additional Prometheus alert relabel configuration | `nil` |
| `prometheus.additionalAlertRelabelConfigsExternal.key` | Name of the key inside the secret to be used for the additional Prometheus alert relabel configuration | `nil` |
| `prometheus.thanos.create` | Create a Thanos sidecar container | `false` |
| `prometheus.thanos.image.registry` | Thanos image registry | `docker.io` |
| `prometheus.thanos.image.repository` | Thanos image name | `bitnami/prometheus` |
| `prometheus.thanos.image.tag` | Thanos image tag | `{TAG_NAME}` |
| `prometheus.thanos.image.pullPolicy` | Thanos image pull policy | `IfNotPresent` |
| `prometheus.thanos.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `prometheus.thanos.extraArgs` | Additional arguments passed to the thanos sidecar container | `[]` |
| `prometheus.thanos.objectStorageConfig.secretName` | Defines the secretName to load. | `nil` |
| `prometheus.thanos.objectStorageConfig.secretKey` | Defines the key inside the secret which references the objectStorageConfig for the thanos sideCar | `nil` |
| `prometheus.thanos.service.port` | Thanos service port | `10901` |
| `prometheus.thanos.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` to create headless service by default. | `None` |
| `prometheus.thanos.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `prometheus.thanos.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `prometheus.thanos.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `prometheus.thanos.service.annotations` | Additional annotations for Prometheus service | `{}` |
| `prometheus.thanos.service.extraPorts` | Additional ports to expose from the Thanos sidecar container | `[]` |
| `prometheus.thanos.resources.limits` | The resources limits for the Thanos sidecar container | `{}` |
| `prometheus.thanos.resources.requests` | The resources requests for the Thanos sidecar container | `{}` |
| `prometheus.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus itself | `true` |
### Alertmanager Parameters
| Parameter | Description | Default |
|-------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `alertmanager.enabled` | Deploy Alertmanager to the cluster | `true` |
| `alertmanager.image.registry` | Prometheus image registry | `docker.io` |
| `alertmanager.image.repository` | Prometheus Image name | `bitnami/alertmanager` |
| `alertmanager.image.tag` | Prometheus Image tag | `{TAG_NAME}` |
| `alertmanager.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `alertmanager.serviceAccount.create` | Specify whether to create a ServiceAccount for Alertmanager | `true` |
| `alertmanager.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `kube-prometheus.alertmanager.fullname` template |
| `alertmanager.serviceAccount.annotations` | Additional annotations for created Alertmanager ServiceAccount | `nil` |
| `alertmanager.securityContext.enabled` | Enable security context | `true` |
| `alertmanager.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `alertmanager.securityContext.runAsUser` | User ID for the container | `1001` |
| `alertmanager.podDisruptionBudget.enabled` | Create a pod disruption budget for Alertmanager | `true` |
| `alertmanager.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
| `alertmanager.podDisruptionBudget.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `nil` |
| `alertmanager.service.type` | Kubernetes service type | `ClusterIP` |
| `alertmanager.service.port` | Alertmanager service port | `9093` |
| `alertmanager.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
| `alertmanager.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `alertmanager.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `alertmanager.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `alertmanager.service.annotations` | Additional annotations for Alertmanager service (this value is evaluated as a template) | `{}` |
| `alertmanager.stickySessions` | If `true` set Service `sessionAffinity: ClientIP` | `false` |
| `alertmanager.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Alertmanager | `true` |
| `alertmanager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `alertmanager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `alertmanager.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `alertmanager.ingress.enabled` | Enable ingress controller resource | `false` |
| `alertmanager.ingress.certManager` | Add annotations for cert-manager | `false` |
| `alertmanager.ingress.annotations` | Ingress annotations | `[]` |
| `alertmanager.ingress.hosts[0].name` | Hostname to your Alertmanager installation | `alertmanager.local` |
| `alertmanager.ingress.hosts[0].path` | Path within the url structure | `/` |
| `alertmanager.ingress.tls[0].hosts[0]` | TLS hosts | `alertmanager.local` |
| `alertmanager.ingress.tls[0].secretName` | TLS Secret (certificates) | `alertmanager.local-tls` |
| `alertmanager.externalUrl` | External URL used to access Alertmanager | Generated from `alertmanager.ingress` or Service data |
| `alertmanager.resources` | CPU/Memory resource requests/limits for node | `{}` |
| `alertmanager.podAffinityPreset` | Alertmanager Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `alertmanager.podAntiAffinityPreset` | Alertmanager Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `alertmanager.nodeAffinityPreset.type` | Alertmanager Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `alertmanager.nodeAffinityPreset.key` | Alertmanager Node label key to match Ignored if `affinity` is set. | `""` |
| `alertmanager.nodeAffinityPreset.values` | Alertmanager Node label values to match. Ignored if `affinity` is set. | `[]` |
| `alertmanager.affinity` | Alertmanager Affinity for pod assignment | `{}` (evaluated as a template) |
| `alertmanager.nodeSelector` | Alertmanager Node labels for pod assignment | `{}` (evaluated as a template) |
| `alertmanager.tolerations` | Alertmanager Tolerations for pod assignment | `[]` (evaluated as a template) |
| `alertmanager.config` | Alertmanager configuration directive | `{"global":{"resolve_timeout":"5m"},"route":{"group_by":["job"],"group_wait":"30s","group_interval":"5m","repeat_interval":"12h","receiver":"null","routes":[{"match":{"alertname":"Watchdog"},"receiver":"null"}]},"receivers":[{"name":"null"}]}` |
| `alertmanager.externalConfig` | Alertmanager configuration is created externally. If true, `alertmanager.config` is ignored, and a secret will not be created. | `false` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/alerting.md) for details |
| `alertmanager.replicaCount` | Number of Alertmanager replicas desired | `1` |
| `alertmanager.logLevel` | Log level for Alertmanager | `info` |
| `alertmanager.logFormat` | Log format for Alertmanager | `logfmt` |
| `alertmanager.podMetadata` | Standard objects metadata | `{}` |
| `alertmanager.secrets` | Secrets that should be mounted into the Alertmanager Pods | `[]` |
| `alertmanager.configMaps` | ConfigMaps that should be mounted into the Alertmanager Pods | `[]` |
| `alertmanager.retention` | Metrics retention days | `10d` |
| `alertmanager.storageSpec` | Alertmanager StorageSpec for persistent data | `{}` |
| `alertmanager.persistence.enabled` | Use PVCs to persist data. If the storageSpec is provided this will not take effect. | `false` |
| `alertmanager.persistence.storageClass` | Persistent Volume Storage Class | `generic` |
| `alertmanager.persistence.accessModes` | Persistent Volume Access Modes | `[ReadWriteOnce]` |
| `alertmanager.persistence.size` | Persistent Volume Size | `8Gi` |
| `alertmanager.paused` | If true, the Operator won't process any Alertmanager configuration changes | `false` |
| `alertmanager.listenLocal` | ListenLocal makes the Alertmanager server listen on loopback | `false` |
| `alertmanager.containers` | Containers allows injecting additional containers | `[]` |
| `prometheus.volumes` | Volumes allows configuration of additonal volumes. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
| `alertmanager.priorityClassName` | Priority class assigned to the Pods | `` |
| `alertmanager.additionalPeers` | AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster | `[]` |
| `alertmanager.templateFiles` | Template files as `filename: template` for Alertmanager (will be mounted under `/etc/alertmanager/config`) | `{}` |
| Parameter | Description | Default |
|---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `alertmanager.enabled` | Deploy Alertmanager to the cluster | `true` |
| `alertmanager.image.registry` | Prometheus image registry | `docker.io` |
| `alertmanager.image.repository` | Prometheus Image name | `bitnami/alertmanager` |
| `alertmanager.image.tag` | Prometheus Image tag | `{TAG_NAME}` |
| `alertmanager.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
| `alertmanager.serviceAccount.create` | Specify whether to create a ServiceAccount for Alertmanager | `true` |
| `alertmanager.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `kube-prometheus.alertmanager.fullname` template |
| `alertmanager.serviceAccount.annotations` | Additional annotations for created Alertmanager ServiceAccount | `nil` |
| `alertmanager.securityContext.enabled` | Enable security context | `true` |
| `alertmanager.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `alertmanager.securityContext.runAsUser` | User ID for the container | `1001` |
| `alertmanager.podDisruptionBudget.enabled` | Create a pod disruption budget for Alertmanager | `true` |
| `alertmanager.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
| `alertmanager.podDisruptionBudget.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `nil` |
| `alertmanager.service.type` | Kubernetes service type | `ClusterIP` |
| `alertmanager.service.port` | Alertmanager service port | `9093` |
| `alertmanager.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
| `alertmanager.service.nodePort` | Kubernetes Service nodePort | `nil` |
| `alertmanager.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
| `alertmanager.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `alertmanager.service.annotations` | Additional annotations for Alertmanager service (this value is evaluated as a template) | `{}` |
| `alertmanager.stickySessions` | If `true` set Service `sessionAffinity: ClientIP` | `false` |
| `alertmanager.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Alertmanager | `true` |
| `alertmanager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `alertmanager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `alertmanager.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `alertmanager.ingress.enabled` | Enable ingress controller resource | `false` |
| `alertmanager.ingress.certManager` | Add annotations for cert-manager | `false` |
| `alertmanager.ingress.annotations` | Ingress annotations | `[]` |
| `alertmanager.ingress.hosts[0].name` | Hostname to your Alertmanager installation | `alertmanager.local` |
| `alertmanager.ingress.hosts[0].path` | Path within the url structure | `/` |
| `alertmanager.ingress.tls[0].hosts[0]` | TLS hosts | `alertmanager.local` |
| `alertmanager.ingress.tls[0].secretName` | TLS Secret (certificates) | `alertmanager.local-tls` |
| `alertmanager.externalUrl` | External URL used to access Alertmanager | Generated from `alertmanager.ingress` or Service data |
| `alertmanager.resources` | CPU/Memory resource requests/limits for node | `{}` |
| `alertmanager.podAffinityPreset` | Alertmanager Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `alertmanager.podAntiAffinityPreset` | Alertmanager Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `alertmanager.nodeAffinityPreset.type` | Alertmanager Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `alertmanager.nodeAffinityPreset.key` | Alertmanager Node label key to match Ignored if `affinity` is set. | `""` |
| `alertmanager.nodeAffinityPreset.values` | Alertmanager Node label values to match. Ignored if `affinity` is set. | `[]` |
| `alertmanager.affinity` | Alertmanager Affinity for pod assignment | `{}` (evaluated as a template) |
| `alertmanager.nodeSelector` | Alertmanager Node labels for pod assignment | `{}` (evaluated as a template) |
| `alertmanager.tolerations` | Alertmanager Tolerations for pod assignment | `[]` (evaluated as a template) |
| `alertmanager.config` | Alertmanager configuration directive | `{"global":{"resolve_timeout":"5m"},"route":{"group_by":["job"],"group_wait":"30s","group_interval":"5m","repeat_interval":"12h","receiver":"null","routes":[{"match":{"alertname":"Watchdog"},"receiver":"null"}]},"receivers":[{"name":"null"}]}` |
| `alertmanager.externalConfig` | Alertmanager configuration is created externally. If true, `alertmanager.config` is ignored, and a secret will not be created. | `false` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/alerting.md) for details |
| `alertmanager.replicaCount` | Number of Alertmanager replicas desired | `1` |
| `alertmanager.logLevel` | Log level for Alertmanager | `info` |
| `alertmanager.logFormat` | Log format for Alertmanager | `logfmt` |
| `alertmanager.podMetadata` | Standard objects metadata | `{}` |
| `alertmanager.secrets` | Secrets that should be mounted into the Alertmanager Pods | `[]` |
| `alertmanager.configMaps` | ConfigMaps that should be mounted into the Alertmanager Pods | `[]` |
| `alertmanager.retention` | Metrics retention days | `10d` |
| `alertmanager.storageSpec` | Alertmanager StorageSpec for persistent data | `{}` |
| `alertmanager.persistence.enabled` | Use PVCs to persist data. If the storageSpec is provided this will not take effect. | `false` |
| `alertmanager.persistence.storageClass` | Persistent Volume Storage Class | `generic` |
| `alertmanager.persistence.accessModes` | Persistent Volume Access Modes | `[ReadWriteOnce]` |
| `alertmanager.persistence.size` | Persistent Volume Size | `8Gi` |
| `alertmanager.paused` | If true, the Operator won't process any Alertmanager configuration changes | `false` |
| `alertmanager.listenLocal` | ListenLocal makes the Alertmanager server listen on loopback | `false` |
| `alertmanager.containers` | Containers allows injecting additional containers | `[]` |
| `prometheus.volumes` | Volumes allows configuration of additonal volumes. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` See [docs](https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
| `alertmanager.priorityClassName` | Priority class assigned to the Pods | `` |
| `alertmanager.additionalPeers` | AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster | `[]` |
| `alertmanager.templateFiles` | Template files as `filename: template` for Alertmanager (will be mounted under `/etc/alertmanager/config`) | `{}` |
### Exporters
| Parameter | Description | Default |
|----------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|---------------|
| `exporters.enabled` | Deploy exporters | `true` |
| `exporters.node-exporter.enabled` | Deploy `node-exporter` | `true` |
| `exporters.kube-state-metrics.enabled` | Deploy `kube-state-metrics` | `true` |
| `kubelet.namespace` | Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` | `kube-system` |
| `kubelet.enabled` | Create a ServiceMonitor to scrape kubelet service | `true` |
| `kubelet.serviceMonitor.https` | Enable scraping of the kubelet over HTTPS | `true` |
| `kubelet.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubelet.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubelet.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Metric relabeling for scraping cAdvisor | `[]` |
| `kubelet.serviceMonitor.cAdvisorRelabelings` | Relabel configs for scraping cAdvisor | `[]` |
| `kubeApiServer.enabled` | Create a ServiceMonitor to scrape kube-apiserver service | `true` |
| `kubeApiServer.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubeApiServer.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeApiServer.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeControllerManager.enabled` | Create a ServiceMonitor to scrape kube-controller-manager service | `true` |
| `kubeControllerManager.endpoints` | If your kube controller manager is not deployed as a pod, specify IPs it can be found on | `[]` |
| `kubeControllerManager.namespace` | Namespace where kube-controller-manager service is deployed. | `kube-system` |
| `kubeControllerManager.service.enabled` | Whether or not to create a Service object for kube-controller-manager | 'true' |
| `kubeControllerManager.service.port` | Listening port of the kube-controller-manager Service object | '10252' |
| `kubeControllerManager.service.targetPort` | Port to target on the kube-controller-manager Pods. This should be the port that kube-controller-manager is exposing metrics on | '10252' |
| `kubeControllerManager.service.selector` | Optional PODs Label selector for the service | 'nil' |
| `kubeControllerManager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubeControllerManager.serviceMonitor.https` | Enable scraping kube-controller-manager over https | `false` |
| `kubeControllerManager.serviceMonitor.insecureSkipVerify`| Skip TLS certificate validation when scraping | `nil` |
| `kubeControllerManager.serviceMonitor.serverName` | Name of the server to use when validating TLS certificate | `nil` |
| `kubeControllerManager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeControllerManager.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeScheduler.enabled` | Create a ServiceMonitor to scrape kube-scheduler service | `true` |
| `kubeScheduler.endpoints` | If your kube scheduler is not deployed as a pod, specify IPs it can be found on | `[]` |
| `kubeScheduler.namespace` | Namespace where kube-scheduler service is deployed. | `kube-system` |
| `kubeScheduler.service.enabled` | Whether or not to create a Service object for kube-scheduler | 'true' |
| `kubeScheduler.service.port` | Listening port of the kube scheduler Service object | '10251' |
| `kubeScheduler.service.targetPort` | Port to target on the kube scheduler Pods. This should be the port that kube scheduler is exposing metrics on | '10251' |
| `kubeScheduler.service.selector` | Optional PODs Label selector for the service | 'nil' |
| `kubeScheduler.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubeScheduler.serviceMonitor.https` | Enable scraping kube-scheduler over https | `false` |
| `kubeScheduler.serviceMonitor.insecureSkipVerify` | Skip TLS certificate validation when scraping | `nil` |
| `kubeScheduler.serviceMonitor.serverName` | Name of the server to use when validating TLS certificate | `nil` |
| `kubeScheduler.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeScheduler.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `coreDns.enabled` | Create a ServiceMonitor to scrape coredns service | `true` |
| `coreDns.namespace` | Namespace where core dns service is deployed. | `kube-system` |
| `coreDns.service.enabled` | Whether or not to create a Service object for coredns | 'true' |
| `coreDns.service.port` | Listening port of the coredns Service object | '9153' |
| `coreDns.service.targetPort` | Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on | '9153' |
| `coreDns.service.selector` | Optional PODs Label selector for the service | 'nil' |
| `coreDns.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `coreDns.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `coreDns.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeProxy.enabled` | Create a ServiceMonitor to scrape the kube-proxy Service | `true` |
| `kubeProxy.endpoints` | If your kube-proxy is not deployed as a pod, specify IPs it can be found on | `[]` |
| `kubeProxy.namespace` | Namespace where cube-proxy service is deployed. | `kube-system` |
| `kubeProxy.service.enabled` | Whether or not to create a Service object for kube-proxy | `true` |
| `kubeProxy.service.port` | Listening port of the kube-proxy Service object | `10249` |
| `kubeProxy.service.targetPort` | Port to target on the kube-proxy Pods. This should be the port that kube-proxy is listening on | `10249` |
| `kubeProxy.service.selector` | Service label selector to discover the kube-proxy Pods | `{}` |
| `kubeProxy.serviceMonitor.enabled` | Create a ServiceMonitor object | `true` |
| `kubeProxy.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `kubeProxy.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeProxy.serviceMonitor.relabelings` | Relabel configs | `[]` |
| Parameter | Description | Default |
|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|---------------|
| `exporters.enabled` | Deploy exporters | `true` |
| `exporters.node-exporter.enabled` | Deploy `node-exporter` | `true` |
| `exporters.kube-state-metrics.enabled` | Deploy `kube-state-metrics` | `true` |
| `kubelet.namespace` | Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` | `kube-system` |
| `kubelet.enabled` | Create a ServiceMonitor to scrape kubelet service | `true` |
| `kubelet.serviceMonitor.https` | Enable scraping of the kubelet over HTTPS | `true` |
| `kubelet.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubelet.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubelet.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Metric relabeling for scraping cAdvisor | `[]` |
| `kubelet.serviceMonitor.cAdvisorRelabelings` | Relabel configs for scraping cAdvisor | `[]` |
| `kubeApiServer.enabled` | Create a ServiceMonitor to scrape kube-apiserver service | `true` |
| `kubeApiServer.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubeApiServer.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeApiServer.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeControllerManager.enabled` | Create a ServiceMonitor to scrape kube-controller-manager service | `true` |
| `kubeControllerManager.endpoints` | If your kube controller manager is not deployed as a pod, specify IPs it can be found on | `[]` |
| `kubeControllerManager.namespace` | Namespace where kube-controller-manager service is deployed. | `kube-system` |
| `kubeControllerManager.service.enabled` | Whether or not to create a Service object for kube-controller-manager | 'true' |
| `kubeControllerManager.service.port` | Listening port of the kube-controller-manager Service object | '10252' |
| `kubeControllerManager.service.targetPort` | Port to target on the kube-controller-manager Pods. This should be the port that kube-controller-manager is exposing metrics on | '10252' |
| `kubeControllerManager.service.selector` | Optional PODs Label selector for the service | 'nil' |
| `kubeControllerManager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubeControllerManager.serviceMonitor.https` | Enable scraping kube-controller-manager over https | `false` |
| `kubeControllerManager.serviceMonitor.insecureSkipVerify` | Skip TLS certificate validation when scraping | `nil` |
| `kubeControllerManager.serviceMonitor.serverName` | Name of the server to use when validating TLS certificate | `nil` |
| `kubeControllerManager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeControllerManager.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeScheduler.enabled` | Create a ServiceMonitor to scrape kube-scheduler service | `true` |
| `kubeScheduler.endpoints` | If your kube scheduler is not deployed as a pod, specify IPs it can be found on | `[]` |
| `kubeScheduler.namespace` | Namespace where kube-scheduler service is deployed. | `kube-system` |
| `kubeScheduler.service.enabled` | Whether or not to create a Service object for kube-scheduler | 'true' |
| `kubeScheduler.service.port` | Listening port of the kube scheduler Service object | '10251' |
| `kubeScheduler.service.targetPort` | Port to target on the kube scheduler Pods. This should be the port that kube scheduler is exposing metrics on | '10251' |
| `kubeScheduler.service.selector` | Optional PODs Label selector for the service | 'nil' |
| `kubeScheduler.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `kubeScheduler.serviceMonitor.https` | Enable scraping kube-scheduler over https | `false` |
| `kubeScheduler.serviceMonitor.insecureSkipVerify` | Skip TLS certificate validation when scraping | `nil` |
| `kubeScheduler.serviceMonitor.serverName` | Name of the server to use when validating TLS certificate | `nil` |
| `kubeScheduler.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeScheduler.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `coreDns.enabled` | Create a ServiceMonitor to scrape coredns service | `true` |
| `coreDns.namespace` | Namespace where core dns service is deployed. | `kube-system` |
| `coreDns.service.enabled` | Whether or not to create a Service object for coredns | 'true' |
| `coreDns.service.port` | Listening port of the coredns Service object | '9153' |
| `coreDns.service.targetPort` | Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on | '9153' |
| `coreDns.service.selector` | Optional PODs Label selector for the service | 'nil' |
| `coreDns.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
| `coreDns.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `coreDns.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeProxy.enabled` | Create a ServiceMonitor to scrape the kube-proxy Service | `true` |
| `kubeProxy.endpoints` | If your kube-proxy is not deployed as a pod, specify IPs it can be found on | `[]` |
| `kubeProxy.namespace` | Namespace where cube-proxy service is deployed. | `kube-system` |
| `kubeProxy.service.enabled` | Whether or not to create a Service object for kube-proxy | `true` |
| `kubeProxy.service.port` | Listening port of the kube-proxy Service object | `10249` |
| `kubeProxy.service.targetPort` | Port to target on the kube-proxy Pods. This should be the port that kube-proxy is listening on | `10249` |
| `kubeProxy.service.selector` | Service label selector to discover the kube-proxy Pods | `{}` |
| `kubeProxy.serviceMonitor.enabled` | Create a ServiceMonitor object | `true` |
| `kubeProxy.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `kubeProxy.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeProxy.serviceMonitor.relabelings` | Relabel configs | `[]` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,11 @@
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.44.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: podmonitors.monitoring.coreos.com
spec:
@@ -14,337 +17,337 @@ spec:
singular: podmonitor
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: PodMonitor defines monitoring for a set of pods.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired Pod selection for target discovery by Prometheus.
properties:
jobLabel:
description: The label to use to retrieve the job name from.
type: string
namespaceSelector:
description: Selector to select which namespaces the Endpoints objects are discovered from.
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:
basicAuth:
description: 'BasicAuth allow an endpoint to authenticate over basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint'
properties:
password:
description: The secret in the service monitor namespace that contains the password for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
username:
description: The secret in the service monitor namespace that contains the username for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
bearerTokenSecret:
description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the pod monitor and accessible by the Prometheus Operator.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
honorLabels:
description: HonorLabels chooses the metric's labels on collisions with target labels.
type: boolean
honorTimestamps:
description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
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 `<metric_relabel_configs>`-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. Default 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:
additionalProperties:
items:
type: string
type: array
description: Optional HTTP URL parameters
type: object
path:
description: HTTP path to scrape for metrics.
type: string
port:
description: Name of the pod 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 `<metric_relabel_configs>`-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. Default 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: integer
- type: string
description: 'Deprecated: Use ''port'' instead.'
x-kubernetes-int-or-string: true
tlsConfig:
description: TLS configuration to use when scraping the endpoint.
properties:
ca:
description: Struct containing the CA cert to use for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
cert:
description: Struct containing the client cert file for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keySecret:
description: Secret containing the client key file for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
serverName:
description: Used to verify the hostname for the targets.
type: string
type: object
type: object
type: array
podTargetLabels:
description: PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
items:
- name: v1
schema:
openAPIV3Schema:
description: PodMonitor defines monitoring for a set of pods.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: Specification of desired Pod selection for target discovery by Prometheus.
properties:
jobLabel:
description: The label to use to retrieve the job name from.
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: Selector to select Pod 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.
namespaceSelector:
description: Selector to select which namespaces the Endpoints objects are discovered from.
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:
basicAuth:
description: "BasicAuth allow an endpoint to authenticate over basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint"
properties:
password:
description: The secret in the service monitor namespace that contains the password for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
username:
description: The secret in the service monitor namespace that contains the username for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
bearerTokenSecret:
description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the pod monitor and accessible by the Prometheus Operator.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
honorLabels:
description: HonorLabels chooses the metric's labels on collisions with target labels.
type: boolean
honorTimestamps:
description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
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 `<metric_relabel_configs>`-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. Default 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:
additionalProperties:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
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.
description: Optional HTTP URL parameters
type: object
path:
description: HTTP path to scrape for metrics.
type: string
port:
description: Name of the pod 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 `<metric_relabel_configs>`-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. Default 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: integer
- type: string
description: "Deprecated: Use 'port' instead."
x-kubernetes-int-or-string: true
tlsConfig:
description: TLS configuration to use when scraping the endpoint.
properties:
ca:
description: Struct containing the CA cert to use for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
cert:
description: Struct containing the client cert file for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keySecret:
description: Secret containing the client key file for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
serverName:
description: Used to verify the hostname for the targets.
type: string
type: object
type: object
type: object
targetLimit:
description: TargetLimit defines a limit on the number of scraped targets that will be accepted.
format: int64
type: integer
required:
- podMetricsEndpoints
- selector
type: object
required:
- spec
type: object
served: true
storage: true
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: Selector to select Pod 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:
additionalProperties:
type: string
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
targetLimit:
description: TargetLimit defines a limit on the number of scraped targets that will be accepted.
format: int64
type: integer
required:
- podMetricsEndpoints
- selector
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""

View File

@@ -1,8 +1,11 @@
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.44.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: probes.monitoring.coreos.com
spec:
@@ -14,196 +17,150 @@ spec:
singular: probe
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: Probe defines monitoring for a set of static targets or ingresses.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired Ingress selection for target discovery
by Prometheus.
properties:
interval:
description: Interval at which targets are probed using the configured
prober. If not specified Prometheus' global scrape interval is used.
type: string
jobName:
description: The job name assigned to scraped metrics by default.
type: string
module:
description: 'The module to use for probing specifying how to probe
the target. Example module configuring in the blackbox exporter:
https://github.com/prometheus/blackbox_exporter/blob/master/example.yml'
type: string
prober:
description: Specification for the prober to use for probing targets.
The prober.URL parameter is required. Targets cannot be probed if
left empty.
properties:
path:
description: Path to collect metrics from. Defaults to `/probe`.
type: string
scheme:
description: HTTP scheme to use for scraping. Defaults to `http`.
type: string
url:
description: Mandatory URL of the prober.
type: string
required:
- url
type: object
scrapeTimeout:
description: Timeout for scraping metrics from the Prometheus exporter.
type: string
targets:
description: Targets defines a set of static and/or dynamically discovered
targets to be probed using the prober.
properties:
ingress:
description: Ingress defines the set of dynamically discovered
ingress objects which hosts are considered for probing.
properties:
namespaceSelector:
description: Select Ingress objects by namespace.
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
relabelingConfigs:
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 `<metric_relabel_configs>`-section of Prometheus
configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
- name: v1
schema:
openAPIV3Schema:
description: Probe defines monitoring for a set of static targets or ingresses.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: Specification of desired Ingress selection for target discovery by Prometheus.
properties:
interval:
description: Interval at which targets are probed using the configured prober. If not specified Prometheus' global scrape interval is used.
type: string
jobName:
description: The job name assigned to scraped metrics by default.
type: string
module:
description: "The module to use for probing specifying how to probe the target. Example module configuring in the blackbox exporter: https://github.com/prometheus/blackbox_exporter/blob/master/example.yml"
type: string
prober:
description: Specification for the prober to use for probing targets. The prober.URL parameter is required. Targets cannot be probed if left empty.
properties:
path:
description: Path to collect metrics from. Defaults to `/probe`.
type: string
scheme:
description: HTTP scheme to use for scraping. Defaults to `http`.
type: string
url:
description: Mandatory URL of the prober.
type: string
required:
- url
type: object
scrapeTimeout:
description: Timeout for scraping metrics from the Prometheus exporter.
type: string
targets:
description: Targets defines a set of static and/or dynamically discovered targets to be probed using the prober.
properties:
ingress:
description: Ingress defines the set of dynamically discovered ingress objects which hosts are considered for probing.
properties:
namespaceSelector:
description: Select Ingress objects by namespace.
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. Default 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.
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
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
selector:
description: Select Ingress objects by labels.
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.
relabelingConfigs:
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 `<metric_relabel_configs>`-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. Default 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
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:
additionalProperties:
type: string
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: 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: object
type: object
staticConfig:
description: 'StaticConfig defines static targets which are considers
for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.'
properties:
labels:
additionalProperties:
type: string
description: Labels assigned to all metrics scraped from the
targets.
type: object
static:
description: Targets is a list of URLs to probe using the
configured prober.
items:
type: string
type: array
type: object
type: object
type: object
required:
- spec
type: object
served: true
storage: true
type: array
selector:
description: Select Ingress objects by labels.
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:
additionalProperties:
type: string
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
type: object
staticConfig:
description: "StaticConfig defines static targets which are considers for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config."
properties:
labels:
additionalProperties:
type: string
description: Labels assigned to all metrics scraped from the targets.
type: object
static:
description: Targets is a list of URLs to probe using the configured prober.
items:
type: string
type: array
type: object
type: object
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""

File diff suppressed because it is too large Load Diff

View File

@@ -1,8 +1,11 @@
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.44.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: prometheusrules.monitoring.coreos.com
spec:
@@ -14,78 +17,71 @@ spec:
singular: prometheusrule
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: PrometheusRule defines alerting rules for a Prometheus instance
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired alerting rule definitions for Prometheus.
properties:
groups:
description: Content of Prometheus rule file
items:
description: 'RuleGroup is a list of sequentially evaluated recording
and alerting rules. Note: PartialResponseStrategy is only used
by ThanosRuler and will be ignored by Prometheus instances. Valid
values for this field are ''warn'' or ''abort''. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response'
properties:
interval:
type: string
name:
type: string
partial_response_strategy:
type: string
rules:
items:
description: Rule describes an alerting or recording rule.
properties:
alert:
type: string
annotations:
additionalProperties:
- name: v1
schema:
openAPIV3Schema:
description: PrometheusRule defines recording and alerting rules for a Prometheus instance
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: Specification of desired alerting rule definitions for Prometheus.
properties:
groups:
description: Content of Prometheus rule file
items:
description: "RuleGroup is a list of sequentially evaluated recording and alerting rules. Note: PartialResponseStrategy is only used by ThanosRuler and will be ignored by Prometheus instances. Valid values for this field are 'warn' or 'abort'. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response"
properties:
interval:
type: string
name:
type: string
partial_response_strategy:
type: string
rules:
items:
description: Rule describes an alerting or recording rule.
properties:
alert:
type: string
type: object
expr:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
for:
type: string
labels:
additionalProperties:
annotations:
additionalProperties:
type: string
type: object
expr:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
for:
type: string
type: object
record:
type: string
required:
- expr
type: object
type: array
required:
- name
- rules
type: object
type: array
type: object
required:
- spec
type: object
served: true
storage: true
labels:
additionalProperties:
type: string
type: object
record:
type: string
required:
- expr
type: object
type: array
required:
- name
- rules
type: object
type: array
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""

View File

@@ -1,8 +1,11 @@
# https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.44.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: servicemonitors.monitoring.coreos.com
spec:
@@ -14,354 +17,354 @@ spec:
singular: servicemonitor
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: ServiceMonitor defines monitoring for a set of services.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired Service selection for target discovery by Prometheus.
properties:
endpoints:
description: A list of endpoints allowed as part of this ServiceMonitor.
items:
description: Endpoint defines a scrapeable endpoint serving Prometheus metrics.
properties:
basicAuth:
description: 'BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
properties:
password:
description: The secret in the service monitor namespace that contains the password for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
username:
description: The secret in the service monitor namespace that contains the username for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
bearerTokenFile:
description: File to read bearer token for scraping targets.
type: string
bearerTokenSecret:
description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service monitor and accessible by the Prometheus Operator.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
honorLabels:
description: HonorLabels chooses the metric's labels on collisions with target labels.
type: boolean
honorTimestamps:
description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
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 `<metric_relabel_configs>`-section of Prometheus configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs'
- name: v1
schema:
openAPIV3Schema:
description: ServiceMonitor defines monitoring for a set of services.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds"
type: string
metadata:
type: object
spec:
description: Specification of desired Service selection for target discovery by Prometheus.
properties:
endpoints:
description: A list of endpoints allowed as part of this ServiceMonitor.
items:
description: Endpoint defines a scrapeable endpoint serving Prometheus metrics.
properties:
basicAuth:
description: "BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints"
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. Default 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
password:
description: The secret in the service monitor namespace that contains the password for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
username:
description: The secret in the service monitor namespace that contains the username for authentication.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
type: array
params:
additionalProperties:
bearerTokenFile:
description: File to read bearer token for scraping targets.
type: string
bearerTokenSecret:
description: Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service monitor and accessible by the Prometheus Operator.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
honorLabels:
description: HonorLabels chooses the metric's labels on collisions with target labels.
type: boolean
honorTimestamps:
description: HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
type: boolean
interval:
description: Interval at which metrics should be scraped
type: string
metricRelabelings:
description: MetricRelabelConfigs to apply to samples before ingestion.
items:
type: string
description: "RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines `<metric_relabel_configs>`-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. Default 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
description: Optional HTTP URL parameters
type: object
path:
description: HTTP path to scrape for metrics.
type: string
port:
description: Name of the service 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 scraping. 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 `<metric_relabel_configs>`-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. Default 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: integer
- type: string
description: Name or number of the target port of the Pod behind the Service, the port must be specified with container port property. Mutually exclusive with port.
x-kubernetes-int-or-string: true
tlsConfig:
description: TLS configuration to use when scraping the endpoint
properties:
ca:
description: Struct containing the CA cert to use for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
caFile:
description: Path to the CA cert in the Prometheus container to use for the targets.
type: string
cert:
description: Struct containing the client cert file for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
certFile:
description: Path to the client cert file in the Prometheus container for the targets.
type: string
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keyFile:
description: Path to the client key file in the Prometheus container for the targets.
type: string
keySecret:
description: Secret containing the client key file for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
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.
type: string
namespaceSelector:
description: Selector to select which namespaces the Endpoints objects are discovered from.
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
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: Selector to select Endpoints 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.
params:
additionalProperties:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
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.
description: Optional HTTP URL parameters
type: object
path:
description: HTTP path to scrape for metrics.
type: string
port:
description: Name of the service 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 scraping. 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 `<metric_relabel_configs>`-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. Default 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: integer
- type: string
description: Name or number of the target port of the Pod behind the Service, the port must be specified with container port property. Mutually exclusive with port.
x-kubernetes-int-or-string: true
tlsConfig:
description: TLS configuration to use when scraping the endpoint
properties:
ca:
description: Struct containing the CA cert to use for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
caFile:
description: Path to the CA cert in the Prometheus container to use for the targets.
type: string
cert:
description: Struct containing the client cert file for the targets.
properties:
configMap:
description: ConfigMap containing data to use for the targets.
properties:
key:
description: The key to select.
type: string
name:
description: "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the ConfigMap or its key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
type: object
certFile:
description: Path to the client cert file in the Prometheus container for the targets.
type: string
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keyFile:
description: Path to the client key file in the Prometheus container for the targets.
type: string
keySecret:
description: Secret containing the client key file for the targets.
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 TODO: Add other useful fields. apiVersion, kind, uid?"
type: string
optional:
description: Specify whether the Secret or its key must be defined
type: boolean
required:
- key
type: object
serverName:
description: Used to verify the hostname for the targets.
type: string
type: object
type: object
type: object
targetLabels:
description: TargetLabels transfers labels on the Kubernetes Service onto the target.
items:
type: array
jobLabel:
description: The label to use to retrieve the job name from.
type: string
type: array
targetLimit:
description: TargetLimit defines a limit on the number of scraped targets that will be accepted.
format: int64
type: integer
required:
- endpoints
- selector
type: object
required:
- spec
type: object
served: true
storage: true
namespaceSelector:
description: Selector to select which namespaces the Endpoints objects are discovered from.
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
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: Selector to select Endpoints 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:
additionalProperties:
type: string
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
targetLabels:
description: TargetLabels transfers labels on the Kubernetes Service onto the target.
items:
type: string
type: array
targetLimit:
description: TargetLimit defines a limit on the number of scraped targets that will be accepted.
format: int64
type: integer
required:
- endpoints
- selector
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""

File diff suppressed because it is too large Load Diff

View File

@@ -1,271 +0,0 @@
{{- if and .Values.operator.enabled .Values.operator.createCustomResource -}}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: podmonitors.monitoring.coreos.com
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
"helm.sh/hook": crd-install
{{- if .Values.operator.customResourceDeletePolicy }}
"helm.sh/hook-delete-policy": {{ .Values.operator.customResourceDeletePolicy }}
{{- end }}
spec:
group: monitoring.coreos.com
names:
kind: PodMonitor
listKind: PodMonitorList
plural: podmonitors
singular: podmonitor
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: PodMonitor defines monitoring for a set of pods.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired Pod selection for target discovery
by Prometheus.
properties:
jobLabel:
description: The label to use to retrieve the job name from.
type: string
namespaceSelector:
description: Selector to select which namespaces the Endpoints objects
are discovered from.
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
honorTimestamps:
description: HonorTimestamps controls whether Prometheus respects
the timestamps present in scraped data.
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 `<metric_relabel_configs>`-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. Default 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:
additionalProperties:
items:
type: string
type: array
description: Optional HTTP URL parameters
type: object
path:
description: HTTP path to scrape for metrics.
type: string
port:
description: Name of the pod 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 `<metric_relabel_configs>`-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. Default 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: integer
- type: string
description: 'Deprecated: Use ''port'' instead.'
x-kubernetes-int-or-string: true
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: Selector to select Pod 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:
additionalProperties:
type: string
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
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
{{- end }}

View File

@@ -1,218 +0,0 @@
{{- if and .Values.operator.enabled .Values.operator.createCustomResource -}}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: probes.monitoring.coreos.com
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
"helm.sh/hook": crd-install
{{- if .Values.operator.customResourceDeletePolicy }}
"helm.sh/hook-delete-policy": {{ .Values.operator.customResourceDeletePolicy }}
{{- end }}
spec:
group: monitoring.coreos.com
names:
kind: Probe
listKind: ProbeList
plural: probes
singular: probe
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: Probe defines monitoring for a set of static targets or ingresses.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired Ingress selection for target discovery
by Prometheus.
properties:
interval:
description: Interval at which targets are probed using the configured
prober. If not specified Prometheus' global scrape interval is used.
type: string
jobName:
description: The job name assigned to scraped metrics by default.
type: string
module:
description: 'The module to use for probing specifying how to probe
the target. Example module configuring in the blackbox exporter:
https://github.com/prometheus/blackbox_exporter/blob/master/example.yml'
type: string
prober:
description: Specification for the prober to use for probing targets.
The prober.URL parameter is required. Targets cannot be probed if
left empty.
properties:
path:
description: Path to collect metrics from. Defaults to `/probe`.
type: string
scheme:
description: HTTP scheme to use for scraping. Defaults to `http`.
type: string
url:
description: Mandatory URL of the prober.
type: string
required:
- url
type: object
scrapeTimeout:
description: Timeout for scraping metrics from the Prometheus exporter.
type: string
targets:
description: Targets defines a set of static and/or dynamically discovered
targets to be probed using the prober.
properties:
ingress:
description: Ingress defines the set of dynamically discovered
ingress objects which hosts are considered for probing.
properties:
namespaceSelector:
description: Select Ingress objects by namespace.
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
relabelingConfigs:
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 `<metric_relabel_configs>`-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. Default 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
selector:
description: Select Ingress objects by labels.
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:
additionalProperties:
type: string
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
type: object
staticConfig:
description: 'StaticConfig defines static targets which are considers
for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.'
properties:
labels:
additionalProperties:
type: string
description: Labels assigned to all metrics scraped from the
targets.
type: object
static:
description: Targets is a list of URLs to probe using the
configured prober.
items:
type: string
type: array
type: object
type: object
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
{{- end }}

View File

@@ -1,100 +0,0 @@
{{- if and .Values.operator.enabled .Values.operator.createCustomResource -}}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: prometheusrules.monitoring.coreos.com
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
"helm.sh/hook": crd-install
{{- if .Values.operator.customResourceDeletePolicy }}
"helm.sh/hook-delete-policy": {{ .Values.operator.customResourceDeletePolicy }}
{{- end }}
spec:
group: monitoring.coreos.com
names:
kind: PrometheusRule
listKind: PrometheusRuleList
plural: prometheusrules
singular: prometheusrule
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: PrometheusRule defines alerting rules for a Prometheus instance
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired alerting rule definitions for Prometheus.
properties:
groups:
description: Content of Prometheus rule file
items:
description: 'RuleGroup is a list of sequentially evaluated recording
and alerting rules. Note: PartialResponseStrategy is only used
by ThanosRuler and will be ignored by Prometheus instances. Valid
values for this field are ''warn'' or ''abort''. More info: https://github.com/thanos-io/thanos/blob/master/docs/components/rule.md#partial-response'
properties:
interval:
type: string
name:
type: string
partial_response_strategy:
type: string
rules:
items:
description: Rule describes an alerting or recording rule.
properties:
alert:
type: string
annotations:
additionalProperties:
type: string
type: object
expr:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
for:
type: string
labels:
additionalProperties:
type: string
type: object
record:
type: string
required:
- expr
type: object
type: array
required:
- name
- rules
type: object
type: array
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
{{- end }}

View File

@@ -1,471 +0,0 @@
{{- if and .Values.operator.enabled .Values.operator.createCustomResource -}}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: servicemonitors.monitoring.coreos.com
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
"helm.sh/hook": crd-install
{{- if .Values.operator.customResourceDeletePolicy }}
"helm.sh/hook-delete-policy": {{ .Values.operator.customResourceDeletePolicy }}
{{- end }}
spec:
group: monitoring.coreos.com
names:
kind: ServiceMonitor
listKind: ServiceMonitorList
plural: servicemonitors
singular: servicemonitor
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
description: ServiceMonitor defines monitoring for a set of services.
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Specification of desired Service selection for target discovery
by Prometheus.
properties:
endpoints:
description: A list of endpoints allowed as part of this ServiceMonitor.
items:
description: Endpoint defines a scrapeable endpoint serving Prometheus
metrics.
properties:
basicAuth:
description: 'BasicAuth allow an endpoint to authenticate over
basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints'
properties:
password:
description: The secret in the service monitor namespace
that contains the password for authentication.
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
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must
be defined
type: boolean
required:
- key
type: object
username:
description: The secret in the service monitor namespace
that contains the username for authentication.
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
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must
be defined
type: boolean
required:
- key
type: object
type: object
bearerTokenFile:
description: File to read bearer token for scraping targets.
type: string
bearerTokenSecret:
description: Secret to mount to read bearer token for scraping
targets. The secret needs to be in the same namespace as the
service monitor and accessible by the Prometheus Operator.
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
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must
be defined
type: boolean
required:
- key
type: object
honorLabels:
description: HonorLabels chooses the metric's labels on collisions
with target labels.
type: boolean
honorTimestamps:
description: HonorTimestamps controls whether Prometheus respects
the timestamps present in scraped data.
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 `<metric_relabel_configs>`-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. Default 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:
additionalProperties:
items:
type: string
type: array
description: Optional HTTP URL parameters
type: object
path:
description: HTTP path to scrape for metrics.
type: string
port:
description: Name of the service 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 scraping.
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 `<metric_relabel_configs>`-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. Default 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: integer
- type: string
description: Name or number of the pod port this endpoint refers
to. Mutually exclusive with port.
x-kubernetes-int-or-string: true
tlsConfig:
description: TLS configuration to use when scraping the endpoint
properties:
ca:
description: Stuct containing the CA cert to use for the
targets.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
type: object
caFile:
description: Path to the CA cert in the Prometheus container
to use for the targets.
type: string
cert:
description: Struct containing the client cert file for
the targets.
properties:
configMap:
description: ConfigMap containing data to use for the
targets.
properties:
key:
description: The key to select.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the ConfigMap or its
key must be defined
type: boolean
required:
- key
type: object
secret:
description: Secret containing data to use for the targets.
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
TODO: Add other useful fields. apiVersion, kind,
uid?'
type: string
optional:
description: Specify whether the Secret or its key
must be defined
type: boolean
required:
- key
type: object
type: object
certFile:
description: Path to the client cert file in the Prometheus
container for the targets.
type: string
insecureSkipVerify:
description: Disable target certificate validation.
type: boolean
keyFile:
description: Path to the client key file in the Prometheus
container for the targets.
type: string
keySecret:
description: Secret containing the client key file for the
targets.
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
TODO: Add other useful fields. apiVersion, kind, uid?'
type: string
optional:
description: Specify whether the Secret or its key must
be defined
type: boolean
required:
- key
type: object
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.
type: string
namespaceSelector:
description: Selector to select which namespaces the Endpoints objects
are discovered from.
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
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: Selector to select Endpoints 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:
additionalProperties:
type: string
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
targetLabels:
description: TargetLabels transfers labels on the Kubernetes Service
onto the target.
items:
type: string
type: array
required:
- endpoints
- selector
type: object
required:
- spec
type: object
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
{{- end }}

View File

@@ -68,7 +68,6 @@ spec:
{{- if .Values.operator.logLevel }}
- --log-level={{ .Values.operator.logLevel }}
{{- end }}
- --logtostderr=true
- --localhost=127.0.0.1
- --config-reloader-image=$(CONFIG_RELOADER_IMAGE)
- --prometheus-config-reloader=$(PROMETHEUS_CONFIG_RELOADER)

View File

@@ -42,7 +42,7 @@ operator:
image:
registry: docker.io
repository: bitnami/prometheus-operator
tag: 0.43.2-debian-10-r3
tag: 0.44.0-debian-10-r0
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -244,7 +244,7 @@ operator:
image:
registry: docker.io
repository: bitnami/configmap-reload
tag: 0.4.0-debian-10-r103
tag: 0.4.0-debian-10-r124
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
@@ -275,7 +275,7 @@ prometheus:
image:
registry: docker.io
repository: bitnami/prometheus
tag: 2.22.1-debian-10-r6
tag: 2.23.0-debian-10-r2
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
@@ -738,7 +738,7 @@ prometheus:
image:
registry: docker.io
repository: bitnami/thanos
tag: 0.16.0-scratch-r1
tag: 0.17.1-scratch-r0
## Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
@@ -823,7 +823,7 @@ alertmanager:
image:
registry: docker.io
repository: bitnami/alertmanager
tag: 0.21.0-debian-10-r136
tag: 0.21.0-debian-10-r156
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/

View File

@@ -42,7 +42,7 @@ operator:
image:
registry: docker.io
repository: bitnami/prometheus-operator
tag: 0.43.2-debian-10-r3
tag: 0.44.0-debian-10-r0
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -107,18 +107,11 @@ operator:
##
annotations: {}
## Create Prometheus Operator CRDs
createCustomResource: true
## Prometheus Operator CRD deletion policy
## ref: https://v3.helm.sh/docs/topics/charts_hooks/
##
# customResourceDeletePolicy: before-hook-creation
## Create a servicemonitor for the operator
##
serviceMonitor:
## Creates a ServiceMonitor to monitor Prometheus Operator
##
enabled: true
## Scrape interval. If not set, the Prometheus default scrape interval is used.
@@ -160,6 +153,7 @@ operator:
nodeAffinityPreset:
## Node affinity type
## Allowed values: soft, hard
##
type: ""
## Node label key to match
## E.g.
@@ -239,7 +233,7 @@ operator:
image:
registry: docker.io
repository: bitnami/configmap-reload
tag: 0.4.0-debian-10-r103
tag: 0.4.0-debian-10-r124
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
@@ -270,7 +264,7 @@ prometheus:
image:
registry: docker.io
repository: bitnami/prometheus
tag: 2.22.1-debian-10-r6
tag: 2.23.0-debian-10-r2
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
@@ -343,6 +337,7 @@ prometheus:
serviceMonitor:
## Creates a ServiceMonitor to monitor Prometheus itself
##
enabled: true
## Scrape interval. If not set, the Prometheus default scrape interval is used.
@@ -366,9 +361,11 @@ prometheus:
##
ingress:
## Set to true to enable ingress record generation
##
enabled: false
## Set this to true in order to add the corresponding annotations for cert-manager
##
certManager: false
## Ingress annotations done as key:value pairs
@@ -377,11 +374,13 @@ prometheus:
##
## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set
## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set
##
annotations: {}
# kubernetes.io/ingress.class: nginx
## The list of hostnames to be covered with this ingress record.
## Most likely this will be just one host, but in the event more hosts are needed, this is an array
##
hosts:
- name: prometheus.local
path: /
@@ -392,6 +391,7 @@ prometheus:
## - hosts:
## - prometheus.local
## secretName: prometheus.local-tls
##
tls: {}
## If not creating an ingress but still exposing the service some other way (like a proxy)
@@ -423,6 +423,7 @@ prometheus:
nodeAffinityPreset:
## Node affinity type
## Allowed values: soft, hard
##
type: ""
## Node label key to match
## E.g.
@@ -647,10 +648,12 @@ prometheus:
## Volumes allows configuration of additonal volumes
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
##
volumes: []
## VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
##
volumeMounts: []
## PrometheusRule defines recording and alerting rules for a Prometheus instance.
@@ -733,7 +736,7 @@ prometheus:
image:
registry: docker.io
repository: bitnami/thanos
tag: 0.16.0-scratch-r1
tag: 0.17.1-scratch-r0
## Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
@@ -752,6 +755,7 @@ prometheus:
## Support mounting a Secret for the objectStorageConfig of the sideCar container.
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/thanos.md
##
objectStorageConfig: {}
# secretName: thanos-objstore-config
# secretKey: thanos.yaml
@@ -764,6 +768,7 @@ prometheus:
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
##
limits: {}
# cpu: 100m
# memory: 128Mi
@@ -824,7 +829,7 @@ alertmanager:
image:
registry: docker.io
repository: bitnami/alertmanager
tag: 0.21.0-debian-10-r136
tag: 0.21.0-debian-10-r156
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
@@ -895,6 +900,7 @@ alertmanager:
##
serviceMonitor:
## Creates a ServiceMonitor to monitor Alertmanager
##
enabled: true
## Scrape interval. If not set, the Prometheus default scrape interval is used.
@@ -918,9 +924,11 @@ alertmanager:
##
ingress:
## Set to true to enable ingress record generation
##
enabled: false
## Set this to true in order to add the corresponding annotations for cert-manager
##
certManager: false
## Ingress annotations done as key:value pairs
@@ -929,11 +937,13 @@ alertmanager:
##
## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set
## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set
##
annotations: {}
# kubernetes.io/ingress.class: nginx
## The list of hostnames to be covered with this ingress record.
## Most likely this will be just one host, but in the event more hosts are needed, this is an array
##
hosts:
- name: alertmanager.local
path: /
@@ -944,6 +954,7 @@ alertmanager:
## - hosts:
## - alertmanager.local
## secretName: alertmanager.local-tls
##
tls: {}
## If not creating an ingress but still exposing the service some other way (like a proxy)
@@ -975,6 +986,7 @@ alertmanager:
nodeAffinityPreset:
## Node affinity type
## Allowed values: soft, hard
##
type: ""
## Node label key to match
## E.g.
@@ -1106,10 +1118,12 @@ alertmanager:
## Volumes allows configuration of additonal volumes. Evaluated as a template
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec
##
volumes: []
## VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/pi.md#alertmanagerspec
##
volumeMounts: []
## Priority class assigned to the Pods
@@ -1121,16 +1135,20 @@ alertmanager:
additionalPeers: []
## Exporters
##
exporters:
node-exporter:
## Enable node-exporter
##
enabled: true
kube-state-metrics:
## Enable kube-state-metrics
##
enabled: true
## Node Exporter deployment configuration
##
node-exporter:
service:
labels:
@@ -1149,8 +1167,10 @@ kube-state-metrics:
enabled: true
## Component scraping the kube-apiserver
##
kubeApiServer:
## Create a ServiceMonitor to scrape kube-apiserver service
##
enabled: true
serviceMonitor:
@@ -1170,8 +1190,10 @@ kubeApiServer:
relabelings: []
## Component scraping the kube-controller-manager
##
kubeControllerManager:
## Create a ServiceMonitor to scrape kube-controller-manager service
##
enabled: true
## If your kube controller manager is not deployed as a pod, specify IPs it can be found on
@@ -1182,9 +1204,11 @@ kubeControllerManager:
# - 10.141.4.24
## Namespace where kube-controller-manager service is deployed
##
namespace: kube-system
## Service ports and selector information
##
service:
enabled: true
port: 10252
@@ -1223,6 +1247,7 @@ kubeControllerManager:
##
kubeScheduler:
## Create a ServiceMonitor to scrape kube-scheduler service
##
enabled: true
## If your kube scheduler is not deployed as a pod, specify IPs it can be found on
@@ -1233,6 +1258,7 @@ kubeScheduler:
# - 10.141.4.24
## Namespace where kube-scheduler service is deployed
##
namespace: kube-system
## If using kubeScheduler.endpoints only the port and targetPort are used
@@ -1254,9 +1280,11 @@ kubeScheduler:
https: false
## Skip TLS certificate validation when scraping
##
insecureSkipVerify: null
## Name of the server to use when validating TLS certificate
##
serverName: null
## metric relabel configs to apply to samples before ingestion.
@@ -1282,9 +1310,11 @@ coreDns:
enabled: true
## Namespace where coreDns service is deployed
##
namespace: kube-system
## Create a ServiceMonitor to scrape coredns service
##
service:
enabled: true
port: 9153
@@ -1315,20 +1345,25 @@ coreDns:
# action: replace
## Component scraping the kube-proxy
##
kubeProxy:
## Create a ServiceMonitor to scrape kube-proxy service
##
enabled: true
## If your kube-proxy is not deployed as a pod, specify IPs it can be found on
##
endpoints: []
# - 10.141.4.22
# - 10.141.4.23
# - 10.141.4.24
## Namespace where kube-proxy service is deployed
##
namespace: kube-system
## Service ports and selector information
##
service:
enabled: true
port: 10249
@@ -1360,13 +1395,16 @@ kubeProxy:
# Component scraping for kubelet and kubelet hosted cAdvisor
kubelet:
## Create a ServiceMonitor to scrape kubelet service
##
enabled: true
## Namespace where kubelet service is deployed
##
namespace: kube-system
serviceMonitor:
## Scrape kubelet over https
##
https: true
## Scrape interval. If not set, the Prometheus default scrape interval is used.