// Automatically generated by 'openshift-apidocs-gen'. Do not edit.
:_mod-docs-content-type: ASSEMBLY
[id="alertmanagerconfig-monitoring-coreos-com-v1beta1"]
= AlertmanagerConfig [monitoring.coreos.com/v1beta1]
:toc: macro
:toc-title:

toc::[]


Description::
+
--
AlertmanagerConfig configures the Prometheus Alertmanager,
specifying how alerts should be grouped, inhibited and notified to external systems.
--

Type::
  `object`

Required::
  - `spec`


== Specification

[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `apiVersion`
| `string`
| APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

| `kind`
| `string`
| Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

| `metadata`
| xref:../objects/index.adoc#io-k8s-apimachinery-pkg-apis-meta-v1-ObjectMeta[`ObjectMeta`]
| Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

| `spec`
| `object`
| AlertmanagerConfigSpec is a specification of the desired behavior of the Alertmanager configuration.
By definition, the Alertmanager configuration only applies to alerts for which
the `namespace` label is equal to the namespace of the AlertmanagerConfig resource.

|===
=== .spec
Description::
+
--
AlertmanagerConfigSpec is a specification of the desired behavior of the Alertmanager configuration.
By definition, the Alertmanager configuration only applies to alerts for which
the `namespace` label is equal to the namespace of the AlertmanagerConfig resource.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `inhibitRules`
| `array`
| List of inhibition rules. The rules will only apply to alerts matching
the resource's namespace.

| `inhibitRules[]`
| `object`
| InhibitRule defines an inhibition rule that allows to mute alerts when other
alerts are already firing.
See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule

| `receivers`
| `array`
| List of receivers.

| `receivers[]`
| `object`
| Receiver defines one or more notification integrations.

| `route`
| `object`
| The Alertmanager route definition for alerts matching the resource's
namespace. If present, it will be added to the generated Alertmanager
configuration as a first-level route.

| `timeIntervals`
| `array`
| List of TimeInterval specifying when the routes should be muted or active.

| `timeIntervals[]`
| `object`
| TimeInterval specifies the periods in time when notifications will be muted or active.

|===
=== .spec.inhibitRules
Description::
+
--
List of inhibition rules. The rules will only apply to alerts matching
the resource's namespace.
--

Type::
  `array`




=== .spec.inhibitRules[]
Description::
+
--
InhibitRule defines an inhibition rule that allows to mute alerts when other
alerts are already firing.
See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `equal`
| `array (string)`
| Labels that must have an equal value in the source and target alert for
the inhibition to take effect.

| `sourceMatch`
| `array`
| Matchers for which one or more alerts have to exist for the inhibition
to take effect. The operator enforces that the alert matches the
resource's namespace.

| `sourceMatch[]`
| `object`
| Matcher defines how to match on alert's labels.

| `targetMatch`
| `array`
| Matchers that have to be fulfilled in the alerts to be muted. The
operator enforces that the alert matches the resource's namespace.

| `targetMatch[]`
| `object`
| Matcher defines how to match on alert's labels.

|===
=== .spec.inhibitRules[].sourceMatch
Description::
+
--
Matchers for which one or more alerts have to exist for the inhibition
to take effect. The operator enforces that the alert matches the
resource's namespace.
--

Type::
  `array`




=== .spec.inhibitRules[].sourceMatch[]
Description::
+
--
Matcher defines how to match on alert's labels.
--

Type::
  `object`

Required::
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `matchType`
| `string`
| Match operator, one of `=` (equal to), `!=` (not equal to), `=~` (regex
match) or `!~` (not regex match).
Negative operators (`!=` and `!~`) require Alertmanager >= v0.22.0.

| `name`
| `string`
| Label to match.

| `value`
| `string`
| Label value to match.

|===
=== .spec.inhibitRules[].targetMatch
Description::
+
--
Matchers that have to be fulfilled in the alerts to be muted. The
operator enforces that the alert matches the resource's namespace.
--

Type::
  `array`




=== .spec.inhibitRules[].targetMatch[]
Description::
+
--
Matcher defines how to match on alert's labels.
--

Type::
  `object`

Required::
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `matchType`
| `string`
| Match operator, one of `=` (equal to), `!=` (not equal to), `=~` (regex
match) or `!~` (not regex match).
Negative operators (`!=` and `!~`) require Alertmanager >= v0.22.0.

| `name`
| `string`
| Label to match.

| `value`
| `string`
| Label value to match.

|===
=== .spec.receivers
Description::
+
--
List of receivers.
--

Type::
  `array`




=== .spec.receivers[]
Description::
+
--
Receiver defines one or more notification integrations.
--

Type::
  `object`

Required::
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `discordConfigs`
| `array`
| List of Slack configurations.

| `discordConfigs[]`
| `object`
| DiscordConfig configures notifications via Discord.
See https://prometheus.io/docs/alerting/latest/configuration/#discord_config

| `emailConfigs`
| `array`
| List of Email configurations.

| `emailConfigs[]`
| `object`
| EmailConfig configures notifications via Email.

| `msteamsConfigs`
| `array`
| List of MSTeams configurations.
It requires Alertmanager >= 0.26.0.

| `msteamsConfigs[]`
| `object`
| MSTeamsConfig configures notifications via Microsoft Teams.
It requires Alertmanager >= 0.26.0.

| `name`
| `string`
| Name of the receiver. Must be unique across all items from the list.

| `opsgenieConfigs`
| `array`
| List of OpsGenie configurations.

| `opsgenieConfigs[]`
| `object`
| OpsGenieConfig configures notifications via OpsGenie.
See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config

| `pagerdutyConfigs`
| `array`
| List of PagerDuty configurations.

| `pagerdutyConfigs[]`
| `object`
| PagerDutyConfig configures notifications via PagerDuty.
See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config

| `pushoverConfigs`
| `array`
| List of Pushover configurations.

| `pushoverConfigs[]`
| `object`
| PushoverConfig configures notifications via Pushover.
See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config

| `slackConfigs`
| `array`
| List of Slack configurations.

| `slackConfigs[]`
| `object`
| SlackConfig configures notifications via Slack.
See https://prometheus.io/docs/alerting/latest/configuration/#slack_config

| `snsConfigs`
| `array`
| List of SNS configurations

| `snsConfigs[]`
| `object`
| SNSConfig configures notifications via AWS SNS.
See https://prometheus.io/docs/alerting/latest/configuration/#sns_configs

| `telegramConfigs`
| `array`
| List of Telegram configurations.

| `telegramConfigs[]`
| `object`
| TelegramConfig configures notifications via Telegram.
See https://prometheus.io/docs/alerting/latest/configuration/#telegram_config

| `victoropsConfigs`
| `array`
| List of VictorOps configurations.

| `victoropsConfigs[]`
| `object`
| VictorOpsConfig configures notifications via VictorOps.
See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config

| `webexConfigs`
| `array`
| List of Webex configurations.

| `webexConfigs[]`
| `object`
| WebexConfig configures notification via Cisco Webex
See https://prometheus.io/docs/alerting/latest/configuration/#webex_config

| `webhookConfigs`
| `array`
| List of webhook configurations.

| `webhookConfigs[]`
| `object`
| WebhookConfig configures notifications via a generic receiver supporting the webhook payload.
See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config

| `wechatConfigs`
| `array`
| List of WeChat configurations.

| `wechatConfigs[]`
| `object`
| WeChatConfig configures notifications via WeChat.
See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config

|===
=== .spec.receivers[].discordConfigs
Description::
+
--
List of Slack configurations.
--

Type::
  `array`




=== .spec.receivers[].discordConfigs[]
Description::
+
--
DiscordConfig configures notifications via Discord.
See https://prometheus.io/docs/alerting/latest/configuration/#discord_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `apiURL`
| `object`
| The secret's key that contains the Discord webhook URL.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `httpConfig`
| `object`
| HTTP client configuration.

| `message`
| `string`
| The template of the message's body.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `title`
| `string`
| The template of the message's title.

|===
=== .spec.receivers[].discordConfigs[].apiURL
Description::
+
--
The secret's key that contains the Discord webhook URL.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].discordConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].discordConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].emailConfigs
Description::
+
--
List of Email configurations.
--

Type::
  `array`




=== .spec.receivers[].emailConfigs[]
Description::
+
--
EmailConfig configures notifications via Email.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authIdentity`
| `string`
| The identity to use for authentication.

| `authPassword`
| `object`
| The secret's key that contains the password to use for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `authSecret`
| `object`
| The secret's key that contains the CRAM-MD5 secret.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `authUsername`
| `string`
| The username to use for authentication.

| `from`
| `string`
| The sender address.

| `headers`
| `array`
| Further headers email header key/value pairs. Overrides any headers
previously set by the notification implementation.

| `headers[]`
| `object`
| KeyValue defines a (key, value) tuple.

| `hello`
| `string`
| The hostname to identify to the SMTP server.

| `html`
| `string`
| The HTML body of the email notification.

| `requireTLS`
| `boolean`
| The SMTP TLS requirement.
Note that Go does not support unencrypted connections to remote SMTP endpoints.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `smarthost`
| `string`
| The SMTP host and port through which emails are sent. E.g. example.com:25

| `text`
| `string`
| The text body of the email notification.

| `tlsConfig`
| `object`
| TLS configuration

| `to`
| `string`
| The email address to send notifications to.

|===
=== .spec.receivers[].emailConfigs[].authPassword
Description::
+
--
The secret's key that contains the password to use for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].emailConfigs[].authSecret
Description::
+
--
The secret's key that contains the CRAM-MD5 secret.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].emailConfigs[].headers
Description::
+
--
Further headers email header key/value pairs. Overrides any headers
previously set by the notification implementation.
--

Type::
  `array`




=== .spec.receivers[].emailConfigs[].headers[]
Description::
+
--
KeyValue defines a (key, value) tuple.
--

Type::
  `object`

Required::
  - `key`
  - `value`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| Key of the tuple.

| `value`
| `string`
| Value of the tuple.

|===
=== .spec.receivers[].emailConfigs[].tlsConfig
Description::
+
--
TLS configuration
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].emailConfigs[].tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].emailConfigs[].tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].emailConfigs[].tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].emailConfigs[].tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].emailConfigs[].tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].emailConfigs[].tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].emailConfigs[].tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs
Description::
+
--
List of MSTeams configurations.
It requires Alertmanager >= 0.26.0.
--

Type::
  `array`




=== .spec.receivers[].msteamsConfigs[]
Description::
+
--
MSTeamsConfig configures notifications via Microsoft Teams.
It requires Alertmanager >= 0.26.0.
--

Type::
  `object`

Required::
  - `webhookUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `httpConfig`
| `object`
| HTTP client configuration.

| `sendResolved`
| `boolean`
| Whether to notify about resolved alerts.

| `summary`
| `string`
| Message summary template.
It requires Alertmanager >= 0.27.0.

| `text`
| `string`
| Message body template.

| `title`
| `string`
| Message title template.

| `webhookUrl`
| `object`
| MSTeams webhook URL.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].msteamsConfigs[].webhookUrl
Description::
+
--
MSTeams webhook URL.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs
Description::
+
--
List of OpsGenie configurations.
--

