Skip to content

VMAlertManager

vmalertmanager

Field Description Scheme
install Allows to enable or disable deploy vmalertmanager. boolean
image A Docker image to deploy the vmalertmanager. string
ingress Ingress allows to create Ingress for the vmalertmanager UI. *Ingress
secrets Secrets is a list of Secrets in the same namespace as the VMSingle object, which shall be mounted into the vmalertmanager pods []string
configRawYaml Raw configuration for vmalertmanager, it helps it to start without secret. string
configSecret The name of a Kubernetes Secret in the same namespace as the VMAlertmanager object, which contains configuration for this VMAlertmanager, configuration must be inside secret key: alertmanager.yaml. string
retention Time duration VMAlertmanager shall retain data for. Default is '120h' string
paused Set paused to reconciliation for vmalertmanager boolean
nodeSelector Defines which nodes the pods are scheduled on. Specified just as map[string]string. For example: \"type: compute\" map[string]string
resources The resources that describe the compute resource requests and limits for single pods. v1.ResourceRequirements
affinity It specifies the pod's scheduling constraints. For more information, refer to https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core *v1.Affinity
tolerations Tolerations allow the pods to schedule onto nodes with matching taints. []v1.Toleration
securityContext SecurityContext holds pod-level security attributes. Default for Kubernetes, securityContext:{ runAsUser: 2000, fsGroup: 2000 }. *v1.PodSecurityContext
containers Allows injecting additional containers or patching existing containers. This is meant to allow adding an authentication proxy to an VMAlertmanager pod. []v1.Container
selectAllByDefault Changes default behavior for empty CRD selectors, such ConfigSelector. boolean
configSelector Defines selector for VMAlertmanagerConfig, result config will be merged with with Raw or Secret config. *metav1.LabelSelector
configNamespaceSelector Defines namespace selector for VMAlertmanagerConfig. *metav1.LabelSelector
terminationGracePeriodSeconds Defines period for container graceful termination. string
labels Map of string keys and values that can be used to organize and categorize (scope and select) objects. Specified just as map[string]string. For example: "label-key: label-value" map[string]string
annotations Map of string keys and values stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. Specified just as map[string]string. For example: "annotations-key: annotation-value" map[string]string
storage Definition of how storage will be used by the VMAlertmanager *v1beta1.StorageSpec
extraArgs List of key-value with additional arguments which will be passed to VMAlertmanager pod https://docs.victoriametrics.com/#list-of-command-line-flags map[string]string
extraEnvs Allow to set extra system environment variables for VMAlertmanager. map[string]string
volumes Volumes allows configuration of additional volumes on the output deploy definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects []v1.Volume
volumeMounts VolumeMounts allows configuration of additional VolumeMounts on the output deploy definition. VolumeMounts specified will be appended to other VolumeMounts in the vmsingle container that are generated as a result of StorageSpec objects []v1.VolumeMount
priorityClassName PriorityClassName assigned to the Pods to prevent them from evicting string
tlsConfig TLS configuration for VMAlertManager. Must be specified if victoriametrics.tlsEnabled is set to true TLSConfig
webConfig Web configuration for VMAlertManager. Parameter is optional and this configuration is auto-populated by the operator. However, it can be used to customize/override TLS settings. More details here object
gossipConfig Gossip configuration for VMAlertManager. Can be used to specify whether to use mutual TLS for gossip. More details here object

Example:

  vmAlertManager:
    install: true
    ingress:
      host: vmalertmanager.test.org
      install: true
    paused: false
    selectAllByDefault: true
    securityContext:
      runAsUser: 2001
      fsGroup: 2001
    secrets:
      - kube-etcd-client-certs
    volumes: {}
    volumeMounts: {}

If TLS is enabled for Victoriametrics:

victoriametrics:
  tlsEnabled: true
  vmAlertManager:
    install: true
    ingress:
      host: vmalertmanager.test.org
      install: true
    paused: false
    selectAllByDefault: true
    securityContext:
      runAsUser: 2001
      fsGroup: 2001
    secrets:
      - kube-etcd-client-certs
    volumes: {}
    volumeMounts: {}
    tlsConfig:
      existingSecret: "vmalertmanager-tls-secret"
    webConfig: # optional
      tls_server_config:
        cert_secret_ref:
          key: tls.crt
          name: vmalertmanager-tls-secret
        key_secret_ref:
          key: tls.key
          name: vmalertmanager-tls-secret

Note In above case, it is assumed that there is already a secret with the name vmalertmanager-tls-secret present in the server with valid certificates.