additionalArgs
|
array
|
additionalArgs allows setting additional arguments for the 'Alertmanager' container.
It is intended for e.g. activating hidden flags which are not supported by
the dedicated configuration options yet. The arguments are passed as-is to the
Alertmanager container which may cause issues if they are invalid or not supported
by the given Alertmanager version. |
additionalArgs[]
|
object
|
Argument as part of the AdditionalArgs list. |
additionalPeers
|
array (string)
|
additionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster. |
affinity
|
object
|
affinity defines the pod’s scheduling constraints. |
alertmanagerConfigMatcherStrategy
|
object
|
alertmanagerConfigMatcherStrategy defines how AlertmanagerConfig objects
process incoming alerts. |
alertmanagerConfigNamespaceSelector
|
object
|
alertmanagerConfigNamespaceSelector defines the namespaces to be selected for AlertmanagerConfig discovery. If nil, only
check own namespace. |
alertmanagerConfigSelector
|
object
|
alertmanagerConfigSelector defines the selector to be used for to merge and configure Alertmanager with. |
alertmanagerConfiguration
|
object
|
alertmanagerConfiguration defines the configuration of Alertmanager.
If defined, it takes precedence over the configSecret field.
This is an experimental feature, it may change in any upcoming release
in a breaking way. |
automountServiceAccountToken
|
boolean
|
automountServiceAccountToken defines whether a service account token should be automatically mounted in the pod.
If the service account has automountServiceAccountToken: true, set the field to false to opt out of automounting API credentials. |
baseImage
|
string
|
baseImage that is used to deploy pods, without tag.
Deprecated: use 'image' instead. |
clusterAdvertiseAddress
|
string
|
clusterAdvertiseAddress defines the explicit address to advertise in cluster.
Needs to be provided for non RFC1918 [1] (public) addresses.
[1] RFC1918: https://tools.ietf.org/html/rfc1918 |
clusterGossipInterval
|
string
|
clusterGossipInterval defines the interval between gossip attempts. |
clusterLabel
|
string
|
clusterLabel defines the identifier that uniquely identifies the Alertmanager cluster.
You should only set it when the Alertmanager cluster includes Alertmanager instances which are external to this Alertmanager resource. In practice, the addresses of the external instances are provided via the .spec.additionalPeers field. |
clusterPeerTimeout
|
string
|
clusterPeerTimeout defines the timeout for cluster peering. |
clusterPushpullInterval
|
string
|
clusterPushpullInterval defines the interval between pushpull attempts. |
clusterTLS
|
object
|
clusterTLS defines the mutual TLS configuration for the Alertmanager cluster’s gossip protocol.
It requires Alertmanager >= 0.24.0. |
configMaps
|
array (string)
|
configMaps defines a list of ConfigMaps in the same namespace as the Alertmanager
object, which shall be mounted into the Alertmanager Pods.
Each ConfigMap is added to the StatefulSet definition as a volume named configmap-<configmap-name>.
The ConfigMaps are mounted into /etc/alertmanager/configmaps/<configmap-name> in the 'alertmanager' container. |
configSecret
|
string
|
configSecret defines the name of a Kubernetes Secret in the same namespace as the
Alertmanager object, which contains the configuration for this Alertmanager
instance. If empty, it defaults to alertmanager-<alertmanager-name>.
The Alertmanager configuration should be available under the
alertmanager.yaml key. Additional keys from the original secret are
copied to the generated secret and mounted into the
/etc/alertmanager/config directory in the alertmanager container.
If either the secret or the alertmanager.yaml key is missing, the
operator provisions a minimal Alertmanager configuration with one empty
receiver (effectively dropping alert notifications). |
containers
|
array
|
containers allows injecting additional containers. This is meant to
allow adding an authentication proxy to an Alertmanager pod.
Containers described here modify an operator generated container if they
share the same name and modifications are done via a strategic merge
patch. The current container names are: alertmanager and
config-reloader. Overriding containers is entirely outside the scope
of what the maintainers will support and by doing so, you accept that
this behaviour may break at any time without notice. |
containers[]
|
object
|
A single application container that you want to run within a pod. |
dnsConfig
|
object
|
dnsConfig defines the DNS configuration for the pods. |
dnsPolicy
|
string
|
dnsPolicy defines the DNS policy for the pods. |
enableFeatures
|
array (string)
|
enableFeatures defines the Alertmanager’s feature flags. By default, no features are enabled.
Enabling features which are disabled by default is entirely outside the
scope of what the maintainers will support and by doing so, you accept
that this behaviour may break at any time without notice.
It requires Alertmanager >= 0.27.0. |
enableServiceLinks
|
boolean
|
enableServiceLinks defines whether information about services should be injected into pod’s environment variables |
externalUrl
|
string
|
externalUrl defines the URL used to access the Alertmanager web service. This is
necessary to generate correct URLs. This is necessary if Alertmanager is not
served from root of a DNS name. |
forceEnableClusterMode
|
boolean
|
forceEnableClusterMode ensures Alertmanager does not deactivate the cluster mode when running with a single replica.
Use case is e.g. spanning an Alertmanager cluster across Kubernetes clusters with a single replica in each. |
hostAliases
|
array
|
hostAliases Pods configuration |
hostAliases[]
|
object
|
HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the
pod’s hosts file. |
hostUsers
|
boolean
|
hostUsers supports the user space in Kubernetes.
More info: https://kubernetes.io/docs/tasks/configure-pod-container/user-namespaces/
The feature requires at least Kubernetes 1.28 with the UserNamespacesSupport feature gate enabled.
Starting Kubernetes 1.33, the feature is enabled by default. |
image
|
string
|
image if specified has precedence over baseImage, tag and sha
combinations. Specifying the version is still necessary to ensure the
Prometheus Operator knows what version of Alertmanager is being
configured. |
imagePullPolicy
|
string
|
imagePullPolicy for the 'alertmanager', 'init-config-reloader' and 'config-reloader' containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details. |
imagePullSecrets
|
array
|
imagePullSecrets An optional list of references to secrets in the same namespace
to use for pulling prometheus and alertmanager images from registries
see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
imagePullSecrets[]
|
object
|
LocalObjectReference contains enough information to let you locate the
referenced object inside the same namespace. |
initContainers
|
array
|
initContainers allows adding initContainers to the pod definition. Those can be used to e.g.
fetch secrets for injection into the Alertmanager configuration from external sources. Any
errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
InitContainers described here modify an operator
generated init containers if they share the same name and modifications are
done via a strategic merge patch. The current init container name is:
init-config-reloader. Overriding init containers is entirely outside the
scope of what the maintainers will support and by doing so, you accept that
this behaviour may break at any time without notice. |
initContainers[]
|
object
|
A single application container that you want to run within a pod. |
limits
|
object
|
limits defines the limits command line flags when starting Alertmanager. |
listenLocal
|
boolean
|
listenLocal defines the Alertmanager server listen on loopback, so that it
does not bind against the Pod IP. Note this is only for the Alertmanager
UI, not the gossip communication. |
logFormat
|
string
|
logFormat for Alertmanager to be configured with. |
logLevel
|
string
|
logLevel for Alertmanager to be configured with. |
minReadySeconds
|
integer
|
minReadySeconds defines the minimum number of seconds for which a newly created pod should be ready
without any of its container crashing for it to be considered available.
If unset, pods will be considered available as soon as they are ready. |
nodeSelector
|
object (string)
|
nodeSelector defines which Nodes the Pods are scheduled on. |
paused
|
boolean
|
paused if set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. |
persistentVolumeClaimRetentionPolicy
|
object
|
persistentVolumeClaimRetentionPolicy controls if and how PVCs are deleted during the lifecycle of a StatefulSet.
The default behavior is all PVCs are retained.
This is an alpha field from kubernetes 1.23 until 1.26 and a beta field from 1.26.
It requires enabling the StatefulSetAutoDeletePVC feature gate. |
podMetadata
|
object
|
podMetadata defines labels and annotations which are propagated to the Alertmanager pods.
The following items are reserved and cannot be overridden:
* "alertmanager" label, set to the name of the Alertmanager instance.
* "app.kubernetes.io/instance" label, set to the name of the Alertmanager instance.
* "app.kubernetes.io/managed-by" label, set to "prometheus-operator".
* "app.kubernetes.io/name" label, set to "alertmanager".
* "app.kubernetes.io/version" label, set to the Alertmanager version.
* "kubectl.kubernetes.io/default-container" annotation, set to "alertmanager". |
portName
|
string
|
portName defines the port’s name for the pods and governing service.
Defaults to web. |
priorityClassName
|
string
|
priorityClassName assigned to the Pods |
replicas
|
integer
|
replicas defines the expected size of the alertmanager cluster. The controller will
eventually make the size of the running cluster equal to the expected
size. |
resources
|
object
|
resources defines the resource requests and limits of the Pods. |
retention
|
string
|
retention defines the time duration Alertmanager shall retain data for. Default is '120h',
and must match the regular expression [0-9]+(ms|s|m|h) (milliseconds seconds minutes hours). |
routePrefix
|
string
|
routePrefix Alertmanager registers HTTP handlers for. This is useful,
if using ExternalURL and a proxy is rewriting HTTP routes of a request,
and the actual ExternalURL is still true, but the server serves requests
under a different route prefix. For example for use with kubectl proxy. |
secrets
|
array (string)
|
secrets is a list of Secrets in the same namespace as the Alertmanager
object, which shall be mounted into the Alertmanager Pods.
Each Secret is added to the StatefulSet definition as a volume named secret-<secret-name>.
The Secrets are mounted into /etc/alertmanager/secrets/<secret-name> in the 'alertmanager' container. |
securityContext
|
object
|
securityContext holds pod-level security attributes and common container settings.
This defaults to the default PodSecurityContext. |
serviceAccountName
|
string
|
serviceAccountName is the name of the ServiceAccount to use to run the
Prometheus Pods. |
serviceName
|
string
|
serviceName defines the service name used by the underlying StatefulSet(s) as the governing service.
If defined, the Service must be created before the Alertmanager resource in the same namespace and it must define a selector that matches the pod labels.
If empty, the operator will create and manage a headless service named alertmanager-operated for Alertmanager resources.
When deploying multiple Alertmanager resources in the same namespace, it is recommended to specify a different value for each.
See https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id for more details. |
sha
|
string
|
sha of Alertmanager container image to be deployed. Defaults to the value of version.
Similar to a tag, but the SHA explicitly deploys an immutable container image.
Version and Tag are ignored if SHA is set.
Deprecated: use 'image' instead. The image digest can be specified as part of the image URL. |
storage
|
object
|
storage defines the definition of how storage will be used by the Alertmanager
instances. |
tag
|
string
|
tag of Alertmanager container image to be deployed. Defaults to the value of version.
Version is ignored if Tag is set.
Deprecated: use 'image' instead. The image tag can be specified as part of the image URL. |
terminationGracePeriodSeconds
|
integer
|
terminationGracePeriodSeconds defines the Optional duration in seconds the pod needs to terminate gracefully.
Value must be non-negative integer. The value zero indicates stop immediately via
the kill signal (no opportunity to shut down) which may lead to data corruption.
Defaults to 120 seconds. |
tolerations
|
array
|
tolerations defines the pod’s tolerations. |
tolerations[]
|
object
|
The pod this Toleration is attached to tolerates any taint that matches
the triple <key,value,effect> using the matching operator <operator>. |
topologySpreadConstraints
|
array
|
topologySpreadConstraints defines the Pod’s topology spread constraints. |
topologySpreadConstraints[]
|
object
|
TopologySpreadConstraint specifies how to spread matching pods among the given topology. |
version
|
string
|
version the cluster should be on. |
volumeMounts
|
array
|
volumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition.
VolumeMounts specified will be appended to other VolumeMounts in the alertmanager container,
that are generated as a result of StorageSpec objects. |
volumeMounts[]
|
object
|
VolumeMount describes a mounting of a Volume within a container. |
volumes
|
array
|
volumes allows configuration of additional volumes on the output StatefulSet definition.
Volumes specified will be appended to other volumes that are generated as a result of
StorageSpec objects. |
volumes[]
|
object
|
Volume represents a named volume in a pod that may be accessed by any container in the pod. |
web
|
object
|
web defines the web command line flags when starting Alertmanager. |