Type::
  `array`




=== .spec.receivers[].opsgenieConfigs[]
Description::
+
--
OpsGenieConfig configures notifications via OpsGenie.
See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `actions`
| `string`
| Comma separated list of actions that will be available for the alert.

| `apiKey`
| `object`
| The secret's key that contains the OpsGenie API key.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `apiURL`
| `string`
| The URL to send OpsGenie API requests to.

| `description`
| `string`
| Description of the incident.

| `details`
| `array`
| A set of arbitrary key/value pairs that provide further detail about the incident.

| `details[]`
| `object`
| KeyValue defines a (key, value) tuple.

| `entity`
| `string`
| Optional field that can be used to specify which domain alert is related to.

| `httpConfig`
| `object`
| HTTP client configuration.

| `message`
| `string`
| Alert text limited to 130 characters.

| `note`
| `string`
| Additional alert note.

| `priority`
| `string`
| Priority level of alert. Possible values are P1, P2, P3, P4, and P5.

| `responders`
| `array`
| List of responders responsible for notifications.

| `responders[]`
| `object`
| OpsGenieConfigResponder defines a responder to an incident.
One of `id`, `name` or `username` has to be defined.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `source`
| `string`
| Backlink to the sender of the notification.

| `tags`
| `string`
| Comma separated list of tags attached to the notifications.

