cdktf-crd
Version:
530 lines • 284 kB
TypeScript
import { Manifest, type ManifestConfig } from "@cdktf/provider-kubernetes/lib/manifest";
import { Construct } from "constructs";
export declare class MonitoringCoreosComAlertmanagerV1 extends Manifest {
constructor(scope: Construct, id: string, config: MonitoringCoreosComAlertmanagerV1Config);
}
export interface MonitoringCoreosComAlertmanagerV1Config extends ManifestConfig {
manifest: {
apiVersion: "monitoring.coreos.com/v1";
kind: "Alertmanager";
metadata: {
annotations?: {
[key: string]: string;
};
labels?: {
[key: string]: string;
};
name: string;
namespace?: string;
};
/** @description Specification of the desired behavior of the Alertmanager cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status */
spec: {
/** @description AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster. */
additionalPeers?: string[];
/** @description If specified, the pod's scheduling constraints. */
affinity?: {
/** @description Describes node affinity scheduling rules for the pod. */
nodeAffinity?: {
/** @description The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred. */
preferredDuringSchedulingIgnoredDuringExecution?: {
/** @description A node selector term, associated with the corresponding weight. */
preference: {
/** @description A list of node selector requirements by node's labels. */
matchExpressions?: {
/** @description The label key that the selector applies to. */
key: string;
/** @description Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */
operator: string;
/** @description An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description A list of node selector requirements by node's fields. */
matchFields?: {
/** @description The label key that the selector applies to. */
key: string;
/** @description Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */
operator: string;
/** @description An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
};
/**
* Format: int32
* @description Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
*/
weight: number;
}[];
/** @description If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node. */
requiredDuringSchedulingIgnoredDuringExecution?: {
/** @description Required. A list of node selector terms. The terms are ORed. */
nodeSelectorTerms: {
/** @description A list of node selector requirements by node's labels. */
matchExpressions?: {
/** @description The label key that the selector applies to. */
key: string;
/** @description Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */
operator: string;
/** @description An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description A list of node selector requirements by node's fields. */
matchFields?: {
/** @description The label key that the selector applies to. */
key: string;
/** @description Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. */
operator: string;
/** @description An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
}[];
};
};
/** @description Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). */
podAffinity?: {
/** @description The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. */
preferredDuringSchedulingIgnoredDuringExecution?: {
/** @description Required. A pod affinity term, associated with the corresponding weight. */
podAffinityTerm: {
/** @description A label query over a set of resources, in this case pods. */
labelSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. */
namespaceSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". */
namespaces?: string[];
/** @description This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. */
topologyKey: string;
};
/**
* Format: int32
* @description weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
*/
weight: number;
}[];
/** @description If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. */
requiredDuringSchedulingIgnoredDuringExecution?: {
/** @description A label query over a set of resources, in this case pods. */
labelSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. */
namespaceSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". */
namespaces?: string[];
/** @description This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. */
topologyKey: string;
}[];
};
/** @description Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). */
podAntiAffinity?: {
/** @description The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred. */
preferredDuringSchedulingIgnoredDuringExecution?: {
/** @description Required. A pod affinity term, associated with the corresponding weight. */
podAffinityTerm: {
/** @description A label query over a set of resources, in this case pods. */
labelSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. */
namespaceSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". */
namespaces?: string[];
/** @description This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. */
topologyKey: string;
};
/**
* Format: int32
* @description weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
*/
weight: number;
}[];
/** @description If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied. */
requiredDuringSchedulingIgnoredDuringExecution?: {
/** @description A label query over a set of resources, in this case pods. */
labelSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. */
namespaceSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace". */
namespaces?: string[];
/** @description This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. */
topologyKey: string;
}[];
};
};
/** @description The AlertmanagerConfigMatcherStrategy defines how AlertmanagerConfig objects match the alerts. In the future more options may be added. */
alertmanagerConfigMatcherStrategy?: {
/** @description If set to `OnNamespace`, the operator injects a label matcher matching the namespace of the AlertmanagerConfig object for all its routes and inhibition rules. `None` will not add any additional matchers other than the ones specified in the AlertmanagerConfig. Default is `OnNamespace`. */
type?: string;
};
/** @description Namespaces to be selected for AlertmanagerConfig discovery. If nil, only check own namespace. */
alertmanagerConfigNamespaceSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description AlertmanagerConfigs to be selected for to merge and configure Alertmanager with. */
alertmanagerConfigSelector?: {
/** @description matchExpressions is a list of label selector requirements. The requirements are ANDed. */
matchExpressions?: {
/** @description key is the label key that the selector applies to. */
key: string;
/** @description operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */
operator: string;
/** @description values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */
values?: string[];
}[];
/** @description matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */
matchLabels?: {
[key: string]: string;
};
};
/** @description EXPERIMENTAL: alertmanagerConfiguration specifies the configuration of Alertmanager. If defined, it takes precedence over the `configSecret` field. This field may change in future releases. */
alertmanagerConfiguration?: {
/** @description Defines the global parameters of the Alertmanager configuration. */
global?: {
/** @description HTTP client configuration. */
httpConfig?: {
/** @description Authorization header configuration for the client. This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. */
authorization?: {
/** @description Selects a key of a Secret in the namespace that contains the credentials for authentication. */
credentials?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description Defines the authentication type. The value is case-insensitive.
* "Basic" is not a supported value.
* Default: "Bearer" */
type?: string;
};
/** @description BasicAuth for the client. This is mutually exclusive with Authorization. If both are defined, BasicAuth takes precedence. */
basicAuth?: {
/** @description `password` specifies a key of a Secret containing the password for authentication. */
password?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description `username` specifies a key of a Secret containing the username for authentication. */
username?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
};
/** @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 Alertmanager object and accessible by the Prometheus Operator. */
bearerTokenSecret?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description FollowRedirects specifies whether the client should follow HTTP 3xx redirects. */
followRedirects?: boolean;
/** @description OAuth2 client credentials used to fetch a token for the targets. */
oauth2?: {
/** @description `clientId` specifies a key of a Secret or ConfigMap containing the OAuth2 client's ID. */
clientId: {
/** @description ConfigMap containing data to use for the targets. */
configMap?: {
/** @description The key to select. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the ConfigMap or its key must be defined */
optional?: boolean;
};
/** @description Secret containing data to use for the targets. */
secret?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
};
/** @description `clientSecret` specifies a key of a Secret containing the OAuth2 client's secret. */
clientSecret: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description `endpointParams` configures the HTTP parameters to append to the token URL. */
endpointParams?: {
[key: string]: string;
};
/** @description `scopes` defines the OAuth2 scopes used for the token request. */
scopes?: string[];
/** @description `tokenURL` configures the URL to fetch the token from. */
tokenUrl: string;
};
/** @description Optional proxy URL. */
proxyURL?: string;
/** @description TLS configuration for the client. */
tlsConfig?: {
/** @description Certificate authority used when verifying server certificates. */
ca?: {
/** @description ConfigMap containing data to use for the targets. */
configMap?: {
/** @description The key to select. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the ConfigMap or its key must be defined */
optional?: boolean;
};
/** @description Secret containing data to use for the targets. */
secret?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
};
/** @description Client certificate to present when doing client-authentication. */
cert?: {
/** @description ConfigMap containing data to use for the targets. */
configMap?: {
/** @description The key to select. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the ConfigMap or its key must be defined */
optional?: boolean;
};
/** @description Secret containing data to use for the targets. */
secret?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
};
/** @description Disable target certificate validation. */
insecureSkipVerify?: boolean;
/** @description Secret containing the client key file for the targets. */
keySecret?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description Used to verify the hostname for the targets. */
serverName?: string;
};
};
/** @description The default OpsGenie API Key. */
opsGenieApiKey?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description The default OpsGenie API URL. */
opsGenieApiUrl?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description The default Pagerduty URL. */
pagerdutyUrl?: string;
/** @description ResolveTimeout is the default value used by alertmanager if the alert does not include EndsAt, after this time passes it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. */
resolveTimeout?: string;
/** @description The default Slack API URL. */
slackApiUrl?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description Configures global SMTP parameters. */
smtp?: {
/** @description SMTP Auth using PLAIN */
authIdentity?: string;
/** @description SMTP Auth using LOGIN and PLAIN. */
authPassword?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description SMTP Auth using CRAM-MD5. */
authSecret?: {
/** @description The key of the secret to select from. Must be a valid secret key. */
key: string;
/** @description Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid? */
name?: string;
/** @description Specify whether the Secret or its key must be defined */
optional?: boolean;
};
/** @description SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. */
authUsername?: string;
/** @description The default SMTP From header field. */
from?: string;
/** @description The default hostname to identify to the SMTP server. */
hello?: string;
/** @description The default SMTP TLS requirement. Note that Go does not support unencrypted connections to remote SMTP endpoints. */
requireTLS?: boolean;
/** @description The default SMTP smarthost used for sending emails. */
smartHost?: {
/** @description Defines the host's address, it can be a DNS name or a literal IP address. */
host: string;
/** @description Defines the host's port, it can be a literal port number or a port name. */
port: string;
};
};
};
/** @description The name of the AlertmanagerConfig resource which is used to generate the Alertmanager configuration. It must be defined in the same namespace as the Alertmanager object. The operator will not enforce a `namespace` label for routes and inhibition rules. */
name?: string;
/** @description Custom notification templates. */
templates?: {
/** @description ConfigMap containing data to use for the targets. */
configMap?: {
/** @description The key