[bitnami/kube-prometheus] Standardize kube-prometheus (#10309)

* [bitnami/kube-prometheus] Chart standardised

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* [bitnami/kube-prometheus] Chart standardised

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Update README

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Implement missing parameters

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Update README.md with readme-generator-for-helm

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

* Apply common.names.namespace

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Fix issue

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Fix issue

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Update README.md with readme-generator-for-helm

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

* Update README.md with readme-generator-for-helm

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

* Update VIB runtime parameters

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Update VIB runtime parameters

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* Remove test file

Signed-off-by: Miguel Ruiz <miruiz@vmware.com>

* [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:
Miguel Ruiz
2022-05-27 15:38:22 +02:00
committed by GitHub
parent 18f9389f3a
commit 43a25bba3f
61 changed files with 1545 additions and 666 deletions

View File

@@ -35,4 +35,4 @@ sources:
- https://github.com/bitnami/bitnami-docker-prometheus
- https://github.com/bitnami/bitnami-docker-alertmanager
- https://github.com/prometheus-operator/kube-prometheus
version: 6.13.3
version: 7.0.0

View File

@@ -73,16 +73,20 @@ The command removes all the Kubernetes components associated with the chart and
| `global.imageRegistry` | Global Docker image registry | `""` |
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` |
| `global.storageClass` | Global StorageClass for Persistent Volume(s) | `""` |
| `global.labels` | Additional labels to apply to all resources | `{}` |
### Common parameters
| Name | Description | Value |
| ------------------ | ---------------------------------------------------------------------------------------------------------- | ----- |
| `nameOverride` | String to partially override `kube-prometheus.name` template with a string (will prepend the release name) | `""` |
| `fullnameOverride` | String to fully override `kube-prometheus.fullname` template with a string | `""` |
| `extraDeploy` | Array of extra objects to deploy with the release | `[]` |
| Name | Description | Value |
| ------------------- | ---------------------------------------------------------------------------------------------------------- | --------------- |
| `kubeVersion` | Force target Kubernetes version (using Helm capabilities if not set) | `""` |
| `nameOverride` | String to partially override `kube-prometheus.name` template with a string (will prepend the release name) | `""` |
| `fullnameOverride` | String to fully override `kube-prometheus.fullname` template with a string | `""` |
| `namespaceOverride` | String to fully override common.names.namespace | `""` |
| `commonAnnotations` | Annotations to add to all deployed objects | `{}` |
| `commonLabels` | Labels to add to all deployed objects | `{}` |
| `extraDeploy` | Array of extra objects to deploy with the release | `[]` |
| `clusterDomain` | Kubernetes cluster domain name | `cluster.local` |
### Prometheus Operator Parameters
@@ -92,14 +96,28 @@ The command removes all the Kubernetes components associated with the chart and
| `operator.enabled` | Deploy Prometheus Operator to the cluster | `true` |
| `operator.image.registry` | Prometheus Operator image registry | `docker.io` |
| `operator.image.repository` | Prometheus Operator image repository | `bitnami/prometheus-operator` |
| `operator.image.tag` | Prometheus Operator Image tag (immutable tags are recommended) | `0.56.2-debian-10-r8` |
| `operator.image.tag` | Prometheus Operator Image tag (immutable tags are recommended) | `0.56.3-debian-10-r0` |
| `operator.image.pullPolicy` | Prometheus Operator image pull policy | `IfNotPresent` |
| `operator.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `operator.extraArgs` | Additional arguments passed to Prometheus Operator | `[]` |
| `operator.command` | Override default container command (useful when using custom images) | `[]` |
| `operator.args` | Override default container args (useful when using custom images) | `[]` |
| `operator.lifecycleHooks` | for the Prometheus Operator container(s) to automate configuration before or after startup | `{}` |
| `operator.extraEnvVars` | Array with extra environment variables to add to Prometheus Operator nodes | `[]` |
| `operator.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for Prometheus Operator nodes | `""` |
| `operator.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for Prometheus Operator nodes | `""` |
| `operator.extraVolumes` | Optionally specify extra list of additional volumes for the Prometheus Operator pod(s) | `[]` |
| `operator.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Prometheus Operator container(s) | `[]` |
| `operator.sidecars` | Add additional sidecar containers to the Prometheus Operator pod(s) | `[]` |
| `operator.initContainers` | Add additional init containers to the Prometheus Operator pod(s) | `[]` |
| `operator.hostAliases` | Add deployment host aliases | `[]` |
| `operator.serviceAccount.create` | Specify whether to create a ServiceAccount for Prometheus Operator | `true` |
| `operator.serviceAccount.name` | The name of the ServiceAccount to create | `""` |
| `operator.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` |
| `operator.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if `create` is `true`. | `{}` |
| `operator.schedulerName` | Name of the Kubernetess scheduler (other than default) | `""` |
| `operator.terminationGracePeriodSeconds` | In seconds, time the given to the Prometheus Operator pod needs to terminate gracefully | `""` |
| `operator.topologySpreadConstraints` | Topology Spread Constraints for pod assignment | `[]` |
| `operator.podSecurityContext.enabled` | Enable pod security context | `true` |
| `operator.podSecurityContext.runAsUser` | User ID for the container | `1001` |
| `operator.podSecurityContext.fsGroup` | Group ID for the container filesystem | `1001` |
@@ -109,18 +127,24 @@ The command removes all the Kubernetes components associated with the chart and
| `operator.containerSecurityContext.allowPrivilegeEscalation` | Switch privilegeEscalation possibility on or off | `false` |
| `operator.containerSecurityContext.readOnlyRootFilesystem` | Mount / (root) as a readonly filesystem | `false` |
| `operator.service.type` | Kubernetes service type | `ClusterIP` |
| `operator.service.port` | Prometheus Operator service port | `8080` |
| `operator.service.ports.http` | Prometheus Operator service port | `8080` |
| `operator.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `""` |
| `operator.service.nodePort` | Kubernetes Service nodePort | `""` |
| `operator.service.nodePorts.http` | Kubernetes Service nodePort | `""` |
| `operator.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `""` |
| `operator.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `operator.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
| `operator.service.healthCheckNodePort` | Specifies the health check node port (numeric port number) for the service if `externalTrafficPolicy` is set to Local. | `""` |
| `operator.service.annotations` | Additional annotations for Prometheus Operator service | `{}` |
| `operator.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
| `operator.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `operator.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `operator.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus Operator | `true` |
| `operator.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `operator.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `operator.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `operator.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `""` |
| `operator.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` |
| `operator.serviceMonitor.annotations` | Extra annotations for the ServiceMonitor | `{}` |
| `operator.resources` | Configure resource requests and limits | `{}` |
| `operator.podAffinityPreset` | Pod affinity preset | `""` |
| `operator.podAntiAffinityPreset` | Prometheus Operator Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
@@ -130,21 +154,30 @@ The command removes all the Kubernetes components associated with the chart and
| `operator.affinity` | Prometheus Operator Affinity for pod assignment | `{}` |
| `operator.nodeSelector` | Prometheus Operator Node labels for pod assignment | `{}` |
| `operator.tolerations` | Prometheus Operator Tolerations for pod assignment | `[]` |
| `operator.podAnnotations` | Annotations for Prometheus Operator pods | `{}` |
| `operator.podLabels` | Extra labels for Prometheus Operator pods | `{}` |
| `operator.priorityClassName` | Priority class assigned to the Pods | `""` |
| `operator.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
| `operator.livenessProbe.path` | Path of the HTTP service for checking the healthy state | `/metrics` |
| `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.path` | Path of the HTTP service for checking the ready state | `/metrics` |
| `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.startupProbe.enabled` | Turn on and off startup probe | `false` |
| `operator.startupProbe.initialDelaySeconds` | Delay before startup probe is initiated | `30` |
| `operator.startupProbe.periodSeconds` | How often to perform the probe | `10` |
| `operator.startupProbe.timeoutSeconds` | When the probe times out | `5` |
| `operator.startupProbe.failureThreshold` | Minimum consecutive failures for the probe | `6` |
| `operator.startupProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `operator.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` |
| `operator.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` |
| `operator.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` |
| `operator.logLevel` | Log level for Prometheus Operator | `info` |
| `operator.logFormat` | Log format for Prometheus Operator | `logfmt` |
| `operator.configReloaderResources` | Set the prometheus config reloader side-car CPU and memory requests and limits. | `{}` |
@@ -172,189 +205,203 @@ The command removes all the Kubernetes components associated with the chart and
### Prometheus Parameters
| Name | Description | Value |
| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `prometheus.enabled` | Deploy Prometheus to the cluster | `true` |
| `prometheus.image.registry` | Prometheus image registry | `docker.io` |
| `prometheus.image.repository` | Prometheus image repository | `bitnami/prometheus` |
| `prometheus.image.tag` | Prometheus Image tag (immutable tags are recommended) | `2.35.0-debian-10-r25` |
| `prometheus.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `prometheus.serviceAccount.create` | Specify whether to create a ServiceAccount for Prometheus | `true` |
| `prometheus.serviceAccount.name` | The name of the ServiceAccount to create | `""` |
| `prometheus.serviceAccount.annotations` | Additional annotations for created Prometheus ServiceAccount | `{}` |
| `prometheus.podSecurityContext.enabled` | Enable security context | `true` |
| `prometheus.podSecurityContext.runAsUser` | User ID for the container | `1001` |
| `prometheus.podSecurityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `prometheus.containerSecurityContext.enabled` | Enable container security context | `true` |
| `prometheus.containerSecurityContext.readOnlyRootFilesystem` | Mount / (root) as a readonly filesystem | `false` |
| `prometheus.containerSecurityContext.allowPrivilegeEscalation` | Switch privilegeEscalation possibility on or off | `false` |
| `prometheus.containerSecurityContext.runAsNonRoot` | Force the container to run as a non root user | `true` |
| `prometheus.containerSecurityContext.capabilities.drop` | Linux Kernel capabilities which should be dropped | `[]` |
| `prometheus.podDisruptionBudget.enabled` | Create a pod disruption budget for Prometheus | `false` |
| `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 | `""` |
| `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 | `""` |
| `prometheus.service.nodePort` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` |
| `prometheus.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `""` |
| `prometheus.service.loadBalancerSourceRanges` | Address that are allowed when service is `LoadBalancer` | `[]` |
| `prometheus.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
| `prometheus.service.healthCheckNodePort` | Specifies the health check node port | `""` |
| `prometheus.service.stickySessions` | Set stickySessions to `true` to enable Session Affinity | `""` |
| `prometheus.service.annotations` | Additional annotations for Prometheus service (this value is evaluated as a template) | `{}` |
| `prometheus.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus itself | `true` |
| `prometheus.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `prometheus.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `prometheus.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `prometheus.ingress.enabled` | Enable ingress controller resource | `false` |
| `prometheus.ingress.pathType` | Ingress Path type | `ImplementationSpecific` |
| `prometheus.ingress.apiVersion` | Override API Version (automatically detected if not set) | `""` |
| `prometheus.ingress.hostname` | Default host for the ingress resource | `prometheus.local` |
| `prometheus.ingress.path` | The Path to Prometheus. You may need to set this to '/*' in order to use this with ALB ingress controllers | `/` |
| `prometheus.ingress.annotations` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. | `{}` |
| `prometheus.ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | `""` |
| `prometheus.ingress.tls` | Enable TLS configuration for the hostname defined at prometheus.ingress.hostname parameter | `false` |
| `prometheus.ingress.extraHosts` | The list of additional hostnames to be covered with this ingress record. | `[]` |
| `prometheus.ingress.extraPaths` | Additional arbitrary path/backend objects | `[]` |
| `prometheus.ingress.extraTls` | The tls configuration for additional hostnames to be covered with this ingress record. | `[]` |
| `prometheus.ingress.secrets` | If you're providing your own certificates, please use this to add the certificates as secrets | `[]` |
| `prometheus.ingress.extraRules` | Additional rules to be covered with this ingress record | `[]` |
| `prometheus.externalUrl` | External URL used to access Prometheus | `""` |
| `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 | `{}` |
| `prometheus.nodeSelector` | Prometheus Node labels for pod assignment | `{}` |
| `prometheus.tolerations` | Prometheus Tolerations for pod assignment | `[]` |
| `prometheus.scrapeInterval` | Interval between consecutive scrapes | `""` |
| `prometheus.evaluationInterval` | Interval between consecutive evaluations | `""` |
| `prometheus.listenLocal` | ListenLocal makes the Prometheus server listen on loopback | `false` |
| `prometheus.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
| `prometheus.livenessProbe.path` | Path of the HTTP service for checking the healthy state | `/-/healthy` |
| `prometheus.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `0` |
| `prometheus.livenessProbe.periodSeconds` | How often to perform the probe | `10` |
| `prometheus.livenessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe | `10` |
| `prometheus.livenessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.readinessProbe.enabled` | Turn on and off readiness probe | `true` |
| `prometheus.readinessProbe.path` | Path of the HTTP service for checking the ready state | `/-/ready` |
| `prometheus.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `0` |
| `prometheus.readinessProbe.periodSeconds` | How often to perform the probe | `10` |
| `prometheus.readinessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe | `10` |
| `prometheus.readinessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.startupProbe.enabled` | Turn on and off readiness probe | `true` |
| `prometheus.startupProbe.path` | Path of the HTTP service for checking the ready state | `/-/ready` |
| `prometheus.startupProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `0` |
| `prometheus.startupProbe.periodSeconds` | How often to perform the probe | `15` |
| `prometheus.startupProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.startupProbe.failureThreshold` | Minimum consecutive failures for the probe | `60` |
| `prometheus.startupProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.enableAdminAPI` | Enable Prometheus adminitrative API | `false` |
| `prometheus.enableFeatures` | Enable access to Prometheus disabled features. | `[]` |
| `prometheus.alertingEndpoints` | Alertmanagers to which alerts will be sent | `[]` |
| `prometheus.externalLabels` | External labels to add to any time series or alerts when communicating with external systems | `{}` |
| `prometheus.replicaExternalLabelName` | Name of the external label used to denote replica name | `""` |
| `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 | `""` |
| `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` | ServiceMonitors to be selected for target discovery | `{}` |
| `prometheus.matchLabels` | Matchlabels | `{}` |
| `prometheus.serviceMonitorNamespaceSelector` | Namespaces to be selected for ServiceMonitor discovery | `{}` |
| `prometheus.podMonitorSelector` | PodMonitors to be selected for target discovery. | `{}` |
| `prometheus.podMonitorNamespaceSelector` | Namespaces to be selected for PodMonitor discovery | `{}` |
| `prometheus.probeSelector` | Probes to be selected for target discovery. | `{}` |
| `prometheus.probeNamespaceSelector` | Namespaces to be selected for Probe discovery | `{}` |
| `prometheus.retention` | Metrics retention days | `10d` |
| `prometheus.retentionSize` | Maximum size of metrics | `""` |
| `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.replicaCount` | Number of Prometheus replicas desired | `1` |
| `prometheus.shards` | Number of Prometheus shards desired | `1` |
| `prometheus.logLevel` | Log level for Prometheus | `info` |
| `prometheus.logFormat` | Log format for Prometheus | `logfmt` |
| `prometheus.podMetadata` | Standard object's metadata | `{}` |
| `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 | `""` |
| `prometheus.persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `prometheus.persistence.size` | Persistent Volume Size | `8Gi` |
| `prometheus.persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `prometheus.priorityClassName` | Priority class assigned to the Pods | `""` |
| `prometheus.containers` | Containers allows injecting additional containers | `[]` |
| `prometheus.initContainers` | Add additional init containers to the prometheus pod(s) | `[]` |
| `prometheus.volumes` | Volumes allows configuration of additional volumes | `[]` |
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` |
| `prometheus.additionalPrometheusRules` | PrometheusRule defines recording and alerting rules for a Prometheus instance. | `[]` |
| `prometheus.additionalScrapeConfigs.enabled` | Enable additional scrape configs | `false` |
| `prometheus.additionalScrapeConfigs.type` | Indicates if the cart should use external additional scrape configs or internal configs | `external` |
| `prometheus.additionalScrapeConfigs.external.name` | Name of the secret that Prometheus should use for the additional external scrape configuration | `""` |
| `prometheus.additionalScrapeConfigs.external.key` | Name of the key inside the secret to be used for the additional external scrape configuration | `""` |
| `prometheus.additionalScrapeConfigs.internal.jobList` | A list of Prometheus scrape jobs | `[]` |
| `prometheus.additionalScrapeConfigsExternal.enabled` | Deprecated: Enable additional scrape configs that are managed externally to this chart | `false` |
| `prometheus.additionalScrapeConfigsExternal.name` | Deprecated: Name of the secret that Prometheus should use for the additional scrape configuration | `""` |
| `prometheus.additionalScrapeConfigsExternal.key` | Deprecated: Name of the key inside the secret to be used for the additional scrape configuration | `""` |
| `prometheus.additionalAlertRelabelConfigsExternal.enabled` | Enable additional Prometheus alert relabel configs that are managed externally to this chart | `false` |
| `prometheus.additionalAlertRelabelConfigsExternal.name` | Name of the secret that Prometheus should use for the additional Prometheus alert relabel configuration | `""` |
| `prometheus.additionalAlertRelabelConfigsExternal.key` | Name of the key inside the secret to be used for the additional Prometheus alert relabel configuration | `""` |
| `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/thanos` |
| `prometheus.thanos.image.tag` | Thanos image tag | `0.26.0-scratch-r0` |
| `prometheus.thanos.image.pullPolicy` | Thanos image pull policy | `IfNotPresent` |
| `prometheus.thanos.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `prometheus.thanos.containerSecurityContext.enabled` | Enable container security context | `true` |
| `prometheus.thanos.containerSecurityContext.readOnlyRootFilesystem` | mount / (root) as a readonly filesystem | `false` |
| `prometheus.thanos.containerSecurityContext.allowPrivilegeEscalation` | Switch privilegeEscalation possibility on or off | `false` |
| `prometheus.thanos.containerSecurityContext.runAsNonRoot` | Force the container to run as a non root user | `true` |
| `prometheus.thanos.containerSecurityContext.capabilities.drop` | Linux Kernel capabilities which should be dropped | `[]` |
| `prometheus.thanos.prometheusUrl` | Override default prometheus url `http://localhost:9090` | `""` |
| `prometheus.thanos.extraArgs` | Additional arguments passed to the thanos sidecar container | `[]` |
| `prometheus.thanos.objectStorageConfig` | Support mounting a Secret for the objectStorageConfig of the sideCar container. | `{}` |
| `prometheus.thanos.extraVolumeMounts` | Additional volumeMounts from `prometheus.volumes` for 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.thanos.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
| `prometheus.thanos.livenessProbe.path` | Path of the HTTP service for checking the healthy state | `/-/healthy` |
| `prometheus.thanos.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `0` |
| `prometheus.thanos.livenessProbe.periodSeconds` | How often to perform the probe | `5` |
| `prometheus.thanos.livenessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.thanos.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe | `120` |
| `prometheus.thanos.livenessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.thanos.readinessProbe.enabled` | Turn on and off readiness probe | `true` |
| `prometheus.thanos.readinessProbe.path` | Path of the HTTP service for checking the ready state | `/-/ready` |
| `prometheus.thanos.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `0` |
| `prometheus.thanos.readinessProbe.periodSeconds` | How often to perform the probe | `5` |
| `prometheus.thanos.readinessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.thanos.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe | `120` |
| `prometheus.thanos.readinessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.thanos.service.type` | Kubernetes service type | `ClusterIP` |
| `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` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` |
| `prometheus.thanos.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `""` |
| `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.ingress.enabled` | Enable ingress controller resource | `false` |
| `prometheus.thanos.ingress.annotations` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. | `{}` |
| `prometheus.thanos.ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | `""` |
| `prometheus.thanos.ingress.hosts` | The list of hostnames to be covered with this ingress record. | `[]` |
| `prometheus.thanos.ingress.tls` | The tls configuration for the ingress | `{}` |
| `prometheus.portName` | Port name used for the pods and governing service. This defaults to web | `web` |
| Name | Description | Value |
| --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
| `prometheus.enabled` | Deploy Prometheus to the cluster | `true` |
| `prometheus.image.registry` | Prometheus image registry | `docker.io` |
| `prometheus.image.repository` | Prometheus image repository | `bitnami/prometheus` |
| `prometheus.image.tag` | Prometheus Image tag (immutable tags are recommended) | `2.35.0-debian-10-r30` |
| `prometheus.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `prometheus.serviceAccount.create` | Specify whether to create a ServiceAccount for Prometheus | `true` |
| `prometheus.serviceAccount.name` | The name of the ServiceAccount to create | `""` |
| `prometheus.serviceAccount.annotations` | Additional annotations for created Prometheus ServiceAccount | `{}` |
| `prometheus.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` |
| `prometheus.podSecurityContext.enabled` | Enable security context | `true` |
| `prometheus.podSecurityContext.runAsUser` | User ID for the container | `1001` |
| `prometheus.podSecurityContext.fsGroup` | Group ID for the container filesystem | `1001` |
| `prometheus.containerSecurityContext.enabled` | Enable container security context | `true` |
| `prometheus.containerSecurityContext.readOnlyRootFilesystem` | Mount / (root) as a readonly filesystem | `false` |
| `prometheus.containerSecurityContext.allowPrivilegeEscalation` | Switch privilegeEscalation possibility on or off | `false` |
| `prometheus.containerSecurityContext.runAsNonRoot` | Force the container to run as a non root user | `true` |
| `prometheus.containerSecurityContext.capabilities.drop` | Linux Kernel capabilities which should be dropped | `[]` |
| `prometheus.pdb.create` | Create a pod disruption budget for Prometheus | `false` |
| `prometheus.pdb.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
| `prometheus.pdb.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `""` |
| `prometheus.service.type` | Kubernetes service type | `ClusterIP` |
| `prometheus.service.ports.http` | Prometheus service port | `9090` |
| `prometheus.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `""` |
| `prometheus.service.nodePorts.http` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` |
| `prometheus.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `""` |
| `prometheus.service.loadBalancerSourceRanges` | Address that are allowed when service is `LoadBalancer` | `[]` |
| `prometheus.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
| `prometheus.service.healthCheckNodePort` | Specifies the health check node port | `""` |
| `prometheus.service.annotations` | Additional annotations for Prometheus service (this value is evaluated as a template) | `{}` |
| `prometheus.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `prometheus.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `prometheus.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Prometheus itself | `true` |
| `prometheus.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `prometheus.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `prometheus.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `prometheus.ingress.enabled` | Enable ingress controller resource | `false` |
| `prometheus.ingress.pathType` | Ingress Path type | `ImplementationSpecific` |
| `prometheus.ingress.apiVersion` | Override API Version (automatically detected if not set) | `""` |
| `prometheus.ingress.hostname` | Default host for the ingress resource | `prometheus.local` |
| `prometheus.ingress.path` | The Path to Prometheus. You may need to set this to '/*' in order to use this with ALB ingress controllers | `/` |
| `prometheus.ingress.annotations` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. | `{}` |
| `prometheus.ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | `""` |
| `prometheus.ingress.tls` | Enable TLS configuration for the hostname defined at prometheus.ingress.hostname parameter | `false` |
| `prometheus.ingress.selfSigned` | Create a TLS secret for this ingress record using self-signed certificates generated by Helm | `false` |
| `prometheus.ingress.extraHosts` | The list of additional hostnames to be covered with this ingress record. | `[]` |
| `prometheus.ingress.extraPaths` | Additional arbitrary path/backend objects | `[]` |
| `prometheus.ingress.extraTls` | The tls configuration for additional hostnames to be covered with this ingress record. | `[]` |
| `prometheus.ingress.secrets` | If you're providing your own certificates, please use this to add the certificates as secrets | `[]` |
| `prometheus.ingress.extraRules` | Additional rules to be covered with this ingress record | `[]` |
| `prometheus.externalUrl` | External URL used to access Prometheus | `""` |
| `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 | `{}` |
| `prometheus.nodeSelector` | Prometheus Node labels for pod assignment | `{}` |
| `prometheus.tolerations` | Prometheus Tolerations for pod assignment | `[]` |
| `prometheus.scrapeInterval` | Interval between consecutive scrapes | `""` |
| `prometheus.evaluationInterval` | Interval between consecutive evaluations | `""` |
| `prometheus.listenLocal` | ListenLocal makes the Prometheus server listen on loopback | `false` |
| `prometheus.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
| `prometheus.livenessProbe.path` | Path of the HTTP service for checking the healthy state | `/-/healthy` |
| `prometheus.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `0` |
| `prometheus.livenessProbe.periodSeconds` | How often to perform the probe | `10` |
| `prometheus.livenessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe | `10` |
| `prometheus.livenessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.readinessProbe.enabled` | Turn on and off readiness probe | `true` |
| `prometheus.readinessProbe.path` | Path of the HTTP service for checking the ready state | `/-/ready` |
| `prometheus.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `0` |
| `prometheus.readinessProbe.periodSeconds` | How often to perform the probe | `10` |
| `prometheus.readinessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe | `10` |
| `prometheus.readinessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.startupProbe.enabled` | Turn on and off readiness probe | `true` |
| `prometheus.startupProbe.path` | Path of the HTTP service for checking the ready state | `/-/ready` |
| `prometheus.startupProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `0` |
| `prometheus.startupProbe.periodSeconds` | How often to perform the probe | `15` |
| `prometheus.startupProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.startupProbe.failureThreshold` | Minimum consecutive failures for the probe | `60` |
| `prometheus.startupProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.enableAdminAPI` | Enable Prometheus adminitrative API | `false` |
| `prometheus.enableFeatures` | Enable access to Prometheus disabled features. | `[]` |
| `prometheus.alertingEndpoints` | Alertmanagers to which alerts will be sent | `[]` |
| `prometheus.externalLabels` | External labels to add to any time series or alerts when communicating with external systems | `{}` |
| `prometheus.replicaExternalLabelName` | Name of the external label used to denote replica name | `""` |
| `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 | `""` |
| `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` | ServiceMonitors to be selected for target discovery | `{}` |
| `prometheus.serviceMonitorNamespaceSelector` | Namespaces to be selected for ServiceMonitor discovery | `{}` |
| `prometheus.podMonitorSelector` | PodMonitors to be selected for target discovery. | `{}` |
| `prometheus.podMonitorNamespaceSelector` | Namespaces to be selected for PodMonitor discovery | `{}` |
| `prometheus.probeSelector` | Probes to be selected for target discovery. | `{}` |
| `prometheus.probeNamespaceSelector` | Namespaces to be selected for Probe discovery | `{}` |
| `prometheus.retention` | Metrics retention days | `10d` |
| `prometheus.retentionSize` | Maximum size of metrics | `""` |
| `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.replicaCount` | Number of Prometheus replicas desired | `1` |
| `prometheus.shards` | Number of Prometheus shards desired | `1` |
| `prometheus.logLevel` | Log level for Prometheus | `info` |
| `prometheus.logFormat` | Log format for Prometheus | `logfmt` |
| `prometheus.podMetadata` | Standard object's metadata | `{}` |
| `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 | `""` |
| `prometheus.persistence.accessModes` | Persistent Volume Access Modes | `["ReadWriteOnce"]` |
| `prometheus.persistence.size` | Persistent Volume Size | `8Gi` |
| `prometheus.persistence.annotations` | Persistent Volume Claim annotations | `{}` |
| `prometheus.priorityClassName` | Priority class assigned to the Pods | `""` |
| `prometheus.containers` | Containers allows injecting additional containers | `[]` |
| `prometheus.initContainers` | Add additional init containers to the prometheus pod(s) | `[]` |
| `prometheus.volumes` | Volumes allows configuration of additional volumes | `[]` |
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` |
| `prometheus.additionalPrometheusRules` | PrometheusRule defines recording and alerting rules for a Prometheus instance. | `[]` |
| `prometheus.additionalScrapeConfigs.enabled` | Enable additional scrape configs | `false` |
| `prometheus.additionalScrapeConfigs.type` | Indicates if the cart should use external additional scrape configs or internal configs | `external` |
| `prometheus.additionalScrapeConfigs.external.name` | Name of the secret that Prometheus should use for the additional external scrape configuration | `""` |
| `prometheus.additionalScrapeConfigs.external.key` | Name of the key inside the secret to be used for the additional external scrape configuration | `""` |
| `prometheus.additionalScrapeConfigs.internal.jobList` | A list of Prometheus scrape jobs | `[]` |
| `prometheus.additionalScrapeConfigsExternal.enabled` | Deprecated: Enable additional scrape configs that are managed externally to this chart | `false` |
| `prometheus.additionalScrapeConfigsExternal.name` | Deprecated: Name of the secret that Prometheus should use for the additional scrape configuration | `""` |
| `prometheus.additionalScrapeConfigsExternal.key` | Deprecated: Name of the key inside the secret to be used for the additional scrape configuration | `""` |
| `prometheus.additionalAlertRelabelConfigsExternal.enabled` | Enable additional Prometheus alert relabel configs that are managed externally to this chart | `false` |
| `prometheus.additionalAlertRelabelConfigsExternal.name` | Name of the secret that Prometheus should use for the additional Prometheus alert relabel configuration | `""` |
| `prometheus.additionalAlertRelabelConfigsExternal.key` | Name of the key inside the secret to be used for the additional Prometheus alert relabel configuration | `""` |
| `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/thanos` |
| `prometheus.thanos.image.tag` | Thanos image tag | `0.26.0-scratch-r1` |
| `prometheus.thanos.image.pullPolicy` | Thanos image pull policy | `IfNotPresent` |
| `prometheus.thanos.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `prometheus.thanos.containerSecurityContext.enabled` | Enable container security context | `true` |
| `prometheus.thanos.containerSecurityContext.readOnlyRootFilesystem` | mount / (root) as a readonly filesystem | `false` |
| `prometheus.thanos.containerSecurityContext.allowPrivilegeEscalation` | Switch privilegeEscalation possibility on or off | `false` |
| `prometheus.thanos.containerSecurityContext.runAsNonRoot` | Force the container to run as a non root user | `true` |
| `prometheus.thanos.containerSecurityContext.capabilities.drop` | Linux Kernel capabilities which should be dropped | `[]` |
| `prometheus.thanos.prometheusUrl` | Override default prometheus url `http://localhost:9090` | `""` |
| `prometheus.thanos.extraArgs` | Additional arguments passed to the thanos sidecar container | `[]` |
| `prometheus.thanos.objectStorageConfig` | Support mounting a Secret for the objectStorageConfig of the sideCar container. | `{}` |
| `prometheus.thanos.extraVolumeMounts` | Additional volumeMounts from `prometheus.volumes` for 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.thanos.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
| `prometheus.thanos.livenessProbe.path` | Path of the HTTP service for checking the healthy state | `/-/healthy` |
| `prometheus.thanos.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `0` |
| `prometheus.thanos.livenessProbe.periodSeconds` | How often to perform the probe | `5` |
| `prometheus.thanos.livenessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.thanos.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe | `120` |
| `prometheus.thanos.livenessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.thanos.readinessProbe.enabled` | Turn on and off readiness probe | `true` |
| `prometheus.thanos.readinessProbe.path` | Path of the HTTP service for checking the ready state | `/-/ready` |
| `prometheus.thanos.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | `0` |
| `prometheus.thanos.readinessProbe.periodSeconds` | How often to perform the probe | `5` |
| `prometheus.thanos.readinessProbe.timeoutSeconds` | When the probe times out | `3` |
| `prometheus.thanos.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe | `120` |
| `prometheus.thanos.readinessProbe.successThreshold` | Minimum consecutive successes for the probe | `1` |
| `prometheus.thanos.service.type` | Kubernetes service type | `ClusterIP` |
| `prometheus.thanos.service.ports.grpc` | 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.nodePorts.grpc` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` |
| `prometheus.thanos.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `""` |
| `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.service.externalTrafficPolicy` | Prometheus service external traffic policy | `Cluster` |
| `prometheus.thanos.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `prometheus.thanos.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `prometheus.thanos.ingress.enabled` | Enable ingress controller resource | `false` |
| `prometheus.thanos.ingress.pathType` | Ingress path type | `ImplementationSpecific` |
| `prometheus.thanos.ingress.apiVersion` | Force Ingress API version (automatically detected if not set) | `""` |
| `prometheus.thanos.ingress.hostname` | Default host for the ingress record | `thanos.prometheus.local` |
| `prometheus.thanos.ingress.path` | Default path for the ingress record | `/` |
| `prometheus.thanos.ingress.annotations` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. | `{}` |
| `prometheus.thanos.ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | `""` |
| `prometheus.thanos.ingress.tls` | Enable TLS configuration for the host defined at `ingress.hostname` parameter | `false` |
| `prometheus.thanos.ingress.selfSigned` | Create a TLS secret for this ingress record using self-signed certificates generated by Helm | `false` |
| `prometheus.thanos.ingress.extraHosts` | An array with additional hostname(s) to be covered with the ingress record | `[]` |
| `prometheus.thanos.ingress.extraPaths` | An array with additional arbitrary paths that may need to be added to the ingress under the main host | `[]` |
| `prometheus.thanos.ingress.extraTls` | TLS configuration for additional hostname(s) to be covered with this ingress record | `[]` |
| `prometheus.thanos.ingress.secrets` | Custom TLS certificates as secrets | `[]` |
| `prometheus.thanos.ingress.extraRules` | The list of additional rules to be added to this ingress record. Evaluated as a template | `[]` |
| `prometheus.portName` | Port name used for the pods and governing service. This defaults to web | `web` |
### Alertmanager Parameters
@@ -364,10 +411,12 @@ The command removes all the Kubernetes components associated with the chart and
| `alertmanager.enabled` | Deploy Alertmanager to the cluster | `true` |
| `alertmanager.image.registry` | Prometheus image registry | `docker.io` |
| `alertmanager.image.repository` | Prometheus Image repository | `bitnami/alertmanager` |
| `alertmanager.image.tag` | Prometheus Image tag (immutable tags are recommended) | `0.24.0-debian-10-r53` |
| `alertmanager.image.tag` | Prometheus Image tag (immutable tags are recommended) | `0.24.0-debian-10-r57` |
| `alertmanager.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `alertmanager.serviceAccount.create` | Specify whether to create a ServiceAccount for Alertmanager | `true` |
| `alertmanager.serviceAccount.name` | The name of the ServiceAccount to create | `""` |
| `alertmanager.serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true` |
| `alertmanager.serviceAccount.annotations` | Annotations for service account. Evaluated as a template. Only used if `create` is `true`. | `{}` |
| `alertmanager.podSecurityContext.enabled` | Enable security context | `true` |
| `alertmanager.podSecurityContext.runAsUser` | User ID for the container | `1001` |
| `alertmanager.podSecurityContext.fsGroup` | Group ID for the container filesystem | `1001` |
@@ -376,23 +425,31 @@ The command removes all the Kubernetes components associated with the chart and
| `alertmanager.containerSecurityContext.allowPrivilegeEscalation` | Switch privilegeEscalation possibility on or off | `false` |
| `alertmanager.containerSecurityContext.runAsNonRoot` | Force the container to run as a non root user | `true` |
| `alertmanager.containerSecurityContext.capabilities.drop` | Linux Kernel capabilities which should be dropped | `[]` |
| `alertmanager.podDisruptionBudget.enabled` | Create a pod disruption budget for Alertmanager | `false` |
| `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 | `""` |
| `alertmanager.pdb.create` | Create a pod disruption budget for Alertmanager | `false` |
| `alertmanager.pdb.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
| `alertmanager.pdb.maxUnavailable` | Maximum number / percentage of pods that may be made unavailable | `""` |
| `alertmanager.service.type` | Kubernetes service type | `ClusterIP` |
| `alertmanager.service.port` | Alertmanager service port | `9093` |
| `alertmanager.service.ports.http` | Alertmanager service port | `9093` |
| `alertmanager.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `""` |
| `alertmanager.service.nodePort` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` |
| `alertmanager.service.nodePorts.http` | Specify the nodePort value for the LoadBalancer and NodePort service types. | `""` |
| `alertmanager.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `""` |
| `alertmanager.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
| `alertmanager.service.externalTrafficPolicy` | Enable client source IP preservation | `Cluster` |
| `alertmanager.service.healthCheckNodePort` | Specifies the health check node port | `""` |
| `alertmanager.service.stickySessions` | Set stickySessions to `true` to enable Session Affinity | `""` |
| `alertmanager.service.extraPorts` | Extra ports to expose (normally used with the `sidecar` value) | `[]` |
| `alertmanager.service.sessionAffinity` | Session Affinity for Kubernetes service, can be "None" or "ClientIP" | `None` |
| `alertmanager.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `alertmanager.service.annotations` | Additional annotations for Alertmanager service (this value is evaluated as a template) | `{}` |
| `alertmanager.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Alertmanager | `true` |
| `alertmanager.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used. | `""` |
| `alertmanager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `alertmanager.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `alertmanager.serviceMonitor.jobLabel` | The name of the label on the target service to use as the job name in prometheus. | `""` |
| `alertmanager.serviceMonitor.scrapeTimeout` | Timeout after which the scrape is ended | `""` |
| `alertmanager.serviceMonitor.selector` | ServiceMonitor selector labels | `{}` |
| `alertmanager.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` |
| `alertmanager.serviceMonitor.annotations` | Extra annotations for the ServiceMonitor | `{}` |
| `alertmanager.serviceMonitor.honorLabels` | honorLabels chooses the metric's labels on collisions with target labels | `false` |
| `alertmanager.ingress.enabled` | Enable ingress controller resource | `false` |
| `alertmanager.ingress.pathType` | Ingress Path type | `ImplementationSpecific` |
| `alertmanager.ingress.apiVersion` | Override API Version (automatically detected if not set) | `""` |
@@ -401,6 +458,7 @@ The command removes all the Kubernetes components associated with the chart and
| `alertmanager.ingress.annotations` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. | `{}` |
| `alertmanager.ingress.ingressClassName` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | `""` |
| `alertmanager.ingress.tls` | Enable TLS configuration for the hostname defined at alertmanager.ingress.hostname parameter | `false` |
| `alertmanager.ingress.selfSigned` | Create a TLS secret for this ingress record using self-signed certificates generated by Helm | `false` |
| `alertmanager.ingress.extraHosts` | The list of additional hostnames to be covered with this ingress record. | `[]` |
| `alertmanager.ingress.extraPaths` | Additional arbitrary path/backend objects | `[]` |
| `alertmanager.ingress.extraTls` | The tls configuration for additional hostnames to be covered with this ingress record. | `[]` |
@@ -417,6 +475,7 @@ The command removes all the Kubernetes components associated with the chart and
| `alertmanager.nodeSelector` | Alertmanager Node labels for pod assignment | `{}` |
| `alertmanager.tolerations` | Alertmanager Tolerations for pod assignment | `[]` |
| `alertmanager.config` | Alertmanager configuration directive | `{}` |
| `alertmanager.templateFiles` | Extra files to be added inside the `alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}` secret. | `{}` |
| `alertmanager.externalConfig` | Alertmanager configuration is created externally. If true, `alertmanager.config` is ignored, and a secret will not be created. | `false` |
| `alertmanager.replicaCount` | Number of Alertmanager replicas desired | `1` |
| `alertmanager.livenessProbe.enabled` | Turn on and off liveness probe | `true` |
@@ -475,6 +534,8 @@ The command removes all the Kubernetes components associated with the chart and
| `kubelet.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubelet.serviceMonitor.cAdvisorMetricRelabelings` | Metric relabeling for scraping cAdvisor | `[]` |
| `kubelet.serviceMonitor.cAdvisorRelabelings` | Relabel configs for scraping cAdvisor | `[]` |
| `kubelet.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` |
| `kubelet.serviceMonitor.annotations` | Extra annotations for the ServiceMonitor | `{}` |
### Blackbox Exporter Deployment Parameters
@@ -485,7 +546,7 @@ The command removes all the Kubernetes components associated with the chart and
| `blackboxExporter.image.registry` | Blackbox Exporter image registry | `docker.io` |
| `blackboxExporter.image.repository` | Blackbox Exporter Image repository | `bitnami/blackbox-exporter` |
| `blackboxExporter.image.pullPolicy` | Blackbox Exporter Image pull policy | `IfNotPresent` |
| `blackboxExporter.image.tag` | Blackbox Exporter Image tag (immutable tags are recommended) | `0.20.0-debian-10-r61` |
| `blackboxExporter.image.tag` | Blackbox Exporter Image tag (immutable tags are recommended) | `0.20.0-debian-10-r66` |
| `blackboxExporter.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `blackboxExporter.extraEnvVars` | Array with extra environment variables to add to blackboxExporter nodes | `[]` |
| `blackboxExporter.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for blackboxExporter nodes | `""` |
@@ -543,6 +604,7 @@ The command removes all the Kubernetes components associated with the chart and
| `blackboxExporter.topologySpreadConstraints` | Topology Spread Constraints for pod assignment spread across your cluster among failure-domains | `{}` |
| `blackboxExporter.priorityClassName` | Blackbox Exporter pods' priorityClassName | `""` |
| `blackboxExporter.schedulerName` | Kubernetes pod scheduler registry | `""` |
| `blackboxExporter.terminationGracePeriodSeconds` | In seconds, time the given to the Blackbox Exporter pod needs to terminate gracefully | `""` |
| `blackboxExporter.updateStrategy.type` | Blackbox Exporter statefulset strategy type | `RollingUpdate` |
| `blackboxExporter.extraVolumes` | Optionally specify extra list of additional volumes for the Blackbox Exporter pod(s) | `[]` |
| `blackboxExporter.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Blackbox Exporter container(s) | `[]` |
@@ -558,6 +620,7 @@ The command removes all the Kubernetes components associated with the chart and
| `blackboxExporter.service.ports.http` | Blackbox Exporter HTTP service port | `19115` |
| `blackboxExporter.service.nodePorts.http` | Node port for HTTP | `""` |
| `blackboxExporter.service.sessionAffinity` | Control where client requests go, to the same pod or round-robin | `None` |
| `blackboxExporter.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` |
| `blackboxExporter.service.clusterIP` | Blackbox Exporter service Cluster IP | `""` |
| `blackboxExporter.service.loadBalancerIP` | Blackbox Exporter service Load Balancer IP | `""` |
| `blackboxExporter.service.loadBalancerSourceRanges` | Blackbox Exporter service Load Balancer sources | `[]` |
@@ -572,8 +635,8 @@ The command removes all the Kubernetes components associated with the chart and
| `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.ports.http` | Listening port of the kube-controller-manager Service object | `10252` |
| `kubeControllerManager.service.targetPorts.http` | 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 | `{}` |
| `kubeControllerManager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `kubeControllerManager.serviceMonitor.https` | Enable scraping kube-controller-manager over https | `false` |
@@ -585,8 +648,8 @@ The command removes all the Kubernetes components associated with the chart and
| `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.ports.http` | Listening port of the kube scheduler Service object | `10251` |
| `kubeScheduler.service.targetPorts.http` | 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 | `{}` |
| `kubeScheduler.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `kubeScheduler.serviceMonitor.https` | Enable scraping kube-scheduler over https | `false` |
@@ -594,36 +657,38 @@ The command removes all the Kubernetes components associated with the chart and
| `kubeScheduler.serviceMonitor.serverName` | Name of the server to use when validating TLS certificate | `""` |
| `kubeScheduler.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeScheduler.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeScheduler.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` |
| `kubeScheduler.serviceMonitor.annotations` | Extra annotations for the ServiceMonitor | `{}` |
| `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.ports.http` | Listening port of the coredns Service object | `9153` |
| `coreDns.service.targetPorts.http` | 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 | `{}` |
| `coreDns.serviceMonitor.interval` | Scrape interval. If not set, the Prometheus default scrape interval is used. | `""` |
| `coreDns.serviceMonitor.metricRelabelings` | Metric relabel configs to apply to samples before ingestion. | `[]` |
| `coreDns.serviceMonitor.relabelings` | Relabel configs to apply to samples before ingestion. | `[]` |
| `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` | Service ports and selector information | `{}` |
| `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 | `{}` |
| `kubeProxy.namespace` | Namespace where kube-proxy service is deployed. | `kube-system` |
| `kubeProxy.service.enabled` | Whether or not to create a Service object for kube-proxy | `true` |
| `kubeProxy.service.ports.http` | Listening port of the kube-proxy Service object | `10249` |
| `kubeProxy.service.targetPorts.http` | Port to target on the kube-proxy Pods. This should be the port that kube-proxy is exposing metrics on | `10249` |
| `kubeProxy.service.selector` | Optional PODs Label selector for the service | `{}` |
| `kubeProxy.serviceMonitor.https` | Enable scraping kube-proxy over https. | `false` |
| `kubeProxy.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `""` |
| `kubeProxy.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
| `kubeProxy.serviceMonitor.relabelings` | Relabel configs | `[]` |
| `kubeProxy.serviceMonitor.labels` | Extra labels for the ServiceMonitor | `{}` |
| `kubeProxy.serviceMonitor.annotations` | Extra annotations for the ServiceMonitor | `{}` |
### RBAC parameters
| Name | Description | Value |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- |
| `rbac.create` | Whether to create and use RBAC resources or not | `true` |
| `rbac.apiVersion` | Version of the RBAC API | `v1beta1` |
| `rbac.pspEnabled` | Whether to create a PodSecurityPolicy and bound it with RBAC. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later | `true` |
| Name | Description | Value |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------ |
| `rbac.create` | Whether to create and use RBAC resources or not | `true` |
| `rbac.pspEnabled` | Whether to create a PodSecurityPolicy and bound it with RBAC. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later | `true` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
@@ -691,6 +756,42 @@ Find more information about how to deal with common errors related to Bitnami's
$ helm upgrade my-release bitnami/kube-prometheus
```
### To 7.0.0
This major release renames several values in this chart and adds missing features, in order to be aligned with the rest of the assets in the Bitnami charts repository.
Affected values:
- `global.labels` has been removed. Please use `commonLabels` instead.
- `prometheus.thanos.ingress` has been refactored.
- Changes to service ports:
- `operator.service.port` was renamed as `operator.service.ports.http`.
- `operator.service.nodePort` was renamed as `operator.service.nodePorts.http`.
- `prometheus.service.port` was renamed as `prometheus.service.ports.http`.
- `prometheus.service.nodePort` was renamed as `prometheus.service.nodePorts.http`.
- `alertmanager.service.port` was renamed as `alertmanager.service.ports.http`.
- `alertmanager.service.nodePort` was renamed as `alertmanager.service.nodePorts.http`.
- `kubeControllerManager.service.port` was renamed as `kubeControllerManager.service.ports.http`.
- `kubeControllerManager.service.targetPort` was renamed as `kubeControllerManager.service.targetPorts.http`.
- `kubeScheduler.service.port` was renamed as `kubeScheduler.service.ports.http`.
- `kubeScheduler.service.targetPort` was renamed as `kubeScheduler.service.targetPorts.http`.
- `coreDns.service.port` was renamed as `coreDns.service.ports.http`.
- `coreDns.service.targetPort` was renamed as `coreDns.service.targetPorts.http`.
- `kubeProxy.service.port` was renamed as `kubeProxy.service.ports.http`.
- `kubeProxy.service.targetPort` was renamed as `kubeProxy.service.targetPorts.http`.
- `prometheus.thanos.service.port` was renamed as `prometheus.thanos.service.ports.grpc`.
- `prometheus.thanos.service.nodePort` was renamed as `prometheus.thanos.service.nodePorts.grpc`.
- `alertmanager.service.stickySessions` has been replaced with the parameter `alertmanager.service.sessionAffinity`.
- `prometheus.service.stickySessions` has been replaced with the parameter `prometheus.service.sessionAffinity`.
- `operator.livenessProbe.path` have been removed, and livenessProbe is now interpreted as a template. To customize the probe, use customLivenessProbe.
- `operator.readinessProbe.path` have been removed, and readinessProbe is now interpreted as a template. To customize the probe, use customReadinessProbe.
- `prometheus.podDisruptionBudget.*` was renamed as `prometheus.pdb.*`.
- `prometheus.podDisruptionBudget.enabled` was renamed as `prometheus.pdb.create`.
- `alertmanager.podDisruptionBudget.*` was renamed as `alertmanager.pdb.*`.
- `alertmanager.podDisruptionBudget.enabled` was renamed as `alertmanager.pdb.create`.
- Unused value `prometheus.matchLabels` has been removed.
- Unused value `rbac.apiVersion` has been removed
### To 6.0.0
This major update changes the `securityContext` interface in the `values.yaml` file.

View File

@@ -6,17 +6,17 @@ APP VERSION: {{ .Chart.AppVersion }}
Watch the Prometheus Operator Deployment status using the command:
kubectl get deploy -w --namespace {{ .Release.Namespace }} -l app.kubernetes.io/name={{ template "kube-prometheus.operator.name" . }},app.kubernetes.io/instance={{ .Release.Name }}
kubectl get deploy -w --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/name={{ template "kube-prometheus.operator.name" . }},app.kubernetes.io/instance={{ .Release.Name }}
{{- if .Values.prometheus.enabled }}
Watch the Prometheus StatefulSet status using the command:
kubectl get sts -w --namespace {{ .Release.Namespace }} -l app.kubernetes.io/name={{ template "kube-prometheus.prometheus.name" . }},app.kubernetes.io/instance={{ .Release.Name }}
kubectl get sts -w --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/name={{ template "kube-prometheus.prometheus.name" . }},app.kubernetes.io/instance={{ .Release.Name }}
Prometheus can be accessed via port "{{ .Values.prometheus.service.port }}" on the following DNS name from within your cluster:
Prometheus can be accessed via port "{{ .Values.prometheus.service.ports.http }}" on the following DNS name from within your cluster:
{{ template "kube-prometheus.prometheus.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
{{ template "kube-prometheus.prometheus.fullname" . }}.{{ include "common.names.namespace" . }}.svc.cluster.local
To access Prometheus from outside the cluster execute the following commands:
@@ -24,46 +24,42 @@ To access Prometheus from outside the cluster execute the following commands:
You should be able to access your new Prometheus installation through
{{- range .Values.prometheus.ingress.hosts }}
{{ if .tls }}https{{ else }}http{{ end }}://{{ .name }}
{{- end }}
{{ ternary "https" "http" .Values.prometheus.ingress.tls }}://{{ .Values.prometheus.ingress.hostname }}
{{- else if contains "LoadBalancer" .Values.prometheus.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "kube-prometheus.prometheus.fullname" . }}'
Watch the status with: 'kubectl get svc --namespace {{ include "common.names.namespace" . }} -w {{ template "kube-prometheus.prometheus.fullname" . }}'
{{- $port:=.Values.prometheus.service.port | toString }}
{{- $port:=.Values.prometheus.service.ports.http | toString }}
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "kube-prometheus.prometheus.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
echo "Prometheus URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.prometheus.service.port }}{{ end }}/"
export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.names.namespace" . }} {{ template "kube-prometheus.prometheus.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
echo "Prometheus URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.prometheus.service.ports.http }}{{ end }}/"
{{- else if contains "ClusterIP" .Values.prometheus.service.type }}
echo "Prometheus URL: http://127.0.0.1:9090/"
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "kube-prometheus.prometheus.fullname" . }} 9090:{{ .Values.prometheus.service.port }}
kubectl port-forward --namespace {{ include "common.names.namespace" . }} svc/{{ template "kube-prometheus.prometheus.fullname" . }} 9090:{{ .Values.prometheus.service.ports.http }}
{{- else if contains "NodePort" .Values.prometheus.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "kube-prometheus.prometheus.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
export NODE_PORT=$(kubectl get --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "kube-prometheus.prometheus.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo "Prometheus URL: http://$NODE_IP:$NODE_PORT/"
{{- end }}
{{- if and .Values.prometheus.thanos.create }}
Thanos Sidecar can be accessed via port "{{ .Values.prometheus.thanos.service.port }}" on the following DNS name from within your cluster:
Thanos Sidecar can be accessed via port "{{ .Values.prometheus.thanos.service.ports.grpc }}" on the following DNS name from within your cluster:
{{ template "kube-prometheus.thanos.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
{{ template "kube-prometheus.thanos.fullname" . }}.{{ include "common.names.namespace" . }}.svc.cluster.local
{{- if .Values.prometheus.thanos.ingress.enabled }}
You should be able to access your new Thanos Sidecar installation through
{{- range .Values.prometheus.thanos.ingress.hosts }}
{{ if .tls }}https{{ else }}http{{ end }}://{{ .name }}
{{- end }}
{{ ternary "https" "http" .Values.prometheus.thanos.ingress.tls }}://{{ .Values.prometheus.thanos.ingress.hostname }}
{{- end }}
{{- end }}
@@ -73,11 +69,11 @@ Thanos Sidecar can be accessed via port "{{ .Values.prometheus.thanos.service.po
Watch the Alertmanager StatefulSet status using the command:
kubectl get sts -w --namespace {{ .Release.Namespace }} -l app.kubernetes.io/name={{ template "kube-prometheus.alertmanager.name" . }},app.kubernetes.io/instance={{ .Release.Name }}
kubectl get sts -w --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/name={{ template "kube-prometheus.alertmanager.name" . }},app.kubernetes.io/instance={{ .Release.Name }}
Alertmanager can be accessed via port "{{ .Values.alertmanager.service.port }}" on the following DNS name from within your cluster:
Alertmanager can be accessed via port "{{ .Values.alertmanager.service.ports.http }}" on the following DNS name from within your cluster:
{{ template "kube-prometheus.alertmanager.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
{{ template "kube-prometheus.alertmanager.fullname" . }}.{{ include "common.names.namespace" . }}.svc.cluster.local
To access Alertmanager from outside the cluster execute the following commands:
@@ -85,29 +81,27 @@ To access Alertmanager from outside the cluster execute the following commands:
You should be able to access your new Prometheus installation through
{{- range .Values.alertmanager.ingress.hosts }}
{{ if .tls }}https{{ else }}http{{ end }}://{{ .name }}
{{- end }}
{{ ternary "https" "http" .Values.alertmanager.ingress.tls }}://{{ .Values.alertmanager.ingress.hostname }}
{{- else if contains "LoadBalancer" .Values.alertmanager.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "kube-prometheus.alertmanager.fullname" . }}'
Watch the status with: 'kubectl get svc --namespace {{ include "common.names.namespace" . }} -w {{ template "kube-prometheus.alertmanager.fullname" . }}'
{{- $port:=.Values.alertmanager.service.port | toString }}
{{- $port:=.Values.alertmanager.service.ports.http | toString }}
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "kube-prometheus.alertmanager.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
echo "Alertmanager URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.alertmanager.service.port }}{{ end }}/"
export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.names.namespace" . }} {{ template "kube-prometheus.alertmanager.fullname" . }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
echo "Alertmanager URL: http://$SERVICE_IP{{- if ne $port "80" }}:{{ .Values.alertmanager.service.ports.http }}{{ end }}/"
{{- else if contains "ClusterIP" .Values.alertmanager.service.type }}
echo "Alertmanager URL: http://127.0.0.1:9093/"
kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ template "kube-prometheus.alertmanager.fullname" . }} 9093:{{ .Values.alertmanager.service.port }}
kubectl port-forward --namespace {{ include "common.names.namespace" . }} svc/{{ template "kube-prometheus.alertmanager.fullname" . }} 9093:{{ .Values.alertmanager.service.ports.http }}
{{- else if contains "NodePort" .Values.alertmanager.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "kube-prometheus.alertmanager.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
export NODE_PORT=$(kubectl get --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "kube-prometheus.alertmanager.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo "Alertmanager URL: http://$NODE_IP:$NODE_PORT/"
{{- end }}

View File

@@ -65,21 +65,11 @@ If release name contains chart name it will be used as a full name.
{{- printf "%s-thanos" (include "kube-prometheus.prometheus.fullname" .) -}}
{{- end -}}
{{/*
Common Labels
*/}}
{{- define "kube-prometheus.labels" -}}
{{- include "common.labels.standard" . -}}
{{- if .Values.global.labels }}
{{ toYaml .Values.global.labels -}}
{{- end -}}
{{- end -}}
{{/*
Labels for operator
*/}}
{{- define "kube-prometheus.operator.labels" -}}
{{- include "kube-prometheus.labels" . }}
{{- include "common.labels.standard" . }}
app.kubernetes.io/component: operator
{{- end -}}
@@ -87,7 +77,7 @@ app.kubernetes.io/component: operator
Labels for prometheus
*/}}
{{- define "kube-prometheus.prometheus.labels" -}}
{{- include "kube-prometheus.labels" . }}
{{- include "common.labels.standard" . }}
app.kubernetes.io/component: prometheus
{{- end -}}
@@ -95,7 +85,7 @@ app.kubernetes.io/component: prometheus
Labels for alertmanager
*/}}
{{- define "kube-prometheus.alertmanager.labels" -}}
{{- include "kube-prometheus.labels" . }}
{{- include "common.labels.standard" . }}
app.kubernetes.io/component: alertmanager
{{- end -}}
@@ -103,7 +93,7 @@ app.kubernetes.io/component: alertmanager
Labels for blackbox-exporter
*/}}
{{- define "kube-prometheus.blackboxExporter.labels" -}}
{{- include "kube-prometheus.labels" . }}
{{- include "common.labels.standard" . }}
app.kubernetes.io/component: blackbox-exporter
{{- end -}}

View File

@@ -3,8 +3,14 @@ apiVersion: monitoring.coreos.com/v1
kind: Alertmanager
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
replicas: {{ .Values.alertmanager.replicaCount }}
serviceAccountName: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }}
@@ -13,11 +19,11 @@ spec:
{{- end }}
listenLocal: {{ .Values.alertmanager.listenLocal }}
{{- if index .Values.alertmanager "externalUrl" }}
externalUrl: "{{ .Values.alertmanager.externalUrl }}"
{{- else if and .Values.alertmanager.ingress.enabled .Values.alertmanager.ingress.hosts }}
externalUrl: {{ if .Values.alertmanager.ingress.tls }}https{{ else }}http{{ end }}://{{ (index .Values.alertmanager.ingress.hosts 0).name }}{{ .Values.alertmanager.routePrefix }}
externalUrl: {{ .Values.alertmanager.externalUrl | quote }}
{{- else if and .Values.alertmanager.ingress.enabled }}
externalUrl: {{ printf "%s://%s%s" (ternary "https" "http" .Values.alertmanager.ingress.tls) .Values.alertmanager.ingress.hostname .Values.alertmanager.routePrefix }}
{{- else }}
externalUrl: http://{{ template "kube-prometheus.alertmanager.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.alertmanager.service.port }}{{ .Values.alertmanager.routePrefix }}
externalUrl: http://{{ template "kube-prometheus.alertmanager.fullname" . }}.{{ include "common.names.namespace" . }}:{{ .Values.alertmanager.service.ports.http }}{{ .Values.alertmanager.routePrefix }}
{{- end }}
portName: "{{ .Values.alertmanager.portName }}"
paused: {{ .Values.alertmanager.paused }}

View File

@@ -3,15 +3,18 @@ apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
annotations:
{{- if .Values.alertmanager.ingress.certManager }}
kubernetes.io/tls-acme: "true"
{{- if .Values.alertmanager.ingress.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.ingress.annotations "context" $) | nindent 10 }}
{{- end }}
{{- range $key, $value := .Values.alertmanager.ingress.annotations }}
{{ $key }}: {{ $value | quote }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.commonLabels }}
labels: {{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
{{- end }}
spec:
{{- if and .Values.alertmanager.ingress.ingressClassName (include "common.ingress.supportsIngressClassname" .) }}
ingressClassName: {{ .Values.alertmanager.ingress.ingressClassName | quote }}

View File

@@ -1,19 +1,25 @@
{{- if and .Values.alertmanager.enabled .Values.alertmanager.podDisruptionBudget.enabled }}
{{- if and .Values.alertmanager.enabled .Values.alertmanager.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
{{- end }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: alertmanager
alertmanager: {{ template "kube-prometheus.alertmanager.fullname" . }}
{{- if .Values.alertmanager.podDisruptionBudget.minAvailable }}
minAvailable: {{ .Values.alertmanager.podDisruptionBudget.minAvailable }}
{{- if .Values.alertmanager.pdb.minAvailable }}
minAvailable: {{ .Values.alertmanager.pdb.minAvailable }}
{{- end }}
{{- if .Values.alertmanager.podDisruptionBudget.maxUnavailable }}
maxUnavailable: {{ .Values.alertmanager.podDisruptionBudget.maxUnavailable }}
{{- if .Values.alertmanager.pdb.maxUnavailable }}
maxUnavailable: {{ .Values.alertmanager.pdb.maxUnavailable }}
{{- end }}
{{- end }}

View File

@@ -4,8 +4,14 @@ kind: ClusterRole
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}-psp
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
{{- end }}
rules:
- apiGroups: ['extensions']
resources: ['podsecuritypolicies']

View File

@@ -4,8 +4,14 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: ClusterRoleBinding
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}-psp
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@@ -13,5 +19,5 @@ roleRef:
subjects:
- kind: ServiceAccount
name: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- end }}

View File

@@ -4,8 +4,14 @@ apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
{{- end }}
spec:
privileged: false
allowPrivilegeEscalation: false

View File

@@ -3,11 +3,17 @@ apiVersion: v1
kind: Secret
metadata:
name: alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
{{- end }}
data:
alertmanager.yaml: {{ toYaml .Values.alertmanager.config | b64enc | quote }}
{{- range $key, $val := .Values.alertmanager.templateFiles }}
{{ $key }}: {{ $val | b64enc | quote }}
{{- end }}
alertmanager.yaml: {{ include "common.tplvalues.render" (dict "value" .Values.alertmanager.config "context" $) | b64enc | quote }}
{{- range $key, $val := .Values.alertmanager.templateFiles }}
{{ $key }}: {{ include "common.tplvalues.render" (dict "value" $val "context" $) | b64enc | quote }}
{{- end }}
{{- end }}

View File

@@ -3,40 +3,51 @@ apiVersion: v1
kind: Service
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- with .Values.alertmanager.service.annotations }}
annotations: {{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
{{- end }}
annotations:
{{- if .Values.alertmanager.service.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.service.annotations "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
{{- end }}
spec:
type: {{ .Values.alertmanager.service.type }}
{{- if index .Values.alertmanager "stickySessions" }}
sessionAffinity: ClientIP
{{- if and .Values.alertmanager.service.clusterIP (eq .Values.alertmanager.service.type "ClusterIP") }}
clusterIP: {{ .Values.alertmanager.service.clusterIP }}
{{- end }}
{{- if and .Values.alertmanager.service.loadBalancerIP (eq .Values.alertmanager.service.type "LoadBalancer") }}
{{- if .Values.alertmanager.service.sessionAffinity }}
sessionAffinity: {{ .Values.alertmanager.service.sessionAffinity }}
{{- end }}
{{- if .Values.alertmanager.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
{{- if or (eq .Values.alertmanager.service.type "LoadBalancer") (eq .Values.alertmanager.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.alertmanager.service.externalTrafficPolicy | quote }}
{{- end }}
{{- if and (eq .Values.alertmanager.service.type "LoadBalancer") (not (empty .Values.alertmanager.service.loadBalancerSourceRanges)) }}
loadBalancerSourceRanges: {{ .Values.alertmanager.service.loadBalancerSourceRanges }}
{{- end }}
{{- if and (eq .Values.alertmanager.service.type "LoadBalancer") (not (empty .Values.alertmanager.service.loadBalancerIP)) }}
loadBalancerIP: {{ .Values.alertmanager.service.loadBalancerIP }}
{{- end }}
{{- if and (eq .Values.alertmanager.service.type "LoadBalancer") .Values.alertmanager.service.loadBalancerSourceRanges }}
{{- with .Values.alertmanager.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges: {{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
{{- if and (eq .Values.alertmanager.service.type "LoadBalancer") .Values.alertmanager.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.alertmanager.service.externalTrafficPolicy }}
{{- end }}
{{- if and (eq .Values.alertmanager.service.type "LoadBalancer") (eq .Values.alertmanager.service.externalTrafficPolicy "Local") .Values.alertmanager.service.healthCheckNodePort }}
healthCheckNodePort: {{ .Values.alertmanager.service.healthCheckNodePort }}
{{- end }}
{{- if and (eq .Values.alertmanager.service.type "ClusterIP") .Values.alertmanager.service.clusterIP }}
clusterIP: {{ .Values.alertmanager.service.clusterIP }}
{{- end }}
ports:
- name: http
port: {{ .Values.alertmanager.service.port }}
port: {{ .Values.alertmanager.service.ports.http }}
targetPort: 9093
{{- if and .Values.alertmanager.service.nodePort (or (eq .Values.alertmanager.service.type "NodePort") (eq .Values.alertmanager.service.type "LoadBalancer")) }}
nodePort: {{ .Values.alertmanager.service.nodePort }}
{{- if and .Values.alertmanager.service.nodePorts.http (or (eq .Values.alertmanager.service.type "NodePort") (eq .Values.alertmanager.service.type "LoadBalancer")) }}
nodePort: {{ .Values.alertmanager.service.nodePorts.http }}
{{- end }}
{{- if .Values.alertmanager.service.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.service.extraPorts "context" $) | nindent 4 }}
{{- end }}
selector:
app.kubernetes.io/name: alertmanager
alertmanager: {{ template "kube-prometheus.alertmanager.fullname" . }}

View File

@@ -3,10 +3,18 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if index .Values.alertmanager.serviceAccount "annotations" }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.serviceAccount.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.alertmanager.serviceAccount.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.serviceAccount.annotations "context" $) | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.alertmanager.serviceAccount.automountServiceAccountToken }}
{{- include "kube-prometheus.imagePullSecrets" . }}
{{- end }}

View File

@@ -3,24 +3,47 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
{{- if .Values.alertmanager.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.alertmanager.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.alertmanager.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.alertmanager.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: {{ .Values.alertmanager.serviceMonitor.jobLabel | quote }}
selector:
matchLabels: {{- include "kube-prometheus.alertmanager.matchLabels" . | nindent 6 }}
{{- if .Values.alertmanager.serviceMonitor.selector }}
{{- include "common.tplvalues.render" (dict "value" .Values.alertmanager.serviceMonitor.selector "context" $) | nindent 6 }}
{{- end }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
- {{ include "common.names.namespace" . | quote }}
endpoints:
- port: http
path: {{ trimSuffix "/" .Values.alertmanager.routePrefix }}/metrics
{{- if .Values.alertmanager.serviceMonitor.interval }}
interval: {{ .Values.alertmanager.serviceMonitor.interval }}
{{- end }}
path: {{ trimSuffix "/" .Values.alertmanager.routePrefix }}/metrics
{{- if .Values.alertmanager.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.alertmanager.serviceMonitor.scrapeTimeout }}
{{- end }}
{{- if .Values.alertmanager.serviceMonitor.honorLabels }}
honorLabels: {{ .Values.alertmanager.serviceMonitor.honorLabels }}
{{- end }}
{{- if .Values.alertmanager.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.alertmanager.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.alertmanager.serviceMonitor.relabelings }}
relabelings: {{- toYaml .Values.alertmanager.serviceMonitor.relabelings | nindent 8 }}
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.alertmanager.serviceMonitor.relabelings "context" $) | nindent 8 }}
{{- end }}
{{- end }}

View File

@@ -5,8 +5,14 @@ apiVersion: v1
kind: Secret
metadata:
name: {{ .name }}
namespace: {{ $.Release.Namespace }}
namespace: {{ include "common.names.namespace" $ | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" $ | nindent 4 }}
{{- if $.Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if $.Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $.Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: kubernetes.io/tls
data:
tls.crt: {{ .certificate | b64enc }}
@@ -14,14 +20,14 @@ data:
---
{{- end }}
{{- end }}
{{- if and .Values.alertmanager.ingress.tls (not .Values.alertmanager.ingress.certManager) }}
{{- if and .Values.alertmanager.ingress.tls .Values.alertmanager.ingress.selfSigned }}
{{- $ca := genCA "alertmanager-ca" 365 }}
{{- $cert := genSignedCert .Values.alertmanager.ingress.hostname nil (list .Values.alertmanager.ingress.hostname) 365 $ca }}
apiVersion: v1
kind: Secret
metadata:
name: {{ printf "%s-tls" .Values.alertmanager.ingress.hostname }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }}
type: kubernetes.io/tls
data:

View File

@@ -3,7 +3,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "kube-prometheus.blackboxExporter.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.blackboxExporter.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}

View File

@@ -3,7 +3,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ template "kube-prometheus.blackboxExporter.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.blackboxExporter.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
@@ -63,9 +63,12 @@ spec:
{{- if .Values.blackboxExporter.podSecurityContext.enabled }}
securityContext: {{- omit .Values.blackboxExporter.podSecurityContext "enabled" | toYaml | nindent 8 }}
{{- end }}
{{- if .Values.blackboxExporter.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ .Values.blackboxExporter.terminationGracePeriodSeconds }}
{{- end }}
initContainers:
{{- if .Values.blackboxExporter.initContainers }}
{{- include "common.tplvalues.render" (dict "value" .Values.blackboxExporter.initContainers "context" $) | nindent 8 }}
{{- include "common.tplvalues.render" (dict "value" .Values.blackboxExporter.initContainers "context" $) | nindent 8 }}
{{- end }}
containers:
- name: blackbox-exporter

View File

@@ -3,12 +3,11 @@ apiVersion: v1
kind: Service
metadata:
name: {{ template "kube-prometheus.blackboxExporter.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.blackboxExporter.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if or .Values.commonAnnotations .Values.blackboxExporter.service.annotations }}
annotations:
{{- if .Values.blackboxExporter.service.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.blackboxExporter.service.annotations "context" $ ) | nindent 4 }}
@@ -16,20 +15,24 @@ metadata:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
spec:
type: {{ .Values.blackboxExporter.service.type }}
{{- if .Values.blackboxExporter.service.sessionAffinity }}
sessionAffinity: {{ .Values.blackboxExporter.service.sessionAffinity }}
{{- if .Values.blackboxExporter.service.clusterIP }}
{{- end }}
{{- if .Values.blackboxExporter.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.blackboxExporter.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
{{- if and .Values.blackboxExporter.service.clusterIP (eq .Values.blackboxExporter.service.type "ClusterIP") }}
clusterIP: {{ .Values.blackboxExporter.service.clusterIP }}
{{- end }}
{{- if (or (eq .Values.blackboxExporter.service.type "LoadBalancer") (eq .Values.blackboxExporter.service.type "NodePort")) }}
{{- if or (eq .Values.blackboxExporter.service.type "LoadBalancer") (eq .Values.blackboxExporter.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.blackboxExporter.service.externalTrafficPolicy | quote }}
{{- end }}
{{ if eq .Values.blackboxExporter.service.type "LoadBalancer" }}
{{- if and (eq .Values.blackboxExporter.service.type "LoadBalancer") (not (empty .Values.blackboxExporter.service.loadBalancerSourceRanges)) }}
loadBalancerSourceRanges: {{ .Values.blackboxExporter.service.loadBalancerSourceRanges }}
{{ end }}
{{- if (and (eq .Values.blackboxExporter.service.type "LoadBalancer") (not (empty .Values.blackboxExporter.service.loadBalancerIP))) }}
{{- end }}
{{- if and (eq .Values.blackboxExporter.service.type "LoadBalancer") (not (empty .Values.blackboxExporter.service.loadBalancerIP)) }}
loadBalancerIP: {{ .Values.blackboxExporter.service.loadBalancerIP }}
{{- end }}
publishNotReadyAddresses: true

View File

@@ -3,10 +3,18 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "kube-prometheus.blackboxExporter.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.blackboxExporter.labels" . | nindent 4 }}
{{- if index .Values.blackboxExporter.serviceAccount.annotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.blackboxExporter.serviceAccount.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.blackboxExporter.serviceAccount.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.blackboxExporter.serviceAccount.annotations "context" $) | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.blackboxExporter.serviceAccount.automountServiceAccountToken }}
{{- include "kube-prometheus.imagePullSecrets" . }}
{{- end }}

View File

@@ -4,18 +4,25 @@ kind: Service
metadata:
name: {{ template "kube-prometheus.fullname" . }}-coredns
namespace: {{ .Values.coreDns.namespace }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
type: ClusterIP
clusterIP: None
ports:
- name: http-metrics
port: {{ .Values.coreDns.service.port }}
port: {{ .Values.coreDns.service.ports.http }}
protocol: TCP
targetPort: {{ .Values.coreDns.service.targetPort }}
targetPort: {{ .Values.coreDns.service.targetPorts.http }}
selector:
{{- if .Values.coreDns.service.selector }}
{{ toYaml .Values.coreDns.service.selector | indent 4 }}
{{- include "common.tplvalues.render" ( dict "value" .Values.coreDns.service.selector "context" $ ) | nindent 4 }}
{{- else }}
k8s-app: kube-dns
{{- end }}

View File

@@ -3,9 +3,22 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.fullname" . }}-coredns
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns
{{- if .Values.kubeProxy.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.kubeProxy.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: k8s-app
selector:

View File

@@ -3,9 +3,22 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.fullname" . }}-apiserver
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: apiserver
{{- if .Values.kubeProxy.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.kubeProxy.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: component
selector:
@@ -30,6 +43,6 @@ spec:
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubeApiServer.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.kubeApiServer.serviceMonitor.relabelings }}
relabelings: {{- toYaml .Values.kubeApiServer.serviceMonitor.relabelings | nindent 8 }}
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubeApiServer.serviceMonitor.relabelings "context" $) | nindent 8 }}
{{- end }}
{{- end }}

View File

@@ -4,8 +4,14 @@ kind: Endpoints
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
namespace: {{ .Values.kubeControllerManager.namespace }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-controller-manager
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
subsets:
- addresses:
{{- range .Values.kubeControllerManager.endpoints }}
@@ -13,6 +19,6 @@ subsets:
{{- end }}
ports:
- name: http-metrics
port: {{ .Values.kubeControllerManager.service.port }}
port: {{ .Values.kubeControllerManager.service.ports.http }}
protocol: TCP
{{- end }}

View File

@@ -4,22 +4,28 @@ kind: Service
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
namespace: {{ .Values.kubeControllerManager.namespace }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-controller-manager
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
type: ClusterIP
clusterIP: None
ports:
- name: http-metrics
port: {{ .Values.kubeControllerManager.service.port }}
port: {{ .Values.kubeControllerManager.service.ports.http }}
protocol: TCP
targetPort: {{ .Values.kubeControllerManager.service.targetPort }}
{{- if .Values.kubeControllerManager.endpoints }}{{- else }}
targetPort: {{ .Values.kubeControllerManager.service.targetPorts.http }}
{{- if not .Values.kubeControllerManager.endpoints }}
selector:
{{- if .Values.kubeControllerManager.service.selector }}
{{ toYaml .Values.kubeControllerManager.service.selector | indent 4 }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeControllerManager.service.selector "context" $ ) | nindent 4 }}
{{- else }}
component: kube-controller-manager
{{- end }}
{{- end }}
type: ClusterIP
{{- end }}

View File

@@ -3,22 +3,32 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-controller-manager
{{- if .Values.kubeProxy.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.kubeProxy.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: component
selector:
matchLabels:
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager
app.kubernetes.io/component: kube-controller-manager
namespaceSelector:
matchNames:
- {{ .Values.kubeControllerManager.namespace }}
endpoints:
- port: http-metrics
{{- if .Values.kubeControllerManager.serviceMonitor.interval }}
interval: {{ .Values.kubeControllerManager.serviceMonitor.interval }}
{{- end }}
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
{{- if .Values.kubeControllerManager.serviceMonitor.https }}
scheme: https
@@ -31,6 +41,9 @@ spec:
serverName: {{ .Values.kubeControllerManager.serviceMonitor.serverName }}
{{- end }}
{{- end }}
{{- if .Values.kubeControllerManager.serviceMonitor.interval }}
interval: {{ .Values.kubeControllerManager.serviceMonitor.interval }}
{{- end }}
{{- if .Values.kubeControllerManager.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeControllerManager.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
{{- end }}

View File

@@ -4,8 +4,14 @@ kind: Endpoints
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-proxy
namespace: {{ .Values.kubeProxy.namespace }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-proxy
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
subsets:
- addresses:
{{- range .Values.kubeProxy.endpoints }}
@@ -13,6 +19,6 @@ subsets:
{{- end }}
ports:
- name: http-metrics
port: {{ .Values.kubeProxy.service.port }}
port: {{ .Values.kubeProxy.service.ports.http }}
protocol: TCP
{{- end }}

View File

@@ -4,22 +4,28 @@ kind: Service
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-proxy
namespace: {{ .Values.kubeProxy.namespace }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-proxy
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
type: ClusterIP
clusterIP: None
ports:
- name: http-metrics
port: {{ .Values.kubeProxy.service.port }}
port: {{ .Values.kubeProxy.service.ports.http }}
protocol: TCP
targetPort: {{ .Values.kubeProxy.service.targetPort }}
{{- if .Values.kubeProxy.endpoints }}{{- else }}
targetPort: {{ .Values.kubeProxy.service.targetPorts.http }}
{{- if not .Values.kubeProxy.endpoints }}
selector:
{{- if .Values.kubeProxy.service.selector }}
{{ toYaml .Values.kubeProxy.service.selector | nindent 4 }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.service.selector "context" $ ) | nindent 4 }}
{{- else }}
k8s-app: kube-proxy
{{- end }}
{{- end }}
type: ClusterIP
{{- end }}
{{- end -}}

View File

@@ -3,9 +3,22 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-proxy
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-proxy
{{- if .Values.kubeProxy.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.kubeProxy.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeProxy.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: k8s-app
selector:
@@ -16,15 +29,15 @@ spec:
- {{ .Values.kubeProxy.namespace }}
endpoints:
- port: http-metrics
{{- if .Values.kubeProxy.serviceMonitor.interval }}
interval: {{ .Values.kubeProxy.serviceMonitor.interval }}
{{- end }}
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
{{- if .Values.kubeProxy.serviceMonitor.https }}
scheme: https
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
{{- end }}
{{- if .Values.kubeProxy.serviceMonitor.interval }}
interval: {{ .Values.kubeProxy.serviceMonitor.interval }}
{{- end }}
{{- if .Values.kubeProxy.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- toYaml .Values.kubeProxy.serviceMonitor.metricRelabelings | nindent 8 }}
{{- end }}

View File

@@ -4,8 +4,14 @@ kind: Endpoints
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
namespace: {{ .Values.kubeScheduler.namespace }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-scheduler
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
subsets:
- addresses:
{{- range .Values.kubeScheduler.endpoints }}
@@ -13,6 +19,6 @@ subsets:
{{- end }}
ports:
- name: http-metrics
port: {{ .Values.kubeScheduler.service.port }}
port: {{ .Values.kubeScheduler.service.ports.http }}
protocol: TCP
{{- end }}

View File

@@ -4,22 +4,28 @@ kind: Service
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
namespace: {{ .Values.kubeScheduler.namespace }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-scheduler
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
type: ClusterIP
clusterIP: None
ports:
- name: http-metrics
port: {{ .Values.kubeScheduler.service.port }}
port: {{ .Values.kubeScheduler.service.ports.http }}
protocol: TCP
targetPort: {{ .Values.kubeScheduler.service.targetPort }}
{{- if .Values.kubeScheduler.endpoints }}{{- else }}
targetPort: {{ .Values.kubeScheduler.service.targetPorts.http }}
{{- if not .Values.kubeScheduler.endpoints }}
selector:
{{- if .Values.kubeScheduler.service.selector }}
{{ toYaml .Values.kubeScheduler.service.selector | indent 4 }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeScheduler.service.selector "context" $ ) | nindent 4 }}
{{- else }}
component: kube-scheduler
{{- end }}
{{- end }}
{{- end }}
type: ClusterIP
{{- end -}}

View File

@@ -3,22 +3,32 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kube-scheduler
{{- if .Values.kubeScheduler.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeScheduler.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.kubeScheduler.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubeScheduler.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: component
selector:
matchLabels:
app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler
app.kubernetes.io/component: kube-scheduler
namespaceSelector:
matchNames:
- {{ .Values.kubeScheduler.namespace }}
endpoints:
- port: http-metrics
{{- if .Values.kubeScheduler.serviceMonitor.interval }}
interval: {{ .Values.kubeScheduler.serviceMonitor.interval }}
{{- end }}
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
{{- if .Values.kubeScheduler.serviceMonitor.https }}
scheme: https
@@ -31,10 +41,13 @@ spec:
serverName: {{ .Values.kubeScheduler.serviceMonitor.serverName }}
{{- end }}
{{- end }}
{{- if .Values.kubeScheduler.serviceMonitor.interval }}
interval: {{ .Values.kubeScheduler.serviceMonitor.interval }}
{{- end }}
{{- if .Values.kubeScheduler.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.metricRelabelings "context" $) | nindent 6 }}
{{- end }}
{{- if .Values.kubeScheduler.serviceMonitor.relabelings }}
metricRelabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.relabelings "context" $) | nindent 6 }}
relabelings: {{- include "common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.relabelings "context" $) | nindent 6 }}
{{- end }}
{{- end }}

View File

@@ -3,9 +3,22 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.fullname" . }}-kubelet
namespace: {{ .Release.Namespace | quote }}
labels: {{- include "kube-prometheus.labels" . | nindent 4 }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: kubelet
{{- if .Values.kubelet.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.kubelet.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
jobLabel: k8s-app
selector:
@@ -15,14 +28,19 @@ spec:
matchNames:
- {{ .Values.kubelet.namespace }}
endpoints:
{{- if .Values.kubelet.serviceMonitor.https }}
- port: https-metrics
scheme: https
{{- $scheme := ternary "https" "http" .Values.kubelet.serviceMonitor.https }}
- port: {{ printf "%s-metrics" $scheme }}
scheme: {{$scheme}}
{{- if .Values.kubelet.serviceMonitor.https }}
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
serverName: kubernetes
insecureSkipVerify: true
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
{{- else }}
tlsConfig:
insecureSkipVerify: false
{{- end }}
honorLabels: true
{{- if .Values.kubelet.serviceMonitor.interval }}
interval: {{ .Values.kubelet.serviceMonitor.interval }}
@@ -31,16 +49,21 @@ spec:
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.kubelet.serviceMonitor.relabelings }}
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }}
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.relabelings "context" $) | nindent 8 }}
{{- end }}
- port: https-metrics
- port: {{ printf "%s-metrics" $scheme }}
scheme: {{$scheme}}
path: /metrics/cadvisor
scheme: https
{{- if .Values.kubelet.serviceMonitor.https }}
tlsConfig:
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
serverName: kubernetes
insecureSkipVerify: true
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
{{- else }}
tlsConfig:
insecureSkipVerify: false
{{- end }}
honorLabels: true
{{- if .Values.kubelet.serviceMonitor.interval }}
interval: {{ .Values.kubelet.serviceMonitor.interval }}
@@ -49,37 +72,6 @@ spec:
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }}
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }}
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- else }}
- port: http-metrics
scheme: http
tlsConfig:
insecureSkipVerify: false
honorLabels: true
{{- if .Values.kubelet.serviceMonitor.interval }}
interval: {{ .Values.kubelet.serviceMonitor.interval }}
{{- end }}
{{- if .Values.kubelet.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.kubelet.serviceMonitor.relabelings }}
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }}
{{- end }}
- port: http-metrics
path: /metrics/cadvisor
scheme: http
tlsConfig:
insecureSkipVerify: false
honorLabels: true
{{- if .Values.kubelet.serviceMonitor.interval }}
interval: {{ .Values.kubelet.serviceMonitor.interval }}
{{- end }}
{{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }}
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }}
relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }}
{{- end }}
{{- end }}
{{- end }}

View File

@@ -3,8 +3,14 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: ClusterRole
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
rules:
- apiGroups:
- apiextensions.k8s.io

View File

@@ -3,8 +3,14 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: ClusterRoleBinding
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@@ -12,5 +18,5 @@ roleRef:
subjects:
- kind: ServiceAccount
name: {{ template "kube-prometheus.operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- end }}

View File

@@ -3,8 +3,14 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
data:
prometheus-config-reloader: {{ template "kube-prometheus.prometheusConfigReloader.image" . }}
{{- end }}

View File

@@ -3,8 +3,14 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
replicas: 1
selector:
@@ -12,11 +18,15 @@ spec:
template:
metadata:
labels: {{- include "kube-prometheus.operator.labels" . | nindent 8 }}
{{- if .Values.operator.podLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.operator.podLabels "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.operator.podAnnotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.operator.podAnnotations "context" $) | nindent 8 }}
{{- end }}
spec:
serviceAccountName: {{ template "kube-prometheus.operator.serviceAccountName" . }}
{{- include "kube-prometheus.imagePullSecrets" . | nindent 6 }}
{{- if .Values.operator.schedulerName }}
schedulerName: {{ .Values.operator.schedulerName | quote }}
{{- end }}
@@ -43,16 +53,28 @@ spec:
{{- if .Values.operator.tolerations }}
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.operator.tolerations "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.operator.topologySpreadConstraints }}
topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.operator.topologySpreadConstraints "context" .) | nindent 8 }}
{{- end }}
{{- if .Values.operator.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ .Values.operator.terminationGracePeriodSeconds }}
{{- end }}
{{- if .Values.operator.initContainers }}
initContainers: {{- include "common.tplvalues.render" (dict "value" .Values.operator.initContainers "context" $) | nindent 8 }}
{{- end }}
containers:
- name: prometheus-operator
image: {{ template "kube-prometheus.image" . }}
imagePullPolicy: {{ .Values.operator.image.pullPolicy }}
env:
- name: PROMETHEUS_CONFIG_RELOADER
valueFrom:
configMapKeyRef:
name: {{ template "kube-prometheus.operator.fullname" . }}
key: prometheus-config-reloader
{{- if .Values.operator.containerSecurityContext.enabled }}
securityContext: {{- omit .Values.operator.containerSecurityContext "enabled" | toYaml | nindent 12 }}
{{- end }}
{{- if .Values.operator.command }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.operator.command "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.operator.args }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.operator.args "context" $) | nindent 12 }}
{{- else }}
args:
{{- if .Values.operator.kubeletService.enabled }}
- --kubelet-service={{ .Values.operator.kubeletService.namespace }}/{{ template "kube-prometheus.fullname" . }}-kubelet
@@ -84,40 +106,69 @@ spec:
{{- if .Values.operator.extraArgs }}
{{- include "common.tplvalues.render" (dict "value" .Values.operator.extraArgs "context" $) | nindent 12 }}
{{- end }}
{{- end }}
{{- if .Values.operator.lifecycleHooks }}
lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.operator.lifecycleHooks "context" $) | nindent 12 }}
{{- end }}
env:
- name: PROMETHEUS_CONFIG_RELOADER
valueFrom:
configMapKeyRef:
name: {{ template "kube-prometheus.operator.fullname" . }}
key: prometheus-config-reloader
{{- if .Values.operator.extraEnvVars }}
{{- include "common.tplvalues.render" (dict "value" .Values.operator.extraEnvVars "context" $) | nindent 12 }}
{{- end }}
envFrom:
{{- if .Values.operator.extraEnvVarsCM }}
- configMapRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.operator.extraEnvVarsCM "context" $) }}
{{- end }}
{{- if .Values.operator.extraEnvVarsSecret }}
- secretRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.operator.extraEnvVarsSecret "context" $) }}
{{- end }}
ports:
- name: http
containerPort: 8080
protocol: TCP
{{- if .Values.operator.livenessProbe.enabled }}
livenessProbe:
livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.operator.livenessProbe "enabled") "context" $) | nindent 12 }}
httpGet:
path: {{ .Values.operator.livenessProbe.path }}
path: /metrics
port: http
scheme: HTTP
initialDelaySeconds: {{ .Values.operator.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.operator.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.operator.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.operator.livenessProbe.failureThreshold }}
successThreshold: {{ .Values.operator.livenessProbe.successThreshold }}
{{- else if .Values.operator.customLivenessProbe }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.operator.customLivenessProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.operator.readinessProbe.enabled }}
readinessProbe:
readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.operator.readinessProbe "enabled") "context" $) | nindent 12 }}
httpGet:
path: {{ .Values.operator.readinessProbe.path }}
path: /metrics
port: http
scheme: HTTP
initialDelaySeconds: {{ .Values.operator.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.operator.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.operator.readinessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.operator.readinessProbe.failureThreshold }}
successThreshold: {{ .Values.operator.readinessProbe.successThreshold }}
{{- else if .Values.operator.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.operator.customReadinessProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.operator.startupProbe.enabled }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.operator.startupProbe "enabled") "context" $) | nindent 12 }}
httpGet:
path: /metrics
port: http
scheme: HTTP
{{- else if .Values.operator.customStartupProbe }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.operator.customStartupProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.operator.resources }}
resources: {{- toYaml .Values.operator.resources | nindent 12 }}
{{- end }}
{{- if .Values.operator.containerSecurityContext.enabled }}
# yamllint disable rule:indentation
securityContext: {{- omit .Values.operator.containerSecurityContext "enabled" | toYaml | nindent 12 }}
# yamllint enable rule:indentation
{{- if .Values.operator.extraVolumeMounts }}
volumeMounts: {{- include "common.tplvalues.render" (dict "value" .Values.operator.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.operator.sidecars }}
{{- include "common.tplvalues.render" ( dict "value" .Values.operator.sidecars "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.operator.extraVolumes }}
volumes: {{- include "common.tplvalues.render" (dict "value" .Values.operator.extraVolumes "context" $) | nindent 8 }}
{{- end }}
{{- end }}

View File

@@ -4,8 +4,14 @@ kind: ClusterRole
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}-psp
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
rules:
- apiGroups: ['extensions']
resources: ['podsecuritypolicies']

View File

@@ -4,8 +4,14 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: ClusterRoleBinding
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}-psp
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@@ -13,5 +19,5 @@ roleRef:
subjects:
- kind: ServiceAccount
name: {{ template "kube-prometheus.operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- end }}

View File

@@ -4,8 +4,14 @@ apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
privileged: false
allowPrivilegeEscalation: false

View File

@@ -3,36 +3,50 @@ apiVersion: v1
kind: Service
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- with .Values.operator.service.annotations }}
annotations: {{- toYaml . | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.operator.service.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.operator.service.annotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.operator.service.type }}
{{- if and .Values.operator.service.loadBalancerIP (eq .Values.operator.service.type "LoadBalancer") }}
{{- if and (eq .Values.operator.service.type "LoadBalancer") (not (empty .Values.operator.service.loadBalancerIP)) }}
loadBalancerIP: {{ .Values.operator.service.loadBalancerIP }}
{{- end }}
{{- if and (eq .Values.operator.service.type "LoadBalancer") .Values.operator.service.loadBalancerSourceRanges }}
{{- with .Values.operator.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges: {{- toYaml . | nindent 4 }}
{{- if and (eq .Values.operator.service.type "LoadBalancer") (not (empty .Values.operator.service.loadBalancerSourceRanges)) }}
loadBalancerSourceRanges: {{ .Values.operator.service.loadBalancerSourceRanges }}
{{- end }}
{{- if or (eq .Values.operator.service.type "LoadBalancer") (eq .Values.operator.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.operator.service.externalTrafficPolicy | quote }}
{{- end }}
{{- if and (eq .Values.operator.service.type "LoadBalancer") .Values.operator.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.operator.service.externalTrafficPolicy }}
{{- if .Values.operator.service.sessionAffinity }}
sessionAffinity: {{ .Values.operator.service.sessionAffinity }}
{{- end }}
{{- if .Values.operator.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.operator.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
{{- if and (eq .Values.operator.service.type "LoadBalancer") (eq .Values.operator.service.externalTrafficPolicy "Local") .Values.operator.service.healthCheckNodePort }}
healthCheckNodePort: {{ .Values.operator.service.healthCheckNodePort }}
{{- end }}
{{- if and (eq .Values.operator.service.type "ClusterIP") .Values.operator.service.clusterIP }}
{{- if and .Values.operator.service.clusterIP (eq .Values.operator.service.type "ClusterIP") }}
clusterIP: {{ .Values.operator.service.clusterIP }}
{{- end }}
ports:
- name: http
port: {{ .Values.operator.service.port }}
port: {{ .Values.operator.service.ports.http }}
targetPort: http
{{- if and .Values.operator.service.nodePort (or (eq .Values.operator.service.type "NodePort") (eq .Values.operator.service.type "LoadBalancer")) }}
nodePort: {{ .Values.operator.service.nodePort }}
{{- if and .Values.operator.service.nodePorts.http (or (eq .Values.operator.service.type "NodePort") (eq .Values.operator.service.type "LoadBalancer")) }}
nodePort: {{ .Values.operator.service.nodePorts.http }}
{{- end }}
{{- if .Values.operator.service.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" .Values.operator.service.extraPorts "context" $) | nindent 4 }}
{{- end }}
selector: {{- include "kube-prometheus.operator.matchLabels" . | nindent 4 }}
{{- end }}

View File

@@ -3,7 +3,18 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "kube-prometheus.operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.operator.serviceAccount.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.operator.serviceAccount.annotations "context" $) | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.operator.serviceAccount.automountServiceAccountToken }}
{{- include "kube-prometheus.imagePullSecrets" . }}
{{- end }}

View File

@@ -3,8 +3,21 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.operator.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.operator.labels" . | nindent 4 }}
{{- if .Values.operator.serviceMonitor.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.operator.serviceMonitor.labels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.operator.serviceMonitor.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.operator.serviceMonitor.annotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
endpoints:
- port: http
@@ -12,15 +25,18 @@ spec:
{{- if .Values.operator.serviceMonitor.interval }}
interval: {{ .Values.operator.serviceMonitor.interval }}
{{- end }}
{{- if .Values.operator.serviceMonitor.metricRelabelings }}
{{- if .Values.operator.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.operator.serviceMonitor.scrapeTimeout }}
{{- end }}
{{- if .Values.operator.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.operator.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.operator.serviceMonitor.relabelings }}
relabelings: {{- toYaml .Values.operator.serviceMonitor.relabelings | nindent 8 }}
{{- end }}
{{- end }}
{{- if .Values.operator.serviceMonitor.relabelings }}
relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.operator.serviceMonitor.relabelings "context" $) | nindent 8 }}
{{- end }}
selector:
matchLabels: {{- include "kube-prometheus.operator.matchLabels" . | nindent 6 }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
- {{ include "common.names.namespace" . | quote }}
{{- end }}

View File

@@ -1,13 +1,19 @@
{{- if and .Values.prometheus.enabled .Values.prometheus.additionalPrometheusRules }}
{{- range .Values.prometheus.additionalPrometheusRules }}
{{- range .Values.prometheus.additionalPrometheusRules }}
---
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ template "kube-prometheus.name" $ }}-{{ .name }}
namespace: {{ $.Release.Namespace }}
namespace: {{ include "common.names.namespace" $ | quote }}
labels: {{ include "kube-prometheus.prometheus.labels" $ | nindent 4 }}
spec:
groups: {{- toYaml .groups | nindent 4 }}
{{- if $.Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if $.Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $.Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
groups: {{- include "common.tplvalues.render" ( dict "value" .groups "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -3,8 +3,14 @@ apiVersion: v1
kind: Secret
metadata:
name: additional-scrape-jobs-{{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
data:
scrape-jobs.yaml: {{ include "common.tplvalues.render" ( dict "value" .Values.prometheus.additionalScrapeConfigs.internal.jobList "context" $ ) | b64enc | quote }}
{{- end }}

View File

@@ -1,10 +1,16 @@
{{- if and .Values.prometheus.enabled .Values.rbac.create -}}
{{- if and .Values.prometheus.enabled .Values.rbac.create }}
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: ClusterRole
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
rules:
- apiGroups:
- ""

View File

@@ -3,8 +3,14 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: ClusterRoleBinding
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@@ -12,5 +18,5 @@ roleRef:
subjects:
- kind: ServiceAccount
name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- end }}

View File

@@ -3,14 +3,17 @@ apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
annotations:
{{- if .Values.prometheus.ingress.certManager }}
kubernetes.io/tls-acme: "true"
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- range $key, $value := .Values.prometheus.ingress.annotations }}
{{ $key }}: {{ $value | quote }}
annotations:
{{- if .Values.prometheus.ingress.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.prometheus.ingress.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.prometheus.ingress.ingressClassName (include "common.ingress.supportsIngressClassname" .) }}
@@ -43,9 +46,9 @@ spec:
{{- if .Values.prometheus.ingress.extraRules }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.ingress.extraRules "context" $) | nindent 4 }}
{{- end }}
{{- if or .Values.prometheus.ingress.tls .Values.prometheus.ingress.extraTls }}
{{- if or .Values.prometheus.ingress.extraTls (and .Values.prometheus.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.prometheus.ingress.annotations )) .Values.prometheus.ingress.selfSigned)) }}
tls:
{{- if .Values.prometheus.ingress.tls }}
{{- if and .Values.prometheus.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.prometheus.ingress.annotations )) .Values.prometheus.ingress.selfSigned) }}
- hosts:
- {{ .Values.prometheus.ingress.hostname }}
secretName: {{ printf "%s-tls" .Values.prometheus.ingress.hostname }}

View File

@@ -1,19 +1,25 @@
{{- if and .Values.prometheus.enabled .Values.prometheus.podDisruptionBudget.enabled }}
{{- if and .Values.prometheus.enabled .Values.prometheus.pdb.create }}
apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
kind: PodDisruptionBudget
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
app.kubernetes.io/name: prometheus
prometheus: {{ template "kube-prometheus.prometheus.fullname" . }}
{{- if .Values.prometheus.podDisruptionBudget.minAvailable }}
minAvailable: {{ .Values.prometheus.podDisruptionBudget.minAvailable }}
{{- if .Values.prometheus.pdb.minAvailable }}
minAvailable: {{ .Values.prometheus.pdb.minAvailable }}
{{- end }}
{{- if .Values.prometheus.podDisruptionBudget.maxUnavailable }}
maxUnavailable: {{ .Values.prometheus.podDisruptionBudget.maxUnavailable }}
{{- if .Values.prometheus.pdb.maxUnavailable }}
maxUnavailable: {{ .Values.prometheus.pdb.maxUnavailable }}
{{- end }}
{{- end }}

View File

@@ -3,8 +3,14 @@ apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
replicas: {{ .Values.prometheus.replicaCount }}
shards: {{ .Values.prometheus.shards }}
@@ -29,7 +35,7 @@ spec:
{{- if .Values.prometheus.alertingEndpoints }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.alertingEndpoints "context" $) | nindent 6 }}
{{- else if .Values.alertmanager.enabled }}
- namespace: {{ .Release.Namespace | quote }}
- namespace: {{ include "common.names.namespace" . | quote }}
name: {{ template "kube-prometheus.alertmanager.fullname" . }}
port: http
pathPrefix: "{{ .Values.alertmanager.routePrefix }}"
@@ -54,10 +60,10 @@ spec:
{{- end }}
{{- if index .Values.prometheus "externalUrl" }}
externalUrl: "{{ .Values.prometheus.externalUrl }}"
{{- else if and .Values.prometheus.ingress.enabled .Values.prometheus.ingress.hosts }}
externalUrl: {{ if .Values.prometheus.ingress.tls }}https{{ else }}http{{ end }}://{{ (index .Values.prometheus.ingress.hosts 0).name }}{{ .Values.prometheus.routePrefix }}
{{- else if and .Values.prometheus.ingress.enabled }}
externalUrl: {{ printf "%s://%s%s" (ternary "https" "http" .Values.prometheus.ingress.tls) .Values.prometheus.ingress.hostname .Values.prometheus.routePrefix }}
{{- else }}
externalUrl: http://{{ template "kube-prometheus.prometheus.fullname" . }}.{{ .Release.Namespace }}:9090{{ .Values.prometheus.routePrefix }}
externalUrl: http://{{ template "kube-prometheus.prometheus.fullname" . }}.{{ include "common.names.namespace" . }}:9090{{ .Values.prometheus.routePrefix }}
{{- end }}
paused: {{ .Values.prometheus.paused }}
logLevel: {{ .Values.prometheus.logLevel }}

View File

@@ -1,11 +1,17 @@
{{- $pspAvailable := (semverCompare "<1.25-0" (include "common.capabilities.kubeVersion" .)) -}}
{{- $pspAvailable := (semverCompare "<1.25-0" (include "common.capabilities.kubeVersion" .)) }}
{{- if and $pspAvailable .Values.prometheus.enabled .Values.rbac.create .Values.rbac.pspEnabled }}
kind: ClusterRole
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}-psp
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
rules:
- apiGroups: ['extensions']
resources: ['podsecuritypolicies']

View File

@@ -4,8 +4,14 @@ apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: ClusterRoleBinding
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}-psp
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
@@ -13,5 +19,5 @@ roleRef:
subjects:
- kind: ServiceAccount
name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
{{- end }}

View File

@@ -4,8 +4,14 @@ apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
privileged: false
allowPrivilegeEscalation: false

View File

@@ -3,40 +3,48 @@ apiVersion: v1
kind: Service
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.prometheus.service.annotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.service.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.prometheus.service.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.service.annotations "context" $) | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.prometheus.service.type }}
{{- if index .Values.prometheus "stickySessions" }}
sessionAffinity: ClientIP
{{- if .Values.prometheus.service.sessionAffinity }}
sessionAffinity: {{ .Values.prometheus.service.sessionAffinity }}
{{- end }}
{{- if and .Values.prometheus.service.loadBalancerIP (eq .Values.prometheus.service.type "LoadBalancer") }}
{{- if .Values.prometheus.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
{{- if and (eq .Values.prometheus.service.type "LoadBalancer") (not (empty .Values.prometheus.service.loadBalancerIP)) }}
loadBalancerIP: {{ .Values.prometheus.service.loadBalancerIP }}
{{- end }}
{{- if and (eq .Values.prometheus.service.type "LoadBalancer") .Values.prometheus.service.loadBalancerSourceRanges }}
{{- with .Values.prometheus.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges: {{- toYaml . | nindent 4 }}
{{- if and (eq .Values.prometheus.service.type "LoadBalancer") (not (empty .Values.prometheus.service.loadBalancerSourceRanges)) }}
loadBalancerSourceRanges: {{ .Values.prometheus.service.loadBalancerSourceRanges }}
{{- end }}
{{- end }}
{{- if and (eq .Values.prometheus.service.type "LoadBalancer") .Values.prometheus.service.externalTrafficPolicy }}
externalTrafficPolicy: {{ .Values.operator.service.externalTrafficPolicy }}
{{- if or (eq .Values.prometheus.service.type "LoadBalancer") (eq .Values.prometheus.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.prometheus.service.externalTrafficPolicy | quote }}
{{- end }}
{{- if and (eq .Values.prometheus.service.type "LoadBalancer") (eq .Values.prometheus.service.externalTrafficPolicy "Local") .Values.prometheus.service.healthCheckNodePort }}
healthCheckNodePort: {{ .Values.prometheus.service.healthCheckNodePort }}
{{- end }}
{{- if and (eq .Values.prometheus.service.type "ClusterIP") .Values.prometheus.service.clusterIP }}
{{- if and .Values.prometheus.service.clusterIP (eq .Values.prometheus.service.type "ClusterIP") }}
clusterIP: {{ .Values.prometheus.service.clusterIP }}
{{- end }}
ports:
- name: http
port: {{ .Values.prometheus.service.port }}
port: {{ .Values.prometheus.service.ports.http }}
targetPort: 9090
protocol: TCP
{{- if and .Values.prometheus.service.nodePort (or (eq .Values.prometheus.service.type "NodePort") (eq .Values.prometheus.service.type "LoadBalancer")) }}
nodePort: {{ .Values.prometheus.service.nodePort }}
{{- if and .Values.prometheus.service.nodePorts.http (or (eq .Values.prometheus.service.type "NodePort") (eq .Values.prometheus.service.type "LoadBalancer")) }}
nodePort: {{ .Values.prometheus.service.nodePorts.http }}
{{- end }}
selector:
app.kubernetes.io/name: prometheus

View File

@@ -3,10 +3,18 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if index .Values.prometheus.serviceAccount "annotations" }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.serviceAccount.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.prometheus.serviceAccount.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.serviceAccount.annotations "context" $) | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.prometheus.serviceAccount.automountServiceAccountToken }}
{{- include "kube-prometheus.imagePullSecrets" . }}
{{- end }}

View File

@@ -3,14 +3,20 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels: {{- include "kube-prometheus.prometheus.matchLabels" . | nindent 6 }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
- {{ include "common.names.namespace" . | quote }}
endpoints:
- port: http
{{- if .Values.prometheus.serviceMonitor.interval }}

View File

@@ -3,36 +3,59 @@ apiVersion: {{ include "common.capabilities.ingress.apiVersion" . }}
kind: Ingress
metadata:
name: {{ template "kube-prometheus.thanos.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
app.kubernetes.io/subcomponent: thanos
annotations:
{{- if .Values.prometheus.thanos.ingress.certManager }}
kubernetes.io/tls-acme: "true"
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- range $key, $value := .Values.prometheus.thanos.ingress.annotations }}
{{ $key }}: {{ $value | quote }}
annotations:
{{- if .Values.prometheus.thanos.ingress.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.prometheus.thanos.ingress.annotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.prometheus.thanos.ingress.ingressClassName (include "common.ingress.supportsIngressClassname" .) }}
ingressClassName: {{ .Values.prometheus.thanos.ingress.ingressClassName | quote }}
{{- end }}
rules:
{{- range .Values.prometheus.thanos.ingress.hosts }}
- host: {{ .name }}
{{- if .Values.prometheus.thanos.ingress.hostname }}
- host: {{ .Values.prometheus.thanos.ingress.hostname }}
http:
paths:
- path: {{ default "/" .path }}
{{- if eq "true" (include "common.ingress.supportsPathType" $) }}
pathType: {{ default "ImplementationSpecific" .pathType }}
{{- if .Values.prometheus.thanos.ingress.extraPaths }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.ingress.extraPaths "context" $) | nindent 10 }}
{{- end }}
backend: {{- include "common.ingress.backend" (dict "serviceName" (include "kube-prometheus.thanos.fullname" $) "servicePort" "grpc" "context" $) | nindent 14 }}
- path: {{ .Values.prometheus.thanos.ingress.path }}
{{- if eq "true" (include "common.ingress.supportsPathType" .) }}
pathType: {{ .Values.prometheus.thanos.ingress.pathType }}
{{- end }}
backend: {{- include "common.ingress.backend" (dict "serviceName" (include "kube-prometheus.thanos.fullname" $) "servicePort" "grpc" "context" $) | nindent 14 }}
{{- end }}
{{- range .Values.prometheus.thanos.ingress.extraHosts }}
- host: {{ .name | quote }}
http:
paths:
- path: {{ default "/" .path }}
{{- if eq "true" (include "common.ingress.supportsPathType" $) }}
pathType: {{ default "ImplementationSpecific" .pathType }}
{{- end }}
backend: {{- include "common.ingress.backend" (dict "serviceName" (include "kube-prometheus.thanos.fullname" $) "servicePort" "grpc" "context" $) | nindent 14 }}
{{- end }}
{{- if .Values.prometheus.thanos.ingress.extraRules }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.ingress.extraRules "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.prometheus.thanos.ingress.tls }}
{{- if or (and .Values.prometheus.thanos.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.prometheus.thanos.ingress.annotations )) .Values.prometheus.thanos.ingress.selfSigned)) .Values.prometheus.thanos.ingress.extraTls }}
tls:
{{ toYaml .Values.prometheus.thanos.ingress.tls | indent 4 }}
{{- if and .Values.prometheus.thanos.ingress.tls (or (include "common.ingress.certManagerRequest" ( dict "annotations" .Values.prometheus.thanos.ingress.annotations )) .Values.prometheus.thanos.ingress.selfSigned) }}
- hosts:
- {{ .Values.prometheus.thanos.ingress.hostname | quote }}
secretName: {{ printf "%s-tls" .Values.prometheus.thanos.ingress.hostname }}
{{- end }}
{{- if .Values.prometheus.thanos.ingress.extraTls }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.ingress.extraTls "context" $) | nindent 4 }}
{{- end }}
{{- end }}
{{- end -}}

View File

@@ -3,32 +3,46 @@ apiVersion: v1
kind: Service
metadata:
name: {{ template "kube-prometheus.prometheus.fullname" . }}-thanos
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
app.kubernetes.io/subcomponent: thanos
{{- if .Values.prometheus.thanos.service.annotations }}
annotations: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.service.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.prometheus.thanos.service.annotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.service.annotations "context" $) | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.prometheus.thanos.service.type }}
{{- if and .Values.prometheus.thanos.service.loadBalancerIP (eq .Values.prometheus.thanos.service.type "LoadBalancer") }}
{{- if and (eq .Values.prometheus.thanos.service.type "LoadBalancer") (not (empty .Values.prometheus.thanos.service.loadBalancerIP)) }}
loadBalancerIP: {{ .Values.prometheus.thanos.service.loadBalancerIP }}
{{- end }}
{{- if and (eq .Values.prometheus.thanos.service.type "LoadBalancer") .Values.prometheus.thanos.service.loadBalancerSourceRanges }}
{{- with .Values.prometheus.thanos.service.loadBalancerSourceRanges }}
loadBalancerSourceRanges: {{- toYaml . | nindent 4 }}
{{- if and (eq .Values.prometheus.thanos.service.type "LoadBalancer") (not (empty .Values.prometheus.thanos.service.loadBalancerSourceRanges)) }}
loadBalancerSourceRanges: {{ .Values.prometheus.thanos.service.loadBalancerSourceRanges }}
{{- end }}
{{- end }}
{{- if and (eq .Values.prometheus.thanos.service.type "ClusterIP") .Values.prometheus.thanos.service.clusterIP }}
{{- if and .Values.prometheus.thanos.service.clusterIP (eq .Values.prometheus.thanos.service.type "ClusterIP") }}
clusterIP: {{ .Values.prometheus.thanos.service.clusterIP }}
{{- end }}
{{- if .Values.prometheus.thanos.service.sessionAffinity }}
sessionAffinity: {{ .Values.prometheus.thanos.service.sessionAffinity }}
{{- end }}
{{- if .Values.prometheus.thanos.service.sessionAffinityConfig }}
sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.service.sessionAffinityConfig "context" $) | nindent 4 }}
{{- end }}
{{- if or (eq .Values.prometheus.thanos.service.type "LoadBalancer") (eq .Values.prometheus.thanos.service.type "NodePort") }}
externalTrafficPolicy: {{ .Values.prometheus.thanos.service.externalTrafficPolicy | quote }}
{{- end }}
ports:
- name: grpc
port: {{ .Values.prometheus.thanos.service.port }}
port: {{ .Values.prometheus.thanos.service.ports.grpc }}
targetPort: grpc
protocol: TCP
{{- if and .Values.prometheus.thanos.service.nodePort (or (eq .Values.prometheus.thanos.service.type "NodePort") (eq .Values.prometheus.thanos.service.type "LoadBalancer")) }}
nodePort: {{ .Values.prometheus.thanos.service.nodePort }}
{{- if and .Values.prometheus.thanos.service.nodePorts.grpc (or (eq .Values.prometheus.thanos.service.type "NodePort") (eq .Values.prometheus.thanos.service.type "LoadBalancer")) }}
nodePort: {{ .Values.prometheus.thanos.service.nodePorts.grpc }}
{{- end }}
{{- if .Values.prometheus.thanos.service.extraPorts }}
{{- include "common.tplvalues.render" (dict "value" .Values.prometheus.thanos.service.extraPorts "context" $) | nindent 4 }}

View File

@@ -5,8 +5,14 @@ apiVersion: v1
kind: Secret
metadata:
name: {{ .name }}
namespace: {{ $.Release.Namespace }}
namespace: {{ include "common.names.namespace" $ | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" $ | nindent 4 }}
{{- if $.Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if $.Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $.Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: kubernetes.io/tls
data:
tls.crt: {{ .certificate | b64enc }}
@@ -14,15 +20,66 @@ data:
---
{{- end }}
{{- end }}
{{- if and .Values.prometheus.ingress.tls (not .Values.prometheus.ingress.certManager) }}
{{- if and .Values.prometheus.ingress.tls .Values.prometheus.ingress.selfSigned }}
{{- $ca := genCA "prometheus-ca" 365 }}
{{- $cert := genSignedCert .Values.prometheus.ingress.hostname nil (list .Values.prometheus.ingress.hostname) 365 $ca }}
apiVersion: v1
kind: Secret
metadata:
name: {{ printf "%s-tls" .Values.prometheus.ingress.hostname }}
namespace: {{ .Release.Namespace | quote }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: kubernetes.io/tls
data:
tls.crt: {{ $cert.Cert | b64enc | quote }}
tls.key: {{ $cert.Key | b64enc | quote }}
ca.crt: {{ $ca.Cert | b64enc | quote }}
---
{{- end }}
{{- end }}
{{- if and .Values.prometheus.enabled .Values.prometheus.thanos.create .Values.prometheus.thanos.ingress.enabled }}
{{- if .Values.prometheus.thanos.ingress.secrets }}
{{- range .Values.prometheus.thanos.ingress.secrets }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .name }}
namespace: {{ include "common.names.namespace" $ | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" $ | nindent 4 }}
{{- if $.Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" $.Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if $.Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" $.Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: kubernetes.io/tls
data:
tls.crt: {{ .certificate | b64enc }}
tls.key: {{ .key | b64enc }}
---
{{- end }}
{{- end }}
{{- if and .Values.prometheus.thanos.ingress.tls .Values.prometheus.thanos.ingress.selfSigned }}
{{- $ca := genCA "prometheus-thanos-ca" 365 }}
{{- $cert := genSignedCert .Values.prometheus.thanos.ingress.hostname nil (list .Values.prometheus.thanos.ingress.hostname) 365 $ca }}
apiVersion: v1
kind: Secret
metadata:
name: {{ printf "%s-tls" .Values.prometheus.thanos.ingress.hostname }}
namespace: {{ include "common.names.namespace" . | quote }}
labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }}
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
type: kubernetes.io/tls
data:
tls.crt: {{ $cert.Cert | b64enc | quote }}

View File

@@ -7,7 +7,6 @@
## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
## @param global.storageClass Global StorageClass for Persistent Volume(s)
## @param global.labels Additional labels to apply to all resources
##
global:
imageRegistry: ""
@@ -17,20 +16,34 @@ global:
##
imagePullSecrets: []
storageClass: ""
labels: {}
## @section Common parameters
##
## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
##
kubeVersion: ""
## @param nameOverride String to partially override `kube-prometheus.name` template with a string (will prepend the release name)
##
nameOverride: ""
## @param fullnameOverride String to fully override `kube-prometheus.fullname` template with a string
##
fullnameOverride: ""
## @param namespaceOverride String to fully override common.names.namespace
##
namespaceOverride: ""
## @param commonAnnotations Annotations to add to all deployed objects
##
commonAnnotations: {}
## @param commonLabels Labels to add to all deployed objects
##
commonLabels: {}
## @param extraDeploy Array of extra objects to deploy with the release
##
extraDeploy: []
## @param clusterDomain Kubernetes cluster domain name
##
clusterDomain: cluster.local
## @section Prometheus Operator Parameters
##
@@ -50,7 +63,7 @@ operator:
image:
registry: docker.io
repository: bitnami/prometheus-operator
tag: 0.56.3-debian-10-r0
tag: 0.56.3-debian-10-r3
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
@@ -67,9 +80,59 @@ operator:
## @param operator.extraArgs Additional arguments passed to Prometheus Operator
## Example:
## extraArgs:
## - --namespaces={{ .Release.Namespace }}
## - --namespaces={{ include "common.names.namespace" . }}
##
extraArgs: []
## @param operator.command Override default container command (useful when using custom images)
##
command: []
## @param operator.args Override default container args (useful when using custom images)
##
args: []
## @param operator.lifecycleHooks for the Prometheus Operator container(s) to automate configuration before or after startup
##
lifecycleHooks: {}
## @param operator.extraEnvVars Array with extra environment variables to add to Prometheus Operator nodes
## e.g:
## extraEnvVars:
## - name: FOO
## value: "bar"
##
extraEnvVars: []
## @param operator.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Prometheus Operator nodes
##
extraEnvVarsCM: ""
## @param operator.extraEnvVarsSecret Name of existing Secret containing extra env vars for Prometheus Operator nodes
##
extraEnvVarsSecret: ""
## @param operator.extraVolumes Optionally specify extra list of additional volumes for the Prometheus Operator pod(s)
##
extraVolumes: []
## @param operator.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Prometheus Operator container(s)
##
extraVolumeMounts: []
## @param operator.sidecars Add additional sidecar containers to the Prometheus Operator pod(s)
## e.g:
## sidecars:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
sidecars: []
## @param operator.initContainers Add additional init containers to the Prometheus Operator pod(s)
## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
## e.g:
## initContainers:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## command: ['sh', '-c', 'echo "hello world"']
##
initContainers: []
## @param operator.hostAliases Add deployment host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
@@ -85,10 +148,25 @@ operator:
## If not set and create is true, a name is generated using the kube-prometheus.operator.fullname template
##
name: ""
## @param operator.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
##
automountServiceAccountToken: true
## @param operator.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
##
annotations: {}
## @param operator.schedulerName Name of the Kubernetess scheduler (other than default)
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
schedulerName: ""
## @param operator.terminationGracePeriodSeconds In seconds, time the given to the Prometheus Operator pod needs to terminate gracefully
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
##
terminationGracePeriodSeconds: ""
## @param operator.topologySpreadConstraints Topology Spread Constraints for pod assignment
## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
## The value is evaluated as a template
##
topologySpreadConstraints: []
## Prometheus Operator pods' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param operator.podSecurityContext.enabled Enable pod security context
@@ -121,20 +199,22 @@ operator:
## @param operator.service.type Kubernetes service type
##
type: ClusterIP
## @param operator.service.port Prometheus Operator service port
## @param operator.service.ports.http Prometheus Operator service port
##
port: 8080
ports:
http: 8080
## @param operator.service.clusterIP Specific cluster IP when service type is cluster IP. Use `None` for headless service
## e.g:
## clusterIP: None
##
clusterIP: ""
## @param operator.service.nodePort Kubernetes Service nodePort
## @param operator.service.nodePorts.http Kubernetes Service nodePort
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## e.g:
## nodePort: 30080
##
nodePort: ""
nodePorts:
http: ""
## @param operator.service.loadBalancerIP `loadBalancerIP` if service type is `LoadBalancer`
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
@@ -160,6 +240,20 @@ operator:
## @param operator.service.annotations Additional annotations for Prometheus Operator service
##
annotations: {}
## @param operator.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
##
extraPorts: []
## @param operator.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
## If "ClientIP", consecutive client requests will be directed to the same Pod
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
##
sessionAffinity: None
## @param operator.service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
## Create a servicemonitor for the operator
##
serviceMonitor:
@@ -178,6 +272,16 @@ operator:
## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
##
relabelings: []
## @param operator.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
##
scrapeTimeout: ""
## @param operator.serviceMonitor.labels Extra labels for the ServiceMonitor
##
labels: {}
## @param operator.serviceMonitor.annotations Extra annotations for the ServiceMonitor
##
annotations: {}
## @param operator.resources Configure resource requests and limits
## ref: https://kubernetes.io/docs/user-guide/compute-resources/
##
@@ -222,13 +326,20 @@ operator:
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param operator.podAnnotations Annotations for Prometheus Operator pods
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param operator.podLabels Extra labels for Prometheus Operator pods
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param operator.priorityClassName Priority class assigned to the Pods
##
priorityClassName: ""
## Configure extra options for liveness probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param operator.livenessProbe.enabled Turn on and off liveness probe
## @param operator.livenessProbe.path Path of the HTTP service for checking the healthy state
## @param operator.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated
## @param operator.livenessProbe.periodSeconds How often to perform the probe
## @param operator.livenessProbe.timeoutSeconds When the probe times out
@@ -237,7 +348,6 @@ operator:
##
livenessProbe:
enabled: true
path: /metrics
initialDelaySeconds: 120
periodSeconds: 10
timeoutSeconds: 5
@@ -246,7 +356,6 @@ operator:
## Configure extra options for readiness probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param operator.readinessProbe.enabled Turn on and off readiness probe
## @param operator.readinessProbe.path Path of the HTTP service for checking the ready state
## @param operator.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated
## @param operator.readinessProbe.periodSeconds How often to perform the probe
## @param operator.readinessProbe.timeoutSeconds When the probe times out
@@ -255,12 +364,36 @@ operator:
##
readinessProbe:
enabled: true
path: /metrics
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## Configure extra options for startup probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param operator.startupProbe.enabled Turn on and off startup probe
## @param operator.startupProbe.initialDelaySeconds Delay before startup probe is initiated
## @param operator.startupProbe.periodSeconds How often to perform the probe
## @param operator.startupProbe.timeoutSeconds When the probe times out
## @param operator.startupProbe.failureThreshold Minimum consecutive failures for the probe
## @param operator.startupProbe.successThreshold Minimum consecutive successes for the probe
##
startupProbe:
enabled: false
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 6
successThreshold: 1
## @param operator.customLivenessProbe Custom livenessProbe that overrides the default one
##
customLivenessProbe: {}
## @param operator.customReadinessProbe Custom readinessProbe that overrides the default one
##
customReadinessProbe: {}
## @param operator.customStartupProbe Custom startupProbe that overrides the default one
##
customStartupProbe: {}
## @param operator.logLevel Log level for Prometheus Operator
##
logLevel: info
@@ -362,7 +495,7 @@ prometheus:
image:
registry: docker.io
repository: bitnami/prometheus
tag: 2.35.0-debian-10-r30
tag: 2.35.0-debian-10-r33
## 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/
@@ -387,6 +520,9 @@ prometheus:
## eks.amazonaws.com/role-arn: arn:aws:iam::ACCOUNT:role/prometheus
##
annotations: {}
## @param prometheus.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
##
automountServiceAccountToken: true
## Prometheus pods' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param prometheus.podSecurityContext.enabled Enable security context
@@ -415,12 +551,12 @@ prometheus:
- ALL
## Configure pod disruption budgets for Prometheus
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
## @param prometheus.podDisruptionBudget.enabled Create a pod disruption budget for Prometheus
## @param prometheus.podDisruptionBudget.minAvailable Minimum number / percentage of pods that should remain scheduled
## @param prometheus.podDisruptionBudget.maxUnavailable Maximum number / percentage of pods that may be made unavailable
## @param prometheus.pdb.create Create a pod disruption budget for Prometheus
## @param prometheus.pdb.minAvailable Minimum number / percentage of pods that should remain scheduled
## @param prometheus.pdb.maxUnavailable Maximum number / percentage of pods that may be made unavailable
##
podDisruptionBudget:
enabled: false
pdb:
create: false
minAvailable: 1
maxUnavailable: ""
## Prometheus Service
@@ -429,19 +565,21 @@ prometheus:
## @param prometheus.service.type Kubernetes service type
##
type: ClusterIP
## @param prometheus.service.port Prometheus service port
## @param prometheus.service.ports.http Prometheus service port
##
port: 9090
ports:
http: 9090
## @param prometheus.service.clusterIP Specific cluster IP when service type is cluster IP. Use `None` for headless service
## e.g: clusterIP: None
##
clusterIP: ""
## @param prometheus.service.nodePort Specify the nodePort value for the LoadBalancer and NodePort service types.
## @param prometheus.service.nodePorts.http Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## e.g:
## nodePort: 30090
##
nodePort: ""
nodePorts:
http: ""
## @param prometheus.service.loadBalancerIP `loadBalancerIP` if service type is `LoadBalancer`
## Set the LoadBalancer service type to internal only
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
@@ -465,12 +603,20 @@ prometheus:
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
##
healthCheckNodePort: ""
## @param prometheus.service.stickySessions Set stickySessions to `true` to enable Session Affinity
##
stickySessions: ""
## @param prometheus.service.annotations Additional annotations for Prometheus service (this value is evaluated as a template)
##
annotations: {}
## @param prometheus.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
## If "ClientIP", consecutive client requests will be directed to the same Pod
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
##
sessionAffinity: None
## @param prometheus.service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
serviceMonitor:
## @param prometheus.serviceMonitor.enabled Creates a ServiceMonitor to monitor Prometheus itself
##
@@ -487,6 +633,7 @@ prometheus:
## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
##
relabelings: []
## Configure the ingress resource that allows you to access the
## Alertmanager installation. Set up the URL
## ref: https://kubernetes.io/docs/user-guide/ingress/
@@ -495,10 +642,6 @@ prometheus:
## @param prometheus.ingress.enabled Enable ingress controller resource
##
enabled: false
## DEPRECATED: Use prometheus.ingress.annotations instead of prometheus.ingress.certManager
## certManager: false
##
## @param prometheus.ingress.pathType Ingress Path type
##
pathType: ImplementationSpecific
@@ -533,6 +676,9 @@ prometheus:
## You can use the prometheus.ingress.secrets parameter to create this TLS secret or relay on cert-manager to create it
##
tls: false
## @param prometheus.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
##
selfSigned: false
## @param prometheus.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
## extraHosts:
@@ -753,9 +899,6 @@ prometheus:
## If {}, select all ServiceMonitors
##
serviceMonitorSelector: {}
## @param prometheus.matchLabels Matchlabels
##
matchLabels: {}
## @param prometheus.serviceMonitorNamespaceSelector Namespaces to be selected for ServiceMonitor discovery
## See https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#namespaceselector for usage
##
@@ -975,7 +1118,7 @@ prometheus:
image:
registry: docker.io
repository: bitnami/thanos
tag: 0.26.0-scratch-r1
tag: 0.26.0-scratch-r2
## Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
@@ -1091,19 +1234,21 @@ prometheus:
## @param prometheus.thanos.service.type Kubernetes service type
##
type: ClusterIP
## @param prometheus.thanos.service.port Thanos service port
## @param prometheus.thanos.service.ports.grpc Thanos service port
##
port: 10901
ports:
grpc: 10901
## @param prometheus.thanos.service.clusterIP Specific cluster IP when service type is cluster IP. Use `None` to create headless service by default.
## Use a "headless" service by default so it returns every pod's IP instead of loadbalancing requests.
##
clusterIP: None
## @param prometheus.thanos.service.nodePort Specify the nodePort value for the LoadBalancer and NodePort service types.
## @param prometheus.thanos.service.nodePorts.grpc Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## e.g:
## nodePort: 30901
##
nodePort: ""
nodePorts:
grpc: ""
## @param prometheus.thanos.service.loadBalancerIP `loadBalancerIP` if service type is `LoadBalancer`
## Set the LoadBalancer service type to internal only
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
@@ -1127,6 +1272,21 @@ prometheus:
## protocol: TCP
##
extraPorts: []
## @param prometheus.thanos.service.externalTrafficPolicy Prometheus service external traffic policy
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
##
externalTrafficPolicy: Cluster
## @param prometheus.thanos.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
## If "ClientIP", consecutive client requests will be directed to the same Pod
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
##
sessionAffinity: None
## @param prometheus.thanos.service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
## Configure the ingress resource that allows you to access the
## Thanos Sidecar installation. Set up the URL
## ref: https://kubernetes.io/docs/user-guide/ingress/
@@ -1135,10 +1295,19 @@ prometheus:
## @param prometheus.thanos.ingress.enabled Enable ingress controller resource
##
enabled: false
## DEPRECATED: Use prometheus.thanos.ingress.annotations instead of prometheus.thanos.ingress.certManager
## certManager: false
## @param prometheus.thanos.ingress.pathType Ingress path type
##
pathType: ImplementationSpecific
## @param prometheus.thanos.ingress.apiVersion Force Ingress API version (automatically detected if not set)
##
apiVersion: ""
## @param prometheus.thanos.ingress.hostname Default host for the ingress record
##
hostname: thanos.prometheus.local
## @param prometheus.thanos.ingress.path Default path for the ingress record
## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
##
path: /
## @param prometheus.thanos.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
## For a full list of possible ingress annotations, please see
## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md
@@ -1155,20 +1324,66 @@ prometheus:
## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
##
ingressClassName: ""
## @param prometheus.thanos.ingress.hosts [array] 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
## @param prometheus.thanos.ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
## You can:
## - Use the `ingress.secrets` parameter to create this TLS secret
## - Relay on cert-manager to create it by setting `ingress.certManager=true`
## - Relay on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
##
hosts:
- name: thanos.prometheus.local
path: /
## @param prometheus.thanos.ingress.tls The tls configuration for the ingress
## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
## tls:
tls: false
## @param prometheus.thanos.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
##
selfSigned: false
## @param prometheus.thanos.ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
## e.g:
## extraHosts:
## - name: thanos.prometheus.local
## path: /
##
extraHosts: []
## @param prometheus.thanos.ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
## e.g:
## extraPaths:
## - path: /*
## backend:
## serviceName: ssl-redirect
## servicePort: use-annotation
##
extraPaths: []
## @param prometheus.thanos.ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
## e.g:
## extraTls:
## - hosts:
## - thanos.prometheus.local
## secretName: thanos.prometheus.local-tls
##
tls: {}
extraTls: []
## @param prometheus.thanos.ingress.secrets Custom TLS certificates as secrets
## NOTE: 'key' and 'certificate' are expected in PEM format
## NOTE: 'name' should line up with a 'secretName' set further up
## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
## It is also possible to create and manage the certificates outside of this helm chart
## Please see README.md for more information
## e.g:
## secrets:
## - name: thanos.prometheus.local-tls
## key: |-
## -----BEGIN RSA PRIVATE KEY-----
## ...
## -----END RSA PRIVATE KEY-----
## certificate: |-
## -----BEGIN CERTIFICATE-----
## ...
## -----END CERTIFICATE-----
##
secrets: []
## @param prometheus.thanos.ingress.extraRules The list of additional rules to be added to this ingress record. Evaluated as a template
## Useful when looking for additional customization, such as using different backend
##
extraRules: []
## @param prometheus.portName Port name used for the pods and governing service. This defaults to web
##
portName: web
@@ -1193,7 +1408,7 @@ alertmanager:
image:
registry: docker.io
repository: bitnami/alertmanager
tag: 0.24.0-debian-10-r57
tag: 0.24.0-debian-10-r60
## 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/
@@ -1213,6 +1428,12 @@ alertmanager:
## If not set and create is true, a name is generated using the kube-prometheus.alertmanager.fullname template
##
name: ""
## @param alertmanager.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
##
automountServiceAccountToken: true
## @param alertmanager.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
##
annotations: {}
## Prometheus Alertmanager pods' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param alertmanager.podSecurityContext.enabled Enable security context
@@ -1241,12 +1462,12 @@ alertmanager:
- ALL
## Configure pod disruption budgets for Alertmanager
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
## @param alertmanager.podDisruptionBudget.enabled Create a pod disruption budget for Alertmanager
## @param alertmanager.podDisruptionBudget.minAvailable Minimum number / percentage of pods that should remain scheduled
## @param alertmanager.podDisruptionBudget.maxUnavailable Maximum number / percentage of pods that may be made unavailable
## @param alertmanager.pdb.create Create a pod disruption budget for Alertmanager
## @param alertmanager.pdb.minAvailable Minimum number / percentage of pods that should remain scheduled
## @param alertmanager.pdb.maxUnavailable Maximum number / percentage of pods that may be made unavailable
##
podDisruptionBudget:
enabled: false
pdb:
create: false
minAvailable: 1
maxUnavailable: ""
## Alertmanager Service
@@ -1255,20 +1476,22 @@ alertmanager:
## @param alertmanager.service.type Kubernetes service type
##
type: ClusterIP
## @param alertmanager.service.port Alertmanager service port
## @param alertmanager.service.ports.http Alertmanager service port
##
port: 9093
ports:
http: 9093
## @param alertmanager.service.clusterIP Specific cluster IP when service type is cluster IP. Use `None` for headless service
## e.g:
## clusterIP: None
##
clusterIP: ""
## @param alertmanager.service.nodePort Specify the nodePort value for the LoadBalancer and NodePort service types.
## @param alertmanager.service.nodePorts.http Specify the nodePort value for the LoadBalancer and NodePort service types.
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
## e.g:
## nodePort: 30903
##
nodePort: ""
nodePorts:
http: ""
## @param alertmanager.service.loadBalancerIP `loadBalancerIP` if service type is `LoadBalancer`
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
##
@@ -1290,9 +1513,20 @@ alertmanager:
## ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
##
healthCheckNodePort: ""
## @param alertmanager.service.stickySessions Set stickySessions to `true` to enable Session Affinity
## @param alertmanager.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
##
stickySessions: ""
extraPorts: []
## @param alertmanager.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
## If "ClientIP", consecutive client requests will be directed to the same Pod
## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
##
sessionAffinity: None
## @param alertmanager.service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
## @param alertmanager.service.annotations Additional annotations for Alertmanager service (this value is evaluated as a template)
##
annotations: {}
@@ -1314,6 +1548,29 @@ alertmanager:
## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
##
relabelings: []
## @param alertmanager.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
##
jobLabel: ""
## @param alertmanager.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
##
scrapeTimeout: ""
## @param alertmanager.serviceMonitor.selector ServiceMonitor selector labels
## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
##
## selector:
## prometheus: my-prometheus
##
selector: {}
## @param alertmanager.serviceMonitor.labels Extra labels for the ServiceMonitor
##
labels: {}
## @param alertmanager.serviceMonitor.annotations Extra annotations for the ServiceMonitor
##
annotations: {}
## @param alertmanager.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
##
honorLabels: false
## Configure the ingress resource that allows you to access the
## Alertmanager installation. Set up the URL
## ref: https://kubernetes.io/docs/user-guide/ingress/
@@ -1322,10 +1579,6 @@ alertmanager:
## @param alertmanager.ingress.enabled Enable ingress controller resource
##
enabled: false
## DEPRECATED: Use alertmanager.ingress.annotations instead of alertmanager.ingress.certManager
## certManager: false
##
## @param alertmanager.ingress.pathType Ingress Path type
##
pathType: ImplementationSpecific
@@ -1360,6 +1613,9 @@ alertmanager:
## You can use the alertmanager.ingress.secrets parameter to create this TLS secret or relay on cert-manager to create it
##
tls: false
## @param alertmanager.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
##
selfSigned: false
## @param alertmanager.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
## extraHosts:
@@ -1484,6 +1740,9 @@ alertmanager:
receiver: 'null'
receivers:
- name: 'null'
## @param alertmanager.templateFiles Extra files to be added inside the `alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}` secret.
##
templateFiles: {}
## @param alertmanager.externalConfig Alertmanager configuration is created externally. If true, `alertmanager.config` is ignored, and a secret will not be created.
## Alertmanager requires a secret named `alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}`
## It must contain:
@@ -1684,6 +1943,12 @@ kubelet:
## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs
##
cAdvisorRelabelings: []
## @param kubelet.serviceMonitor.labels Extra labels for the ServiceMonitor
##
labels: {}
## @param kubelet.serviceMonitor.annotations Extra annotations for the ServiceMonitor
##
annotations: {}
## @section Blackbox Exporter Deployment Parameters
##
@@ -1702,7 +1967,7 @@ blackboxExporter:
image:
registry: docker.io
repository: bitnami/blackbox-exporter
tag: 0.20.0-debian-10-r66
tag: 0.20.0-debian-10-r69
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
@@ -1945,6 +2210,10 @@ blackboxExporter:
## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
##
schedulerName: ""
## @param blackboxExporter.terminationGracePeriodSeconds In seconds, time the given to the Blackbox Exporter pod needs to terminate gracefully
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
##
terminationGracePeriodSeconds: ""
## @param blackboxExporter.updateStrategy.type Blackbox Exporter statefulset strategy type
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
##
@@ -2002,6 +2271,12 @@ blackboxExporter:
## ref: https://kubernetes.io/docs/user-guide/services/
##
sessionAffinity: None
## @param blackboxExporter.service.sessionAffinityConfig Additional settings for the sessionAffinity
## sessionAffinityConfig:
## clientIP:
## timeoutSeconds: 300
##
sessionAffinityConfig: {}
## @param blackboxExporter.service.clusterIP Blackbox Exporter service Cluster IP
## e.g.:
## clusterIP: None
@@ -2066,14 +2341,16 @@ kubeControllerManager:
namespace: kube-system
## Service ports and selector information
## @param kubeControllerManager.service.enabled Whether or not to create a Service object for kube-controller-manager
## @param kubeControllerManager.service.port Listening port of the kube-controller-manager Service object
## @param 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
## @param kubeControllerManager.service.ports.http Listening port of the kube-controller-manager Service object
## @param kubeControllerManager.service.targetPorts.http Port to target on the kube-controller-manager Pods. This should be the port that kube-controller-manager is exposing metrics on
## @param kubeControllerManager.service.selector Optional PODs Label selector for the service
##
service:
enabled: true
port: 10252
targetPort: 10252
ports:
http: 10252
targetPorts:
http: 10252
## selector:
## component: kube-controller-manager
##
@@ -2119,14 +2396,16 @@ kubeScheduler:
namespace: kube-system
## If using kubeScheduler.endpoints only the port and targetPort are used
## @param kubeScheduler.service.enabled Whether or not to create a Service object for kube-scheduler
## @param kubeScheduler.service.port Listening port of the kube scheduler Service object
## @param kubeScheduler.service.targetPort Port to target on the kube scheduler Pods. This should be the port that kube scheduler is exposing metrics on
## @param kubeScheduler.service.ports.http Listening port of the kube scheduler Service object
## @param kubeScheduler.service.targetPorts.http Port to target on the kube scheduler Pods. This should be the port that kube scheduler is exposing metrics on
## @param kubeScheduler.service.selector Optional PODs Label selector for the service
##
service:
enabled: true
port: 10251
targetPort: 10251
ports:
http: 10251
targetPorts:
http: 10251
## selector:
## component: kube-scheduler
##
@@ -2162,6 +2441,12 @@ kubeScheduler:
## action: replace
##
relabelings: []
## @param kubeScheduler.serviceMonitor.labels Extra labels for the ServiceMonitor
##
labels: {}
## @param kubeScheduler.serviceMonitor.annotations Extra annotations for the ServiceMonitor
##
annotations: {}
## Component scraping coreDns
##
coreDns:
@@ -2173,14 +2458,16 @@ coreDns:
namespace: kube-system
## Create a ServiceMonitor to scrape coredns service
## @param coreDns.service.enabled Whether or not to create a Service object for coredns
## @param coreDns.service.port Listening port of the coredns Service object
## @param coreDns.service.targetPort Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on
## @param coreDns.service.ports.http Listening port of the coredns Service object
## @param coreDns.service.targetPorts.http Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on
## @param coreDns.service.selector Optional PODs Label selector for the service
##
service:
enabled: true
port: 9153
targetPort: 9153
ports:
http: 9153
targetPorts:
http: 9153
## selector:
## component: kube-dns
##
@@ -2219,19 +2506,20 @@ kubeProxy:
## - 10.141.4.24
##
endpoints: []
## @param kubeProxy.namespace Namespace where cube-proxy service is deployed.
## @param kubeProxy.namespace Namespace where kube-proxy service is deployed.
##
namespace: kube-system
## @param kubeProxy.service [object] Service ports and selector information
## @param coreDns.service.enabled Whether or not to create a Service object for coredns
## @param coreDns.service.port Listening port of the coredns Service object
## @param coreDns.service.targetPort Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on
## @param coreDns.service.selector Optional PODs Label selector for the service
## @param kubeProxy.service.enabled Whether or not to create a Service object for kube-proxy
## @param kubeProxy.service.ports.http Listening port of the kube-proxy Service object
## @param kubeProxy.service.targetPorts.http Port to target on the kube-proxy Pods. This should be the port that kube-proxy is exposing metrics on
## @param kubeProxy.service.selector Optional PODs Label selector for the service
##
service:
enabled: true
port: 10249
targetPort: 10249
ports:
http: 10249
targetPorts:
http: 10249
## selector:
## k8s-app: kube-proxy
##
@@ -2253,6 +2541,12 @@ kubeProxy:
## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
##
relabelings: []
## @param kubeProxy.serviceMonitor.labels Extra labels for the ServiceMonitor
##
labels: {}
## @param kubeProxy.serviceMonitor.annotations Extra annotations for the ServiceMonitor
##
annotations: {}
## @section RBAC parameters
##
@@ -2260,10 +2554,8 @@ kubeProxy:
## Role Based Access
## ref: https://kubernetes.io/docs/admin/authorization/rbac/
## @param rbac.create Whether to create and use RBAC resources or not
## @param rbac.apiVersion Version of the RBAC API
## @param rbac.pspEnabled Whether to create a PodSecurityPolicy and bound it with RBAC. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later
##
rbac:
create: true
apiVersion: v1beta1
pspEnabled: true