|===
=== .spec.receivers[].opsgenieConfigs[].apiKey
Description::
+
--
The secret's key that contains the OpsGenie API key.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].opsgenieConfigs[].details
Description::
+
--
A set of arbitrary key/value pairs that provide further detail about the incident.
--

Type::
  `array`




=== .spec.receivers[].opsgenieConfigs[].details[]
Description::
+
--
KeyValue defines a (key, value) tuple.
--

Type::
  `object`

Required::
  - `key`
  - `value`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| Key of the tuple.

| `value`
| `string`
| Value of the tuple.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].opsgenieConfigs[].responders
Description::
+
--
List of responders responsible for notifications.
--

Type::
  `array`




=== .spec.receivers[].opsgenieConfigs[].responders[]
Description::
+
--
OpsGenieConfigResponder defines a responder to an incident.
One of `id`, `name` or `username` has to be defined.
--

Type::
  `object`

Required::
  - `type`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `id`
| `string`
| ID of the responder.

| `name`
| `string`
| Name of the responder.

| `type`
| `string`
| Type of responder.

| `username`
| `string`
| Username of the responder.

|===
=== .spec.receivers[].pagerdutyConfigs
Description::
+
--
List of PagerDuty configurations.
--

Type::
  `array`




=== .spec.receivers[].pagerdutyConfigs[]
Description::
+
--
PagerDutyConfig configures notifications via PagerDuty.
See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `class`
| `string`
| The class/type of the event.

| `client`
| `string`
| Client identification.

| `clientURL`
| `string`
| Backlink to the sender of notification.

| `component`
| `string`
| The part or component of the affected system that is broken.

| `description`
| `string`
| Description of the incident.

| `details`
| `array`
| Arbitrary key/value pairs that provide further detail about the incident.

| `details[]`
| `object`
| KeyValue defines a (key, value) tuple.

| `group`
| `string`
| A cluster or grouping of sources.

| `httpConfig`
| `object`
| HTTP client configuration.

| `pagerDutyImageConfigs`
| `array`
| A list of image details to attach that provide further detail about an incident.

| `pagerDutyImageConfigs[]`
| `object`
| PagerDutyImageConfig attaches images to an incident

| `pagerDutyLinkConfigs`
| `array`
| A list of link details to attach that provide further detail about an incident.

| `pagerDutyLinkConfigs[]`
| `object`
| PagerDutyLinkConfig attaches text links to an incident

| `routingKey`
| `object`
| The secret's key that contains the PagerDuty integration key (when using
Events API v2). Either this field or `serviceKey` needs to be defined.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `serviceKey`
| `object`
| The secret's key that contains the PagerDuty service key (when using
integration type "Prometheus"). Either this field or `routingKey` needs to
be defined.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `severity`
| `string`
| Severity of the incident.

| `source`
| `string`
| Unique location of the affected system.

| `url`
| `string`
| The URL to send requests to.

|===
=== .spec.receivers[].pagerdutyConfigs[].details
Description::
+
--
Arbitrary key/value pairs that provide further detail about the incident.
--

Type::
  `array`




=== .spec.receivers[].pagerdutyConfigs[].details[]
Description::
+
--
KeyValue defines a (key, value) tuple.
--

Type::
  `object`

Required::
  - `key`
  - `value`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| Key of the tuple.

| `value`
| `string`
| Value of the tuple.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pagerdutyConfigs[].pagerDutyImageConfigs
Description::
+
--
A list of image details to attach that provide further detail about an incident.
--

Type::
  `array`




=== .spec.receivers[].pagerdutyConfigs[].pagerDutyImageConfigs[]
Description::
+
--
PagerDutyImageConfig attaches images to an incident
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `alt`
| `string`
| Alt is the optional alternative text for the image.

| `href`
| `string`
| Optional URL; makes the image a clickable link.

| `src`
| `string`
| Src of the image being attached to the incident

|===
=== .spec.receivers[].pagerdutyConfigs[].pagerDutyLinkConfigs
Description::
+
--
A list of link details to attach that provide further detail about an incident.
--

Type::
  `array`




=== .spec.receivers[].pagerdutyConfigs[].pagerDutyLinkConfigs[]
Description::
+
--
PagerDutyLinkConfig attaches text links to an incident
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `alt`
| `string`
| Text that describes the purpose of the link, and can be used as the link's text.

