270 lines
7.2 KiB
YAML
270 lines
7.2 KiB
YAML
replicaCount: 5
|
|
|
|
image:
|
|
repository: quay.io/prometheus/alertmanager
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: ""
|
|
|
|
extraArgs:
|
|
log.level: debug
|
|
cluster.probe-timeout: 1s
|
|
cluster.probe-interval: 2s
|
|
|
|
|
|
## Additional Alertmanager Secret mounts
|
|
# Defines additional mounts with secrets. Secrets must be manually created in the namespace.
|
|
extraSecretMounts: []
|
|
# - name: secret-files
|
|
# mountPath: /etc/secrets
|
|
# subPath: ""
|
|
# secretName: alertmanager-secret-files
|
|
# readOnly: true
|
|
|
|
imagePullSecrets: []
|
|
nameOverride: ""
|
|
fullnameOverride: alertmanager-infra-prd
|
|
## namespaceOverride overrides the namespace which the resources will be deployed in
|
|
namespaceOverride: ""
|
|
|
|
configMap: alertmanager-infra-prd-config
|
|
|
|
labels:
|
|
bu: "infra"
|
|
team: "sre"
|
|
service: "alertmanager-infra-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "alertmanager"
|
|
|
|
automountServiceAccountToken: true
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name: ""
|
|
|
|
# Sets priorityClassName in alertmanager pod
|
|
priorityClassName: ""
|
|
|
|
podSecurityContext:
|
|
fsGroup: 65534
|
|
dnsConfig: {}
|
|
# nameservers:
|
|
# - 1.2.3.4
|
|
# searches:
|
|
# - ns1.svc.cluster-domain.example
|
|
# - my.dns.search.suffix
|
|
# options:
|
|
# - name: ndots
|
|
# value: "2"
|
|
# - name: edns0
|
|
hostAliases: []
|
|
# - ip: "127.0.0.1"
|
|
# hostnames:
|
|
# - "foo.local"
|
|
# - "bar.local"
|
|
# - ip: "10.1.2.3"
|
|
# hostnames:
|
|
# - "foo.remote"
|
|
# - "bar.remote"
|
|
securityContext:
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
runAsUser: 65534
|
|
runAsNonRoot: true
|
|
runAsGroup: 65534
|
|
|
|
additionalPeers: []
|
|
|
|
## Additional InitContainers to initialize the pod
|
|
##
|
|
extraInitContainers: []
|
|
|
|
## Additional containers to add to the stateful set. This will allow to setup sidecarContainers like a proxy to integrate
|
|
## alertmanager with an external tool like teams that has not direct integration.
|
|
##
|
|
extraContainers: []
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
|
|
service:
|
|
annotations: {}
|
|
type: ClusterIP
|
|
port: 9093
|
|
clusterPort: 9094
|
|
loadBalancerIP: "" # Assign ext IP when Service type is LoadBalancer
|
|
loadBalancerSourceRanges: [] # Only allow access to loadBalancerIP from these IPs
|
|
# if you want to force a specific nodePort. Must be use with service.type=NodePort
|
|
# nodePort:
|
|
|
|
ingress:
|
|
enabled: true
|
|
className: nginx-internal
|
|
annotations: {}
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: "true"
|
|
hosts:
|
|
- host: alertmanager-infra-prd.meeshogcp.in
|
|
paths:
|
|
- path: /
|
|
pathType: ImplementationSpecific
|
|
tls: []
|
|
# - secretName: chart-example-tls
|
|
# hosts:
|
|
# - alertmanager.domain.com
|
|
|
|
resources:
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 150Mi
|
|
|
|
nodeSelector:
|
|
dedicated: "vmselect-temp"
|
|
|
|
tolerations:
|
|
- key: "dedicated"
|
|
operator: "Equal"
|
|
value: "vmselect-temp"
|
|
effect: "NoSchedule"
|
|
affinity: {}
|
|
|
|
## Pod anti-affinity can prevent the scheduler from placing Alertmanager replicas on the same node.
|
|
## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided.
|
|
## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node.
|
|
## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured.
|
|
##
|
|
podAntiAffinity: ""
|
|
|
|
## If anti-affinity is enabled sets the topologyKey to use for anti-affinity.
|
|
## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone
|
|
##
|
|
podAntiAffinityTopologyKey: kubernetes.io/hostname
|
|
|
|
## Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in.
|
|
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: topology.kubernetes.io/zone
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
type: alertmanager
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
type: alertmanager
|
|
|
|
statefulSet:
|
|
annotations: {}
|
|
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
# Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
|
podDisruptionBudget: {}
|
|
# maxUnavailable: 1
|
|
# minAvailable: 1
|
|
|
|
command: []
|
|
|
|
persistence:
|
|
enabled: true
|
|
## Persistent Volume Storage Class
|
|
## If defined, storageClassName: <storageClass>
|
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
## If undefined (the default) or set to null, no storageClassName spec is
|
|
## set, choosing the default provisioner.
|
|
##
|
|
# storageClass: "-"
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
size: 15Gi
|
|
|
|
configAnnotations: {}
|
|
## For example if you want to provide private data from a secret vault
|
|
## https://github.com/banzaicloud/bank-vaults/tree/main/charts/vault-secrets-webhook
|
|
## P.s.: Add option `configMapMutation: true` for vault-secrets-webhook
|
|
# vault.security.banzaicloud.io/vault-role: "admin"
|
|
# vault.security.banzaicloud.io/vault-addr: "https://vault.vault.svc.cluster.local:8200"
|
|
# vault.security.banzaicloud.io/vault-skip-verify: "true"
|
|
# vault.security.banzaicloud.io/vault-path: "kubernetes"
|
|
## Example for inject secret
|
|
# slack_api_url: '${vault:secret/data/slack-hook-alerts#URL}'
|
|
|
|
config: {}
|
|
|
|
## Monitors ConfigMap changes and POSTs to a URL
|
|
## Ref: https://github.com/jimmidyson/configmap-reload
|
|
##
|
|
configmapReload:
|
|
## If false, the configmap-reload container will not be deployed
|
|
##
|
|
enabled: true
|
|
|
|
## configmap-reload container name
|
|
##
|
|
name: configmap-reload
|
|
|
|
## configmap-reload container image
|
|
##
|
|
image:
|
|
repository: jimmidyson/configmap-reload
|
|
tag: v0.8.0
|
|
pullPolicy: IfNotPresent
|
|
|
|
# containerPort: 9533
|
|
|
|
## configmap-reload resource requests and limits
|
|
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
|
##
|
|
resources: {}
|
|
|
|
templates: {}
|
|
# alertmanager.tmpl: |-
|
|
|
|
## Optionally specify extra list of additional volumeMounts
|
|
extraVolumeMounts: []
|
|
# - name: extras
|
|
# mountPath: /usr/share/extras
|
|
# readOnly: true
|
|
|
|
## Optionally specify extra list of additional volumes
|
|
extraVolumes: []
|
|
# - name: extras
|
|
# emptyDir: {}
|
|
|
|
## Optionally specify extra environment variables to add to alertmanager container
|
|
extraEnv: []
|
|
# - name: FOO
|
|
# value: BAR
|
|
|
|
testFramework:
|
|
enabled: false
|
|
annotations:
|
|
"helm.sh/hook": test-success
|
|
# "helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
|