mirror of
https://github.com/wahyd4/charts.git
synced 2026-08-23 03:56:24 +10:00
[bitnami/prometheus-operator] Add the ability for users to create AlertManager config externally (#2560)
* [bitnami/prometheus-operator] Add the ability for users to create AlertManager config externally Alertmanager configuration can contain confidential tokens, etc. This change allows users to create the configuration secret themselves so their tokens aren't in plaintext in the helm values. * [bitnami/prometheus-operator] Update components versions Signed-off-by: Bitnami Containers <containers@bitnami.com> Co-authored-by: Adrian Astley <adrian.astley@activision.com> Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
co-authored by
Adrian Astley
Bitnami Containers
parent
da0048b472
commit
4cef0afced
@@ -2,7 +2,7 @@ apiVersion: v1
|
||||
appVersion: 0.39.0
|
||||
description: The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances.
|
||||
name: prometheus-operator
|
||||
version: 0.16.3
|
||||
version: 0.17.0
|
||||
keywords:
|
||||
- prometheus
|
||||
- alertmanager
|
||||
|
||||
@@ -237,65 +237,66 @@ The following table lists the configurable parameters of the Prometheus Operator
|
||||
|
||||
### Alertmanager Parameters
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|-------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `alertmanager.enabled` | Deploy Alertmanager to the cluster | `true` |
|
||||
| `alertmanager.image.registry` | Prometheus image registry | `docker.io` |
|
||||
| `alertmanager.image.repository` | Prometheus Image name | `bitnami/alertmanager` |
|
||||
| `alertmanager.image.tag` | Prometheus Image tag | `{TAG_NAME}` |
|
||||
| `alertmanager.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `alertmanager.serviceAccount.create` | Specify whether to create a ServiceAccount for Alertmanager | `true` |
|
||||
| `alertmanager.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `prometheus-operator.alertmanager.fullname` template |
|
||||
| `alertmanager.securityContext.enabled` | Enable security context | `true` |
|
||||
| `alertmanager.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
|
||||
| `alertmanager.securityContext.runAsUser` | User ID for the container | `1001` |
|
||||
| `alertmanager.podDisruptionBudget.enabled` | Create a pod disruption budget for Alertmanager | `true` |
|
||||
| `alertmanager.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
|
||||
| `alertmanager.podDisruptionBudget.minAvailable` | Maximum number / percentage of pods that may be made unavailable | `nil` |
|
||||
| `alertmanager.service.type` | Kubernetes service type | `ClusterIP` |
|
||||
| `alertmanager.service.port` | Alertmanager service port | `9093` |
|
||||
| `alertmanager.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
|
||||
| `alertmanager.service.nodePort` | Kubernetes Service nodePort | `nil` |
|
||||
| `alertmanager.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
|
||||
| `alertmanager.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
|
||||
| `alertmanager.service.annotations` | Additional annotations for Alertmanager service | `{}` |
|
||||
| `alertmanager.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Alertmanager | `true` |
|
||||
| `alertmanager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
|
||||
| `alertmanager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
|
||||
| `alertmanager.serviceMonitor.relabelings` | Relabel configs | `[]` |
|
||||
| `alertmanager.ingress.enabled` | Enable ingress controller resource | `false` |
|
||||
| `alertmanager.ingress.certManager` | Add annotations for cert-manager | `false` |
|
||||
| `alertmanager.ingress.annotations` | Ingress annotations | `[]` |
|
||||
| `alertmanager.ingress.hosts[0].name` | Hostname to your Alertmanager installation | `alertmanager.local` |
|
||||
| `alertmanager.ingress.hosts[0].path` | Path within the url structure | `/` |
|
||||
| `alertmanager.ingress.tls[0].hosts[0]` | TLS hosts | `alertmanager.local` |
|
||||
| `alertmanager.ingress.tls[0].secretName` | TLS Secret (certificates) | `alertmanager.local-tls` |
|
||||
| `alertmanager.resources` | CPU/Memory resource requests/limits for node | `{}` |
|
||||
| `alertmanager.nodeAffinity` | Node Affinity (this value is evaluated as a template) | `{}` |
|
||||
| `alertmanager.podAntiAffinity` | Pod anti-affinity policy | `soft` |
|
||||
| `alertmanager.podAffinity` | Affinity, in addition to antiAffinity (this value is evaluated as a template) | `{}` |
|
||||
| `alertmanager.nodeSelector` | Node labels for pod assignment (this value is evaluated as a template) | `{}` |
|
||||
| `alertmanager.tolerations` | List of node taints to tolerate (this value is evaluated as a template) | `[]` |
|
||||
| `alertmanager.config` | Alertmanager configuration directive | `{"global":{"resolve_timeout":"5m"},"route":{"group_by":["job"],"group_wait":"30s","group_interval":"5m","repeat_interval":"12h","receiver":"null","routes":[{"match":{"alertname":"Watchdog"},"receiver":"null"}]},"receivers":[{"name":"null"}]}` |
|
||||
| `alertmanager.replicaCount` | Number of Alertmanager replicas desired | `1` |
|
||||
| `alertmanager.logLevel` | Log level for Alertmanager | `info` |
|
||||
| `alertmanager.logFormat` | Log format for Alertmanager | `logfmt` |
|
||||
| `alertmanager.podMetadata` | Standard object’s metadata | `{}` |
|
||||
| `alertmanager.secrets` | Secrets that should be mounted into the Alertmanager Pods | `[]` |
|
||||
| `alertmanager.configMaps` | ConfigMaps that should be mounted into the Alertmanager Pods | `[]` |
|
||||
| `alertmanager.retention` | Metrics retention days | `10d` |
|
||||
| `alertmanager.storageSpec` | Alertmanager StorageSpec for persistent data | `{}` |
|
||||
| `alertmanager.persistence.enabled` | Use PVCs to persist data. If the storageSpec is provided this will not take effect. | `false` |
|
||||
| `alertmanager.persistence.storageClass` | Persistent Volume Storage Class | `generic` |
|
||||
| `alertmanager.persistence.accessModes` | Persistent Volume Access Modes | `[ReadWriteOnce]` |
|
||||
| `alertmanager.persistence.size` | Persistent Volume Size | `8Gi` |
|
||||
| `alertmanager.paused` | If true, the Operator won't process any Alertmanager configuration changes | `false` |
|
||||
| `alertmanager.listenLocal` | ListenLocal makes the Alertmanager server listen on loopback | `false` |
|
||||
| `alertmanager.containers` | Containers allows injecting additional containers | `[]` |
|
||||
| `prometheus.volumes` | Volumes allows configuration of additonal volumes. Evaluated as a template | `[]` See [docs](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
|
||||
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` See [docs](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
|
||||
| `alertmanager.priorityClassName` | Priority class assigned to the Pods | `` |
|
||||
| `alertmanager.additionalPeers` | AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster | `[]` |
|
||||
| Parameter | Description | Default |
|
||||
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `alertmanager.enabled` | Deploy Alertmanager to the cluster | `true` |
|
||||
| `alertmanager.image.registry` | Prometheus image registry | `docker.io` |
|
||||
| `alertmanager.image.repository` | Prometheus Image name | `bitnami/alertmanager` |
|
||||
| `alertmanager.image.tag` | Prometheus Image tag | `{TAG_NAME}` |
|
||||
| `alertmanager.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) |
|
||||
| `alertmanager.serviceAccount.create` | Specify whether to create a ServiceAccount for Alertmanager | `true` |
|
||||
| `alertmanager.serviceAccount.name` | The name of the ServiceAccount to create | Generated using the `prometheus-operator.alertmanager.fullname` template |
|
||||
| `alertmanager.securityContext.enabled` | Enable security context | `true` |
|
||||
| `alertmanager.securityContext.fsGroup` | Group ID for the container filesystem | `1001` |
|
||||
| `alertmanager.securityContext.runAsUser` | User ID for the container | `1001` |
|
||||
| `alertmanager.podDisruptionBudget.enabled` | Create a pod disruption budget for Alertmanager | `true` |
|
||||
| `alertmanager.podDisruptionBudget.minAvailable` | Minimum number / percentage of pods that should remain scheduled | `1` |
|
||||
| `alertmanager.podDisruptionBudget.minAvailable` | Maximum number / percentage of pods that may be made unavailable | `nil` |
|
||||
| `alertmanager.service.type` | Kubernetes service type | `ClusterIP` |
|
||||
| `alertmanager.service.port` | Alertmanager service port | `9093` |
|
||||
| `alertmanager.service.clusterIP` | Specific cluster IP when service type is cluster IP. Use `None` for headless service | `nil` |
|
||||
| `alertmanager.service.nodePort` | Kubernetes Service nodePort | `nil` |
|
||||
| `alertmanager.service.loadBalancerIP` | `loadBalancerIP` if service type is `LoadBalancer` | `nil` |
|
||||
| `alertmanager.service.loadBalancerSourceRanges` | Address that are allowed when svc is `LoadBalancer` | `[]` |
|
||||
| `alertmanager.service.annotations` | Additional annotations for Alertmanager service | `{}` |
|
||||
| `alertmanager.serviceMonitor.enabled` | Creates a ServiceMonitor to monitor Alertmanager | `true` |
|
||||
| `alertmanager.serviceMonitor.interval` | Scrape interval (use by default, falling back to Prometheus' default) | `nil` |
|
||||
| `alertmanager.serviceMonitor.metricRelabelings` | Metric relabeling | `[]` |
|
||||
| `alertmanager.serviceMonitor.relabelings` | Relabel configs | `[]` |
|
||||
| `alertmanager.ingress.enabled` | Enable ingress controller resource | `false` |
|
||||
| `alertmanager.ingress.certManager` | Add annotations for cert-manager | `false` |
|
||||
| `alertmanager.ingress.annotations` | Ingress annotations | `[]` |
|
||||
| `alertmanager.ingress.hosts[0].name` | Hostname to your Alertmanager installation | `alertmanager.local` |
|
||||
| `alertmanager.ingress.hosts[0].path` | Path within the url structure | `/` |
|
||||
| `alertmanager.ingress.tls[0].hosts[0]` | TLS hosts | `alertmanager.local` |
|
||||
| `alertmanager.ingress.tls[0].secretName` | TLS Secret (certificates) | `alertmanager.local-tls` |
|
||||
| `alertmanager.resources` | CPU/Memory resource requests/limits for node | `{}` |
|
||||
| `alertmanager.nodeAffinity` | Node Affinity (this value is evaluated as a template) | `{}` |
|
||||
| `alertmanager.podAntiAffinity` | Pod anti-affinity policy | `soft` |
|
||||
| `alertmanager.podAffinity` | Affinity, in addition to antiAffinity (this value is evaluated as a template) | `{}` |
|
||||
| `alertmanager.nodeSelector` | Node labels for pod assignment (this value is evaluated as a template) | `{}` |
|
||||
| `alertmanager.tolerations` | List of node taints to tolerate (this value is evaluated as a template) | `[]` |
|
||||
| `alertmanager.config` | Alertmanager configuration directive | `{"global":{"resolve_timeout":"5m"},"route":{"group_by":["job"],"group_wait":"30s","group_interval":"5m","repeat_interval":"12h","receiver":"null","routes":[{"match":{"alertname":"Watchdog"},"receiver":"null"}]},"receivers":[{"name":"null"}]}` |
|
||||
| `alertmanager.externalConfig` | Alertmanager configuration is created externally. If true, `alertmanager.config` is ignored, and a secret will not be created. | `false` See [docs](https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/alerting.md#alerting) for details |
|
||||
| `alertmanager.replicaCount` | Number of Alertmanager replicas desired | `1` |
|
||||
| `alertmanager.logLevel` | Log level for Alertmanager | `info` |
|
||||
| `alertmanager.logFormat` | Log format for Alertmanager | `logfmt` |
|
||||
| `alertmanager.podMetadata` | Standard object’s metadata | `{}` |
|
||||
| `alertmanager.secrets` | Secrets that should be mounted into the Alertmanager Pods | `[]` |
|
||||
| `alertmanager.configMaps` | ConfigMaps that should be mounted into the Alertmanager Pods | `[]` |
|
||||
| `alertmanager.retention` | Metrics retention days | `10d` |
|
||||
| `alertmanager.storageSpec` | Alertmanager StorageSpec for persistent data | `{}` |
|
||||
| `alertmanager.persistence.enabled` | Use PVCs to persist data. If the storageSpec is provided this will not take effect. | `false` |
|
||||
| `alertmanager.persistence.storageClass` | Persistent Volume Storage Class | `generic` |
|
||||
| `alertmanager.persistence.accessModes` | Persistent Volume Access Modes | `[ReadWriteOnce]` |
|
||||
| `alertmanager.persistence.size` | Persistent Volume Size | `8Gi` |
|
||||
| `alertmanager.paused` | If true, the Operator won't process any Alertmanager configuration changes | `false` |
|
||||
| `alertmanager.listenLocal` | ListenLocal makes the Alertmanager server listen on loopback | `false` |
|
||||
| `alertmanager.containers` | Containers allows injecting additional containers | `[]` |
|
||||
| `prometheus.volumes` | Volumes allows configuration of additonal volumes. Evaluated as a template | `[]` See [docs](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
|
||||
| `prometheus.volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template | `[]` See [docs](https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec) for details |
|
||||
| `alertmanager.priorityClassName` | Priority class assigned to the Pods | `` |
|
||||
| `alertmanager.additionalPeers` | AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster | `[]` |
|
||||
|
||||
### Exporters
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{{- if .Values.alertmanager.enabled }}
|
||||
{{- if (and .Values.alertmanager.enabled (not .Values.alertmanager.externalConfig) ) }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
|
||||
@@ -42,7 +42,7 @@ operator:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/prometheus-operator
|
||||
tag: 0.39.0-debian-10-r0
|
||||
tag: 0.39.0-debian-10-r3
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
@@ -208,7 +208,7 @@ operator:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/configmap-reload
|
||||
tag: 0.3.0-debian-10-r108
|
||||
tag: 0.3.0-debian-10-r110
|
||||
## 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/
|
||||
@@ -239,7 +239,7 @@ prometheus:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/prometheus
|
||||
tag: 2.18.1-debian-10-r2
|
||||
tag: 2.18.1-debian-10-r4
|
||||
## 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/
|
||||
@@ -633,7 +633,7 @@ alertmanager:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/alertmanager
|
||||
tag: 0.20.0-debian-10-r107
|
||||
tag: 0.20.0-debian-10-r110
|
||||
## 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/
|
||||
@@ -800,6 +800,16 @@ alertmanager:
|
||||
receivers:
|
||||
- name: 'null'
|
||||
|
||||
## 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 "prometheus-operator.alertmanager.fullname" . }}`
|
||||
## It must contain:
|
||||
## alertmanager.yaml: <config>
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/alerting.md#alerting
|
||||
##
|
||||
externalConfig: false
|
||||
|
||||
## Desired number of Alertmanager nodes
|
||||
##
|
||||
replicaCount: 3
|
||||
|
||||
@@ -42,7 +42,7 @@ operator:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/prometheus-operator
|
||||
tag: 0.39.0-debian-10-r0
|
||||
tag: 0.39.0-debian-10-r3
|
||||
## Specify a imagePullPolicy
|
||||
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||
@@ -208,7 +208,7 @@ operator:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/configmap-reload
|
||||
tag: 0.3.0-debian-10-r108
|
||||
tag: 0.3.0-debian-10-r110
|
||||
## 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/
|
||||
@@ -239,7 +239,7 @@ prometheus:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/prometheus
|
||||
tag: 2.18.1-debian-10-r2
|
||||
tag: 2.18.1-debian-10-r4
|
||||
## 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/
|
||||
@@ -639,7 +639,7 @@ alertmanager:
|
||||
image:
|
||||
registry: docker.io
|
||||
repository: bitnami/alertmanager
|
||||
tag: 0.20.0-debian-10-r107
|
||||
tag: 0.20.0-debian-10-r110
|
||||
## 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/
|
||||
@@ -805,6 +805,16 @@ alertmanager:
|
||||
receiver: 'null'
|
||||
receivers:
|
||||
- name: 'null'
|
||||
|
||||
## 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 "prometheus-operator.alertmanager.fullname" . }}`
|
||||
## It must contain:
|
||||
## alertmanager.yaml: <config>
|
||||
## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/user-guides/alerting.md#alerting
|
||||
##
|
||||
externalConfig: false
|
||||
|
||||
## Desired number of Alertmanager nodes
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user