| `href`
| `string`
| Href is the URL of the link to be attached

|===
=== .spec.receivers[].pagerdutyConfigs[].routingKey
Description::
+
--
The secret's key that contains the PagerDuty integration key (when using
Events API v2). Either this field or `serviceKey` needs to be defined.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].pagerdutyConfigs[].serviceKey
Description::
+
--
The secret's key that contains the PagerDuty service key (when using
integration type "Prometheus"). Either this field or `routingKey` needs to
be defined.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].pushoverConfigs
Description::
+
--
List of Pushover configurations.
--

Type::
  `array`




=== .spec.receivers[].pushoverConfigs[]
Description::
+
--
PushoverConfig configures notifications via Pushover.
See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `device`
| `string`
| The name of a device to send the notification to

| `expire`
| `string`
| How long your notification will continue to be retried for, unless the user
acknowledges the notification.

| `html`
| `boolean`
| Whether notification message is HTML or plain text.

| `httpConfig`
| `object`
| HTTP client configuration.

| `message`
| `string`
| Notification message.

| `priority`
| `string`
| Priority, see https://pushover.net/api#priority

| `retry`
| `string`
| How often the Pushover servers will send the same notification to the user.
Must be at least 30 seconds.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `sound`
| `string`
| The name of one of the sounds supported by device clients to override the user's default sound choice

| `title`
| `string`
| Notification title.

| `token`
| `object`
| The secret's key that contains the registered application's API token, see https://pushover.net/apps.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
Either `token` or `tokenFile` is required.

| `tokenFile`
| `string`
| The token file that contains the registered application's API token, see https://pushover.net/apps.
Either `token` or `tokenFile` is required.
It requires Alertmanager >= v0.26.0.

| `ttl`
| `string`
| The time to live definition for the alert notification

| `url`
| `string`
| A supplementary URL shown alongside the message.

| `urlTitle`
| `string`
| A title for supplementary URL, otherwise just the URL is shown

| `userKey`
| `object`
| The secret's key that contains the recipient user's user key.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
Either `userKey` or `userKeyFile` is required.

| `userKeyFile`
| `string`
| The user key file that contains the recipient user's user key.
Either `userKey` or `userKeyFile` is required.
It requires Alertmanager >= v0.26.0.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].pushoverConfigs[].token
Description::
+
--
The secret's key that contains the registered application's API token, see https://pushover.net/apps.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
Either `token` or `tokenFile` is required.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].pushoverConfigs[].userKey
Description::
+
--
The secret's key that contains the recipient user's user key.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
Either `userKey` or `userKeyFile` is required.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].slackConfigs
Description::
+
--
List of Slack configurations.
--

Type::
  `array`




=== .spec.receivers[].slackConfigs[]
Description::
+
--
SlackConfig configures notifications via Slack.
See https://prometheus.io/docs/alerting/latest/configuration/#slack_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `actions`
| `array`
| A list of Slack actions that are sent with each notification.

| `actions[]`
| `object`
| SlackAction configures a single Slack action that is sent with each
notification.
See https://api.slack.com/docs/message-attachments#action_fields and
https://api.slack.com/docs/message-buttons for more information.

| `apiURL`
| `object`
| The secret's key that contains the Slack webhook URL.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `callbackId`
| `string`
| 

| `channel`
| `string`
| The channel or user to send notifications to.

| `color`
| `string`
| 

| `fallback`
| `string`
| 

| `fields`
| `array`
| A list of Slack fields that are sent with each notification.

| `fields[]`
| `object`
| SlackField configures a single Slack field that is sent with each notification.
Each field must contain a title, value, and optionally, a boolean value to indicate if the field
is short enough to be displayed next to other fields designated as short.
See https://api.slack.com/docs/message-attachments#fields for more information.

| `footer`
| `string`
| 

| `httpConfig`
| `object`
| HTTP client configuration.

| `iconEmoji`
| `string`
| 

| `iconURL`
| `string`
| 

| `imageURL`
| `string`
| 

| `linkNames`
| `boolean`
| 

| `mrkdwnIn`
| `array (string)`
| 

| `pretext`
| `string`
| 

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `shortFields`
| `boolean`
| 

| `text`
| `string`
| 

| `thumbURL`
| `string`
| 

| `title`
| `string`
| 

| `titleLink`
| `string`
| 

| `username`
| `string`
| 

|===
=== .spec.receivers[].slackConfigs[].actions
Description::
+
--
A list of Slack actions that are sent with each notification.
--

Type::
  `array`




=== .spec.receivers[].slackConfigs[].actions[]
Description::
+
--
SlackAction configures a single Slack action that is sent with each
notification.
See https://api.slack.com/docs/message-attachments#action_fields and
https://api.slack.com/docs/message-buttons for more information.
--

Type::
  `object`

Required::
  - `text`
  - `type`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `confirm`
| `object`
| SlackConfirmationField protect users from destructive actions or
particularly distinguished decisions by asking them to confirm their button
click one more time.
See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields
for more information.

| `name`
| `string`
| 

| `style`
| `string`
| 

| `text`
| `string`
| 

| `type`
| `string`
| 

| `url`
| `string`
| 

| `value`
| `string`
| 

|===
=== .spec.receivers[].slackConfigs[].actions[].confirm
Description::
+
--
SlackConfirmationField protect users from destructive actions or
particularly distinguished decisions by asking them to confirm their button
click one more time.
See https://api.slack.com/docs/interactive-message-field-guide#confirmation_fields
for more information.
--

Type::
  `object`

Required::
  - `text`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `dismissText`
| `string`
| 

| `okText`
| `string`
| 

| `text`
| `string`
| 

| `title`
| `string`
| 

|===
=== .spec.receivers[].slackConfigs[].apiURL
Description::
+
--
The secret's key that contains the Slack webhook URL.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].slackConfigs[].fields
Description::
+
--
A list of Slack fields that are sent with each notification.
--

Type::
  `array`




=== .spec.receivers[].slackConfigs[].fields[]
Description::
+
--
SlackField configures a single Slack field that is sent with each notification.
Each field must contain a title, value, and optionally, a boolean value to indicate if the field
is short enough to be displayed next to other fields designated as short.
See https://api.slack.com/docs/message-attachments#fields for more information.
--

Type::
  `object`

Required::
  - `title`
  - `value`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `short`
| `boolean`
| 

| `title`
| `string`
| 

| `value`
| `string`
| 

|===
=== .spec.receivers[].slackConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].slackConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].slackConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs
Description::
+
--
List of SNS configurations
--

Type::
  `array`




=== .spec.receivers[].snsConfigs[]
Description::
+
--
SNSConfig configures notifications via AWS SNS.
See https://prometheus.io/docs/alerting/latest/configuration/#sns_configs
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `apiURL`
| `string`
| The SNS API URL i.e. https://sns.us-east-2.amazonaws.com.
If not specified, the SNS API URL from the SNS SDK will be used.

| `attributes`
| `object (string)`
| SNS message attributes.

| `httpConfig`
| `object`
| HTTP client configuration.

| `message`
| `string`
| The message content of the SNS notification.

| `phoneNumber`
| `string`
| Phone number if message is delivered via SMS in E.164 format.
If you don't specify this value, you must specify a value for the TopicARN or TargetARN.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `sigv4`
| `object`
| Configures AWS's Signature Verification 4 signing process to sign requests.

| `subject`
| `string`
| Subject line when the message is delivered to email endpoints.

| `targetARN`
| `string`
| The  mobile platform endpoint ARN if message is delivered via mobile notifications.
If you don't specify this value, you must specify a value for the topic_arn or PhoneNumber.

| `topicARN`
| `string`
| SNS topic ARN, i.e. arn:aws:sns:us-east-2:698519295917:My-Topic
If you don't specify this value, you must specify a value for the PhoneNumber or TargetARN.

|===
=== .spec.receivers[].snsConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].snsConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].sigv4
Description::
+
--
Configures AWS's Signature Verification 4 signing process to sign requests.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `accessKey`
| `object`
| AccessKey is the AWS API key. If not specified, the environment variable
`AWS_ACCESS_KEY_ID` is used.

| `profile`
| `string`
| Profile is the named AWS profile used to authenticate.

| `region`
| `string`
| Region is the AWS region. If blank, the region from the default credentials chain used.

| `roleArn`
| `string`
| RoleArn is the named AWS profile used to authenticate.

| `secretKey`
| `object`
| SecretKey is the AWS API secret. If not specified, the environment
variable `AWS_SECRET_ACCESS_KEY` is used.

|===
=== .spec.receivers[].snsConfigs[].sigv4.accessKey
Description::
+
--
AccessKey is the AWS API key. If not specified, the environment variable
`AWS_ACCESS_KEY_ID` is used.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].snsConfigs[].sigv4.secretKey
Description::
+
--
SecretKey is the AWS API secret. If not specified, the environment
variable `AWS_SECRET_ACCESS_KEY` is used.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs
Description::
+
--
List of Telegram configurations.
--

Type::
  `array`




=== .spec.receivers[].telegramConfigs[]
Description::
+
--
TelegramConfig configures notifications via Telegram.
See https://prometheus.io/docs/alerting/latest/configuration/#telegram_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `apiURL`
| `string`
| The Telegram API URL i.e. https://api.telegram.org.
If not specified, default API URL will be used.

| `botToken`
| `object`
| Telegram bot token. It is mutually exclusive with `botTokenFile`.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.


Either `botToken` or `botTokenFile` is required.

| `botTokenFile`
| `string`
| File to read the Telegram bot token from. It is mutually exclusive with `botToken`.
Either `botToken` or `botTokenFile` is required.


It requires Alertmanager >= v0.26.0.

| `chatID`
| `integer`
| The Telegram chat ID.

| `disableNotifications`
| `boolean`
| Disable telegram notifications

| `httpConfig`
| `object`
| HTTP client configuration.

| `message`
| `string`
| Message template

| `parseMode`
| `string`
| Parse mode for telegram message

| `sendResolved`
| `boolean`
| Whether to notify about resolved alerts.

|===
=== .spec.receivers[].telegramConfigs[].botToken
Description::
+
--
Telegram bot token. It is mutually exclusive with `botTokenFile`.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.


Either `botToken` or `botTokenFile` is required.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].telegramConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs
Description::
+
--
List of VictorOps configurations.
--

Type::
  `array`




=== .spec.receivers[].victoropsConfigs[]
Description::
+
--
VictorOpsConfig configures notifications via VictorOps.
See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `apiKey`
| `object`
| The secret's key that contains the API key to use when talking to the VictorOps API.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `apiUrl`
| `string`
| The VictorOps API URL.

| `customFields`
| `array`
| Additional custom fields for notification.

| `customFields[]`
| `object`
| KeyValue defines a (key, value) tuple.

| `entityDisplayName`
| `string`
| Contains summary of the alerted problem.

| `httpConfig`
| `object`
| The HTTP client's configuration.

| `messageType`
| `string`
| Describes the behavior of the alert (CRITICAL, WARNING, INFO).

| `monitoringTool`
| `string`
| The monitoring tool the state message is from.

| `routingKey`
| `string`
| A key used to map the alert to a team.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `stateMessage`
| `string`
| Contains long explanation of the alerted problem.

|===
=== .spec.receivers[].victoropsConfigs[].apiKey
Description::
+
--
The secret's key that contains the API key to use when talking to the VictorOps API.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].victoropsConfigs[].customFields
Description::
+
--
Additional custom fields for notification.
--

Type::
  `array`




=== .spec.receivers[].victoropsConfigs[].customFields[]
Description::
+
--
KeyValue defines a (key, value) tuple.
--

Type::
  `object`

Required::
  - `key`
  - `value`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| Key of the tuple.

| `value`
| `string`
| Value of the tuple.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig
Description::
+
--
The HTTP client's configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].victoropsConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs
Description::
+
--
List of Webex configurations.
--

Type::
  `array`




=== .spec.receivers[].webexConfigs[]
Description::
+
--
WebexConfig configures notification via Cisco Webex
See https://prometheus.io/docs/alerting/latest/configuration/#webex_config
--

Type::
  `object`

Required::
  - `roomID`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `apiURL`
| `string`
| The Webex Teams API URL i.e. https://webexapis.com/v1/messages

| `httpConfig`
| `object`
| The HTTP client's configuration.
You must use this configuration to supply the bot token as part of the HTTP `Authorization` header.

| `message`
| `string`
| Message template

| `roomID`
| `string`
| ID of the Webex Teams room where to send the messages.

| `sendResolved`
| `boolean`
| Whether to notify about resolved alerts.

|===
=== .spec.receivers[].webexConfigs[].httpConfig
Description::
+
--
The HTTP client's configuration.
You must use this configuration to supply the bot token as part of the HTTP `Authorization` header.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].webexConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webexConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs
Description::
+
--
List of webhook configurations.
--

Type::
  `array`




=== .spec.receivers[].webhookConfigs[]
Description::
+
--
WebhookConfig configures notifications via a generic receiver supporting the webhook payload.
See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `httpConfig`
| `object`
| HTTP client configuration.

| `maxAlerts`
| `integer`
| Maximum number of alerts to be sent per webhook message. When 0, all alerts are included.

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `url`
| `string`
| The URL to send HTTP POST requests to. `urlSecret` takes precedence over
`url`. One of `urlSecret` and `url` should be defined.

| `urlSecret`
| `object`
| The secret's key that contains the webhook URL to send HTTP requests to.
`urlSecret` takes precedence over `url`. One of `urlSecret` and `url`
should be defined.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].webhookConfigs[].urlSecret
Description::
+
--
The secret's key that contains the webhook URL to send HTTP requests to.
`urlSecret` takes precedence over `url`. One of `urlSecret` and `url`
should be defined.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].wechatConfigs
Description::
+
--
List of WeChat configurations.
--

Type::
  `array`




=== .spec.receivers[].wechatConfigs[]
Description::
+
--
WeChatConfig configures notifications via WeChat.
See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `agentID`
| `string`
| 

| `apiSecret`
| `object`
| The secret's key that contains the WeChat API key.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `apiURL`
| `string`
| The WeChat API URL.

| `corpID`
| `string`
| The corp id for authentication.

| `httpConfig`
| `object`
| HTTP client configuration.

| `message`
| `string`
| API request data as defined by the WeChat API.

| `messageType`
| `string`
| 

| `sendResolved`
| `boolean`
| Whether or not to notify about resolved alerts.

| `toParty`
| `string`
| 

| `toTag`
| `string`
| 

| `toUser`
| `string`
| 

|===
=== .spec.receivers[].wechatConfigs[].apiSecret
Description::
+
--
The secret's key that contains the WeChat API key.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig
Description::
+
--
HTTP client configuration.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `authorization`
| `object`
| Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.

| `basicAuth`
| `object`
| BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.

| `bearerTokenSecret`
| `object`
| The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.

| `followRedirects`
| `boolean`
| FollowRedirects specifies whether the client should follow HTTP 3xx redirects.

| `oauth2`
| `object`
| OAuth2 client credentials used to fetch a token for the targets.

| `proxyURL`
| `string`
| Optional proxy URL.

| `tlsConfig`
| `object`
| TLS configuration for the client.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.authorization
Description::
+
--
Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `credentials`
| `object`
| Selects a key of a Secret in the namespace that contains the credentials for authentication.

| `type`
| `string`
| Defines the authentication type. The value is case-insensitive.


"Basic" is not a supported value.


Default: "Bearer"

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.authorization.credentials
Description::
+
--
Selects a key of a Secret in the namespace that contains the credentials for authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.basicAuth
Description::
+
--
BasicAuth for the client.
This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `password`
| `object`
| `password` specifies a key of a Secret containing the password for
authentication.

| `username`
| `object`
| `username` specifies a key of a Secret containing the username for
authentication.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.basicAuth.password
Description::
+
--
`password` specifies a key of a Secret containing the password for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.basicAuth.username
Description::
+
--
`username` specifies a key of a Secret containing the username for
authentication.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.bearerTokenSecret
Description::
+
--
The secret's key that contains the bearer token to be used by the client
for authentication.
The secret needs to be in the same namespace as the AlertmanagerConfig
object and accessible by the Prometheus Operator.
--

Type::
  `object`

Required::
  - `key`
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| The name of the secret in the object's namespace to select from.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.oauth2
Description::
+
--
OAuth2 client credentials used to fetch a token for the targets.
--

Type::
  `object`

Required::
  - `clientId`
  - `clientSecret`
  - `tokenUrl`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `clientId`
| `object`
| `clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.

| `clientSecret`
| `object`
| `clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.

| `endpointParams`
| `object (string)`
| `endpointParams` configures the HTTP parameters to append to the token
URL.

| `scopes`
| `array (string)`
| `scopes` defines the OAuth2 scopes used for the token request.

| `tokenUrl`
| `string`
| `tokenURL` configures the URL to fetch the token from.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.oauth2.clientId
Description::
+
--
`clientId` specifies a key of a Secret or ConfigMap containing the
OAuth2 client's ID.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.oauth2.clientId.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.oauth2.clientId.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.oauth2.clientSecret
Description::
+
--
`clientSecret` specifies a key of a Secret containing the OAuth2
client's secret.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig
Description::
+
--
TLS configuration for the client.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `ca`
| `object`
| Certificate authority used when verifying server certificates.

| `cert`
| `object`
| Client certificate to present when doing client-authentication.

| `insecureSkipVerify`
| `boolean`
| Disable target certificate validation.

| `keySecret`
| `object`
| Secret containing the client key file for the targets.

| `serverName`
| `string`
| Used to verify the hostname for the targets.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig.ca
Description::
+
--
Certificate authority used when verifying server certificates.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig.ca.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig.ca.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig.cert
Description::
+
--
Client certificate to present when doing client-authentication.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `configMap`
| `object`
| ConfigMap containing data to use for the targets.

| `secret`
| `object`
| Secret containing data to use for the targets.

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig.cert.configMap
Description::
+
--
ConfigMap containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key to select.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the ConfigMap or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig.cert.secret
Description::
+
--
Secret containing data to use for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.receivers[].wechatConfigs[].httpConfig.tlsConfig.keySecret
Description::
+
--
Secret containing the client key file for the targets.
--

Type::
  `object`

Required::
  - `key`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `key`
| `string`
| The key of the secret to select from.  Must be a valid secret key.

| `name`
| `string`
| Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.

| `optional`
| `boolean`
| Specify whether the Secret or its key must be defined

|===
=== .spec.route
Description::
+
--
The Alertmanager route definition for alerts matching the resource's
namespace. If present, it will be added to the generated Alertmanager
configuration as a first-level route.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `activeTimeIntervals`
| `array (string)`
| ActiveTimeIntervals is a list of TimeInterval names when this route should be active.

| `continue`
| `boolean`
| Boolean indicating whether an alert should continue matching subsequent
sibling nodes. It will always be overridden to true for the first-level
route by the Prometheus operator.

| `groupBy`
| `array (string)`
| List of labels to group by.
Labels must not be repeated (unique list).
Special label "..." (aggregate by all possible labels), if provided, must be the only element in the list.

| `groupInterval`
| `string`
| How long to wait before sending an updated notification.
Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
Example: "5m"

| `groupWait`
| `string`
| How long to wait before sending the initial notification.
Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
Example: "30s"

| `matchers`
| `array`
| List of matchers that the alert's labels should match. For the first
level route, the operator removes any existing equality and regexp
matcher on the `namespace` label and adds a `namespace: <object
namespace>` matcher.

| `matchers[]`
| `object`
| Matcher defines how to match on alert's labels.

| `muteTimeIntervals`
| `array (string)`
| Note: this comment applies to the field definition above but appears
below otherwise it gets included in the generated manifest.
CRD schema doesn't support self-referential types for now (see
https://github.com/kubernetes/kubernetes/issues/62872). We have to use
an alternative type to circumvent the limitation. The downside is that
the Kube API can't validate the data beyond the fact that it is a valid
JSON representation.
MuteTimeIntervals is a list of TimeInterval names that will mute this route when matched.

| `receiver`
| `string`
| Name of the receiver for this route. If not empty, it should be listed in
the `receivers` field.

| `repeatInterval`
| `string`
| How long to wait before repeating the last notification.
Must match the regular expression`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`
Example: "4h"

| `routes`
| `array (undefined)`
| Child routes.

|===
=== .spec.route.matchers
Description::
+
--
List of matchers that the alert's labels should match. For the first
level route, the operator removes any existing equality and regexp
matcher on the `namespace` label and adds a `namespace: <object
namespace>` matcher.
--

Type::
  `array`




=== .spec.route.matchers[]
Description::
+
--
Matcher defines how to match on alert's labels.
--

Type::
  `object`

Required::
  - `name`



[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `matchType`
| `string`
| Match operator, one of `=` (equal to), `!=` (not equal to), `=~` (regex
match) or `!~` (not regex match).
Negative operators (`!=` and `!~`) require Alertmanager >= v0.22.0.

| `name`
| `string`
| Label to match.

| `value`
| `string`
| Label value to match.

|===
=== .spec.timeIntervals
Description::
+
--
List of TimeInterval specifying when the routes should be muted or active.
--

Type::
  `array`




=== .spec.timeIntervals[]
Description::
+
--
TimeInterval specifies the periods in time when notifications will be muted or active.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `name`
| `string`
| Name of the time interval.

| `timeIntervals`
| `array`
| TimeIntervals is a list of TimePeriod.

| `timeIntervals[]`
| `object`
| TimePeriod describes periods of time.

|===
=== .spec.timeIntervals[].timeIntervals
Description::
+
--
TimeIntervals is a list of TimePeriod.
--

Type::
  `array`




=== .spec.timeIntervals[].timeIntervals[]
Description::
+
--
TimePeriod describes periods of time.
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `daysOfMonth`
| `array`
| DaysOfMonth is a list of DayOfMonthRange

| `daysOfMonth[]`
| `object`
| DayOfMonthRange is an inclusive range of days of the month beginning at 1

| `months`
| `array (string)`
| Months is a list of MonthRange

| `times`
| `array`
| Times is a list of TimeRange

| `times[]`
| `object`
| TimeRange defines a start and end time in 24hr format

| `weekdays`
| `array (string)`
| Weekdays is a list of WeekdayRange

| `years`
| `array (string)`
| Years is a list of YearRange

|===
=== .spec.timeIntervals[].timeIntervals[].daysOfMonth
Description::
+
--
DaysOfMonth is a list of DayOfMonthRange
--

Type::
  `array`




=== .spec.timeIntervals[].timeIntervals[].daysOfMonth[]
Description::
+
--
DayOfMonthRange is an inclusive range of days of the month beginning at 1
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `end`
| `integer`
| End of the inclusive range

| `start`
| `integer`
| Start of the inclusive range

|===
=== .spec.timeIntervals[].timeIntervals[].times
Description::
+
--
Times is a list of TimeRange
--

Type::
  `array`




=== .spec.timeIntervals[].timeIntervals[].times[]
Description::
+
--
TimeRange defines a start and end time in 24hr format
--

Type::
  `object`




[cols="1,1,1",options="header"]
|===
| Property | Type | Description

| `endTime`
| `string`
| EndTime is the end time in 24hr format.

| `startTime`
| `string`
| StartTime is the start time in 24hr format.

|===

== API endpoints

The following API endpoints are available:

* `/apis/monitoring.coreos.com/v1beta1/alertmanagerconfigs`
- `GET`: list objects of kind AlertmanagerConfig
* `/apis/monitoring.coreos.com/v1beta1/namespaces/{namespace}/alertmanagerconfigs`
- `DELETE`: delete collection of AlertmanagerConfig
- `GET`: list objects of kind AlertmanagerConfig
- `POST`: create an AlertmanagerConfig
* `/apis/monitoring.coreos.com/v1beta1/namespaces/{namespace}/alertmanagerconfigs/{name}`
- `DELETE`: delete an AlertmanagerConfig
- `GET`: read the specified AlertmanagerConfig
- `PATCH`: partially update the specified AlertmanagerConfig
- `PUT`: replace the specified AlertmanagerConfig


=== /apis/monitoring.coreos.com/v1beta1/alertmanagerconfigs



HTTP method::
  `GET`

Description::
  list objects of kind AlertmanagerConfig


.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../objects/index.adoc#com-coreos-monitoring-v1beta1-AlertmanagerConfigList[`AlertmanagerConfigList`] schema
| 401 - Unauthorized
| Empty
|===


=== /apis/monitoring.coreos.com/v1beta1/namespaces/{namespace}/alertmanagerconfigs



HTTP method::
  `DELETE`

Description::
  delete collection of AlertmanagerConfig




.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../objects/index.adoc#io-k8s-apimachinery-pkg-apis-meta-v1-Status[`Status`] schema
| 401 - Unauthorized
| Empty
|===

HTTP method::
  `GET`

Description::
  list objects of kind AlertmanagerConfig




.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../objects/index.adoc#com-coreos-monitoring-v1beta1-AlertmanagerConfigList[`AlertmanagerConfigList`] schema
| 401 - Unauthorized
| Empty
|===

HTTP method::
  `POST`

Description::
  create an AlertmanagerConfig


.Query parameters
[cols="1,1,2",options="header"]
|===
| Parameter | Type | Description
| `dryRun`
| `string`
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
| `fieldValidation`
| `string`
| fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
|===

.Body parameters
[cols="1,1,2",options="header"]
|===
| Parameter | Type | Description
| `body`
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 
|===

.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 201 - Created
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 202 - Accepted
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 401 - Unauthorized
| Empty
|===


=== /apis/monitoring.coreos.com/v1beta1/namespaces/{namespace}/alertmanagerconfigs/{name}

.Global path parameters
[cols="1,1,2",options="header"]
|===
| Parameter | Type | Description
| `name`
| `string`
| name of the AlertmanagerConfig
|===


HTTP method::
  `DELETE`

Description::
  delete an AlertmanagerConfig


.Query parameters
[cols="1,1,2",options="header"]
|===
| Parameter | Type | Description
| `dryRun`
| `string`
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
|===


.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../objects/index.adoc#io-k8s-apimachinery-pkg-apis-meta-v1-Status[`Status`] schema
| 202 - Accepted
| xref:../objects/index.adoc#io-k8s-apimachinery-pkg-apis-meta-v1-Status[`Status`] schema
| 401 - Unauthorized
| Empty
|===

HTTP method::
  `GET`

Description::
  read the specified AlertmanagerConfig




.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 401 - Unauthorized
| Empty
|===

HTTP method::
  `PATCH`

Description::
  partially update the specified AlertmanagerConfig


.Query parameters
[cols="1,1,2",options="header"]
|===
| Parameter | Type | Description
| `dryRun`
| `string`
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
| `fieldValidation`
| `string`
| fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
|===


.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 401 - Unauthorized
| Empty
|===

HTTP method::
  `PUT`

Description::
  replace the specified AlertmanagerConfig


.Query parameters
[cols="1,1,2",options="header"]
|===
| Parameter | Type | Description
| `dryRun`
| `string`
| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
| `fieldValidation`
| `string`
| fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
|===

.Body parameters
[cols="1,1,2",options="header"]
|===
| Parameter | Type | Description
| `body`
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 
|===

.HTTP responses
[cols="1,1",options="header"]
|===
| HTTP code | Reponse body
| 200 - OK
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 201 - Created
| xref:../monitoring_apis/alertmanagerconfig-monitoring-coreos-com-v1beta1.adoc#alertmanagerconfig-monitoring-coreos-com-v1beta1[`AlertmanagerConfig`] schema
| 401 - Unauthorized
| Empty
|===


