diff --git a/charts/victoria-metrics-operator/CHANGELOG.md b/charts/victoria-metrics-operator/CHANGELOG.md index 449f84271..77c11e39f 100644 --- a/charts/victoria-metrics-operator/CHANGELOG.md +++ b/charts/victoria-metrics-operator/CHANGELOG.md @@ -2,7 +2,7 @@ ## Next release -- TODO +- Bump operator version to [0.40.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.40.0) ## 0.27.9 diff --git a/charts/victoria-metrics-operator/Chart.yaml b/charts/victoria-metrics-operator/Chart.yaml index 3aa9bdbe7..66fe7c208 100644 --- a/charts/victoria-metrics-operator/Chart.yaml +++ b/charts/victoria-metrics-operator/Chart.yaml @@ -1,12 +1,12 @@ apiVersion: v1 -appVersion: 0.39.4 +appVersion: 0.40.0 description: Victoria Metrics Operator name: victoria-metrics-operator home: https://github.com/VictoriaMetrics/operator sources: - https://github.com/VictoriaMetrics/helm-charts - https://github.com/VictoriaMetrics/operator -version: 0.27.9 +version: 0.27.10 icon: https://avatars.githubusercontent.com/u/43720803?s=200&v=4 kubeVersion: ">=1.23.0-0" keywords: diff --git a/charts/victoria-metrics-operator/crd.yaml b/charts/victoria-metrics-operator/crd.yaml index 7586cecf9..2498d2bda 100644 --- a/charts/victoria-metrics-operator/crd.yaml +++ b/charts/victoria-metrics-operator/crd.yaml @@ -932,6 +932,11 @@ spec: for VMServiceScrape, VMPodScrape and other scrapes If interval is higher than defined limit, `maxScrapeInterval` will be used. type: string + minReadySeconds: + description: MinReadySeconds defines a minim number os seconds to + wait before starting update next pod if previous in healthy state + format: int32 + type: integer minScrapeInterval: description: MinScrapeInterval allows limiting minimal scrape interval for VMServiceScrape, VMPodScrape and other scrapes If interval is @@ -2306,6 +2311,12 @@ spec: to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow rollback + in deployment or maximum number of revisions that will be maintained + in the StatefulSet's revision history. Defaults to 10. + format: int32 + type: integer rollingUpdate: description: RollingUpdate - overrides deployment update params. properties: @@ -2370,9 +2381,9 @@ spec: x-kubernetes-preserve-unknown-fields: true selectAllByDefault: description: 'SelectAllByDefault changes default behavior for empty - CRD selectors, such ServiceScrapeSelector. with selectAllScrapes: + CRD selectors, such ServiceScrapeSelector. with selectAllByDefault: true and empty serviceScrapeSelector and ServiceScrapeNamespaceSelector - Operator selects all exist serviceScrapes with selectAllScrapes: + Operator selects all exist serviceScrapes with selectAllByDefault: false - selects nothing' type: boolean serviceAccountName: @@ -3451,120 +3462,20 @@ spec: items: description: Receiver defines one or more notification integrations. properties: - email_configs: - description: EmailConfigs defines email notification configurations. + discord_configs: items: - description: EmailConfig configures notifications via Email. properties: - auth_identity: - description: The identity to use for authentication. - type: string - auth_password: - description: AuthPassword defines secret name and key - at CRD namespace. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - auth_secret: - description: AuthSecret defines secrent name and key at - CRD namespace. It must contain the CRAM-MD5 secret. - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - auth_username: - description: The username to use for authentication. - type: string - from: - description: The sender address. - type: string - headers: - additionalProperties: - type: string - description: Further headers email header key/value pairs. - Overrides any headers previously set by the notification - implementation. - type: object - hello: - description: The hostname to identify to the SMTP server. - type: string - html: - description: The HTML body of the email notification. - type: string - require_tls: - description: The SMTP TLS requirement. Note that Go does - not support unencrypted connections to remote SMTP endpoints. - type: boolean - send_resolved: - description: SendResolved controls notify about resolved - alerts. - type: boolean - smarthost: - description: The SMTP host through which emails are sent. - type: string - text: - description: The text body of the email notification. - type: string - tls_config: - description: TLS configuration + http_config: + description: HTTP client configuration. properties: - ca: - description: Stuct containing the CA cert to use for - the targets. + basic_auth: + description: TODO oAuth2 support BasicAuth for the + client. properties: - configMap: - description: ConfigMap containing data to use - for the targets. - properties: - key: - description: The key to select. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for - the targets. + password: + description: The secret in the service scrape + namespace that contains the password for authentication. + It must be at them same namespace as CRD properties: key: description: The key of the secret to select @@ -3584,39 +3495,14 @@ spec: - key type: object x-kubernetes-map-type: atomic - type: object - caFile: - description: Path to the CA cert in the container - to use for the targets. - type: string - cert: - description: Struct containing the client cert file - for the targets. - properties: - configMap: - description: ConfigMap containing data to use - for the targets. - properties: - key: - description: The key to select. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the ConfigMap - or its key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - secret: - description: Secret containing data to use for - the targets. + password_file: + description: PasswordFile defines path to password + file at disk + type: string + username: + description: The secret in the service scrape + namespace that contains the username for authentication. + It must be at them same namespace as CRD properties: key: description: The key of the secret to select @@ -3637,20 +3523,13 @@ spec: type: object x-kubernetes-map-type: atomic type: object - certFile: - description: Path to the client cert file in the container - for the targets. - type: string - insecureSkipVerify: - description: Disable target certificate validation. - type: boolean - keyFile: - description: Path to the client key file in the container - for the targets. + bearer_token_file: + description: BearerTokenFile defines filename for + bearer token, it must be mounted to pod. type: string - keySecret: - description: Secret containing the client key file - for the targets. + bearer_token_secret: + description: The secret's key that contains the bearer + token It must be at them same namespace as CRD properties: key: description: The key of the secret to select from. Must @@ -3670,211 +3549,1508 @@ spec: - key type: object x-kubernetes-map-type: atomic - serverName: - description: Used to verify the hostname for the targets. - type: string - type: object - to: - description: The email address to send notifications to. - type: string - type: object - type: array - name: - description: Name of the receiver. Must be unique across all - items from the list. - minLength: 1 - type: string - opsgenie_configs: - description: OpsGenieConfigs defines ops genie notification - configurations. - items: - description: OpsGenieConfig configures notifications via OpsGenie. - See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config - properties: - api_key: - description: The secret's key that contains the OpsGenie - API key. It must be at them same namespace as CRD - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' + proxyURL: + description: Optional proxy URL. type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - apiURL: - description: The URL to send OpsGenie API requests to. - type: string - description: - description: Description of the incident. - type: string - details: - additionalProperties: - type: string - description: A set of arbitrary key/value pairs that provide - further detail about the incident. - type: object - http_config: - description: HTTP client configuration. - type: object - x-kubernetes-preserve-unknown-fields: true - message: - description: Alert text limited to 130 characters. - type: string - note: - description: Additional alert note. - type: string - priority: - description: Priority level of alert. Possible values - are P1, P2, P3, P4, and P5. - type: string - responders: - description: List of responders responsible for notifications. - items: - description: OpsGenieConfigResponder defines a responder + tls_config: + description: TLS configuration for the client. + properties: + ca: + description: Stuct containing the CA cert to use + for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: Path to the CA cert in the container + to use for the targets. + type: string + cert: + description: Struct containing the client cert + file for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + description: Path to the client cert file in the + container for the targets. + type: string + insecureSkipVerify: + description: Disable target certificate validation. + type: boolean + keyFile: + description: Path to the client key file in the + container for the targets. + type: string + keySecret: + description: Secret containing the client key + file for the targets. + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + description: Used to verify the hostname for the + targets. + type: string + type: object + type: object + message: + description: The message body template + type: string + send_resolved: + description: SendResolved controls notify about resolved + alerts. + type: boolean + title: + description: The message title template + type: string + webhook_url: + description: The discord webhook URL one of `urlSecret` + and `url` must be defined. + type: string + webhook_url_secret: + description: URLSecret defines secret name and key at + the CRD namespace. It must contain the webhook URL. + one of `urlSecret` and `url` must be defined. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + email_configs: + description: EmailConfigs defines email notification configurations. + items: + description: EmailConfig configures notifications via Email. + properties: + auth_identity: + description: The identity to use for authentication. + type: string + auth_password: + description: AuthPassword defines secret name and key + at CRD namespace. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + auth_secret: + description: AuthSecret defines secrent name and key at + CRD namespace. It must contain the CRAM-MD5 secret. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + auth_username: + description: The username to use for authentication. + type: string + from: + description: The sender address. + type: string + headers: + additionalProperties: + type: string + description: Further headers email header key/value pairs. + Overrides any headers previously set by the notification + implementation. + type: object + hello: + description: The hostname to identify to the SMTP server. + type: string + html: + description: The HTML body of the email notification. + type: string + require_tls: + description: The SMTP TLS requirement. Note that Go does + not support unencrypted connections to remote SMTP endpoints. + type: boolean + send_resolved: + description: SendResolved controls notify about resolved + alerts. + type: boolean + smarthost: + description: The SMTP host through which emails are sent. + type: string + text: + description: The text body of the email notification. + type: string + tls_config: + description: TLS configuration + properties: + ca: + description: Stuct containing the CA cert to use for + the targets. + properties: + configMap: + description: ConfigMap containing data to use + for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use for + the targets. + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: Path to the CA cert in the container + to use for the targets. + type: string + cert: + description: Struct containing the client cert file + for the targets. + properties: + configMap: + description: ConfigMap containing data to use + for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use for + the targets. + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + description: Path to the client cert file in the container + for the targets. + type: string + insecureSkipVerify: + description: Disable target certificate validation. + type: boolean + keyFile: + description: Path to the client key file in the container + for the targets. + type: string + keySecret: + description: Secret containing the client key file + for the targets. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + description: Used to verify the hostname for the targets. + type: string + type: object + to: + description: The email address to send notifications to. + type: string + type: object + type: array + msteams_configs: + items: + properties: + http_config: + description: HTTP client configuration. + properties: + basic_auth: + description: TODO oAuth2 support BasicAuth for the + client. + properties: + password: + description: The secret in the service scrape + namespace that contains the password for authentication. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + description: PasswordFile defines path to password + file at disk + type: string + username: + description: The secret in the service scrape + namespace that contains the username for authentication. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + description: BearerTokenFile defines filename for + bearer token, it must be mounted to pod. + type: string + bearer_token_secret: + description: The secret's key that contains the bearer + token It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + proxyURL: + description: Optional proxy URL. + type: string + tls_config: + description: TLS configuration for the client. + properties: + ca: + description: Stuct containing the CA cert to use + for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: Path to the CA cert in the container + to use for the targets. + type: string + cert: + description: Struct containing the client cert + file for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + description: Path to the client cert file in the + container for the targets. + type: string + insecureSkipVerify: + description: Disable target certificate validation. + type: boolean + keyFile: + description: Path to the client key file in the + container for the targets. + type: string + keySecret: + description: Secret containing the client key + file for the targets. + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + description: Used to verify the hostname for the + targets. + type: string + type: object + type: object + send_resolved: + description: SendResolved controls notify about resolved + alerts. + type: boolean + text: + description: The text body of the teams notification. + type: string + title: + description: The title of the teams notification. + type: string + webhook_url: + description: The incoming webhook URL one of `urlSecret` + and `url` must be defined. + type: string + webhook_url_secret: + description: URLSecret defines secret name and key at + the CRD namespace. It must contain the webhook URL. + one of `urlSecret` and `url` must be defined. + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + name: + description: Name of the receiver. Must be unique across all + items from the list. + minLength: 1 + type: string + opsgenie_configs: + description: OpsGenieConfigs defines ops genie notification + configurations. + items: + description: OpsGenieConfig configures notifications via OpsGenie. + See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config + properties: + actions: + description: Comma separated list of actions that will + be available for the alert. + type: string + api_key: + description: The secret's key that contains the OpsGenie + API key. It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + apiURL: + description: The URL to send OpsGenie API requests to. + type: string + description: + description: Description of the incident. + type: string + details: + additionalProperties: + type: string + description: A set of arbitrary key/value pairs that provide + further detail about the incident. + type: object + entity: + description: Optional field that can be used to specify + which domain alert is related to. + type: string + http_config: + description: HTTP client configuration. + type: object + x-kubernetes-preserve-unknown-fields: true + message: + description: Alert text limited to 130 characters. + type: string + note: + description: Additional alert note. + type: string + priority: + description: Priority level of alert. Possible values + are P1, P2, P3, P4, and P5. + type: string + responders: + description: List of responders responsible for notifications. + items: + description: OpsGenieConfigResponder defines a responder to an incident. One of `id`, `name` or `username` has to be defined. properties: - id: - description: ID of the responder. - type: string + id: + description: ID of the responder. + type: string + name: + description: Name of the responder. + type: string + type: + description: Type of responder. + minLength: 1 + type: string + username: + description: Username of the responder. + type: string + required: + - type + type: object + type: array + send_resolved: + description: SendResolved controls notify about resolved + alerts. + type: boolean + source: + description: Backlink to the sender of the notification. + type: string + tags: + description: Comma separated list of tags attached to + the notifications. + type: string + update_alerts: + description: Whether to update message and description + of the alert in OpsGenie if it already exists By default, + the alert is never updated in OpsGenie, the new message + only appears in activity log. + type: boolean + type: object + type: array + pagerduty_configs: + description: PagerDutyConfigs defines pager duty notification + configurations. + items: + description: PagerDutyConfig configures notifications via + PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config + properties: + class: + description: The class/type of the event. + type: string + client: + description: Client identification. + type: string + client_url: + description: Backlink to the sender of notification. + type: string + component: + description: The part or component of the affected system + that is broken. + type: string + description: + description: Description of the incident. + type: string + details: + additionalProperties: + type: string + description: Arbitrary key/value pairs that provide further + detail about the incident. + type: object + group: + description: A cluster or grouping of sources. + type: string + http_config: + description: HTTP client configuration. + type: object + x-kubernetes-preserve-unknown-fields: true + images: + description: Images to attach to the incident. + items: + description: ImageConfig is used to attach images to + the incident. See https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-images-property + for more information. + properties: + alt: + type: string + href: + type: string + source: + type: string + required: + - source + type: object + type: array + links: + description: Links to attach to the incident. + items: + description: LinkConfig is used to attach text links + to the incident. See https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-links-property + for more information. + properties: + href: + type: string + text: + type: string + required: + - href + type: object + type: array + routing_key: + 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. It must be + at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + send_resolved: + description: SendResolved controls notify about resolved + alerts. + type: boolean + service_key: + 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. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + severity: + description: Severity of the incident. + type: string + url: + description: The URL to send requests to. + type: string + type: object + type: array + pushover_configs: + description: PushoverConfigs defines push over notification + configurations. + items: + description: PushoverConfig configures notifications via Pushover. + See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config + properties: + expire: + description: How long your notification will continue + to be retried for, unless the user acknowledges the + notification. + type: string + html: + description: Whether notification message is HTML or plain + text. + type: boolean + http_config: + description: HTTP client configuration. + type: object + x-kubernetes-preserve-unknown-fields: true + message: + description: Notification message. + type: string + priority: + description: Priority, see https://pushover.net/api#priority + type: string + retry: + description: How often the Pushover servers will send + the same notification to the user. Must be at least + 30 seconds. + type: string + send_resolved: + description: SendResolved controls notify about resolved + alerts. + type: boolean + sound: + description: The name of one of the sounds supported by + device clients to override the user's default sound + choice + type: string + title: + description: Notification title. + type: string + token: + description: The secret's key that contains the registered + application’s API token, see https://pushover.net/apps. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + url: + description: A supplementary URL shown alongside the message. + type: string + url_title: + description: A title for supplementary URL, otherwise + just the URL is shown + type: string + user_key: + description: The secret's key that contains the recipient + user’s user key. It must be at them same namespace as + CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + type: array + slack_configs: + description: SlackConfigs defines slack notification configurations. + items: + description: SlackConfig configures notifications via Slack. + See https://prometheus.io/docs/alerting/latest/configuration/#slack_config + properties: + actions: + description: A list of Slack actions that are sent with + each notification. + items: + 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. + properties: + 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. + properties: + dismiss_text: + type: string + ok_text: + type: string + text: + minLength: 1 + type: string + title: + type: string + required: + - text + type: object name: - description: Name of the responder. + type: string + style: + type: string + text: + minLength: 1 type: string type: - description: Type of responder. minLength: 1 type: string - username: - description: Username of the responder. + url: + type: string + value: type: string required: + - text - type type: object type: array + api_url: + description: The secret's key that contains the Slack + webhook URL. It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + callback_id: + type: string + channel: + description: The channel or user to send notifications + to. + type: string + color: + type: string + fallback: + type: string + fields: + description: A list of Slack fields that are sent with + each notification. + items: + description: SlackField configures a single Slack field + that is sent with each notification. See https://api.slack.com/docs/message-attachments#fields + for more information. + properties: + short: + type: boolean + title: + minLength: 1 + type: string + value: + minLength: 1 + type: string + required: + - title + - value + type: object + type: array + footer: + type: string + http_config: + description: HTTP client configuration. + type: object + x-kubernetes-preserve-unknown-fields: true + icon_emoji: + type: string + icon_url: + type: string + image_url: + type: string + link_names: + type: boolean + mrkdwn_in: + items: + type: string + type: array + pretext: + type: string + send_resolved: + description: SendResolved controls notify about resolved + alerts. + type: boolean + short_fields: + type: boolean + text: + type: string + thumb_url: + type: string + title: + type: string + title_link: + type: string + username: + type: string + type: object + type: array + sns_configs: + items: + properties: + api_url: + description: The api URL + type: string + attributes: + additionalProperties: + type: string + description: SNS message attributes + type: object + http_config: + description: HTTP client configuration. + properties: + basic_auth: + description: TODO oAuth2 support BasicAuth for the + client. + properties: + password: + description: The secret in the service scrape + namespace that contains the password for authentication. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + description: PasswordFile defines path to password + file at disk + type: string + username: + description: The secret in the service scrape + namespace that contains the username for authentication. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + description: BearerTokenFile defines filename for + bearer token, it must be mounted to pod. + type: string + bearer_token_secret: + description: The secret's key that contains the bearer + token It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + proxyURL: + description: Optional proxy URL. + type: string + tls_config: + description: TLS configuration for the client. + properties: + ca: + description: Stuct containing the CA cert to use + for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: Path to the CA cert in the container + to use for the targets. + type: string + cert: + description: Struct containing the client cert + file for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + description: Path to the client cert file in the + container for the targets. + type: string + insecureSkipVerify: + description: Disable target certificate validation. + type: boolean + keyFile: + description: Path to the client key file in the + container for the targets. + type: string + keySecret: + description: Secret containing the client key + file for the targets. + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + description: Used to verify the hostname for the + targets. + type: string + type: object + type: object + message: + description: The message content of the SNS notification. + type: string + phone_number: + description: Phone number if message is delivered via + SMS Specify this, topic_arn or target_arn + type: string send_resolved: description: SendResolved controls notify about resolved alerts. type: boolean - source: - description: Backlink to the sender of the notification. + sigv4: + description: Configure the AWS Signature Verification + 4 signing process + properties: + access_key: + description: The AWS API keys. Both access_key and + secret_key must be supplied or both must be blank. + If blank the environment variables `AWS_ACCESS_KEY_ID` + and `AWS_SECRET_ACCESS_KEY` are used. + type: string + access_key_selector: + description: secret key selector to get the keys from + a Kubernetes Secret + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + profile: + description: Named AWS profile used to authenticate + type: string + region: + description: AWS region, if blank the region from + the default credentials chain is used + type: string + role_arn: + description: AWS Role ARN, an alternative to using + AWS API keys + type: string + secret_key_selector: + description: secret key selector to get the keys from + a Kubernetes Secret + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + subject: + description: The subject line if message is delivered + to an email endpoint. type: string - tags: - description: Comma separated list of tags attached to - the notifications. + target_arn: + description: Mobile platform endpoint ARN if message is + delivered via mobile notifications Specify this, topic_arn + or phone_number + type: string + topic_arn: + description: SNS topic ARN, either specify this, phone_number + or target_arn type: string type: object type: array - pagerduty_configs: - description: PagerDutyConfigs defines pager duty notification - configurations. + telegram_configs: items: - description: PagerDutyConfig configures notifications via - PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config properties: - class: - description: The class/type of the event. - type: string - client: - description: Client identification. - type: string - client_url: - description: Backlink to the sender of notification. - type: string - component: - description: The part or component of the affected system - that is broken. - type: string - description: - description: Description of the incident. - type: string - details: - additionalProperties: - type: string - description: Arbitrary key/value pairs that provide further - detail about the incident. - type: object - group: - description: A cluster or grouping of sources. + api_url: + description: APIUrl the Telegram API URL i.e. https://api.telegram.org. type: string - http_config: - description: HTTP client configuration. - type: object - x-kubernetes-preserve-unknown-fields: true - images: - description: Images to attach to the incident. - items: - description: ImageConfig is used to attach images to - the incident. See https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-images-property - for more information. - properties: - alt: - type: string - href: - type: string - source: - type: string - required: - - source - type: object - type: array - links: - description: Links to attach to the incident. - items: - description: LinkConfig is used to attach text links - to the incident. See https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgx-send-an-alert-event#the-links-property - for more information. - properties: - href: - type: string - text: - type: string - required: - - href - type: object - type: array - routing_key: - 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. It must be - at them same namespace as CRD - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - send_resolved: - description: SendResolved controls notify about resolved - alerts. - type: boolean - service_key: - 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. - It must be at them same namespace as CRD + bot_token: + description: BotToken token for the bot https://core.telegram.org/bots/api properties: key: description: The key of the secret to select from. Must @@ -3893,166 +5069,45 @@ spec: - key type: object x-kubernetes-map-type: atomic - severity: - description: Severity of the incident. - type: string - url: - description: The URL to send requests to. - type: string - type: object - type: array - pushover_configs: - description: PushoverConfigs defines push over notification - configurations. - items: - description: PushoverConfig configures notifications via Pushover. - See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config - properties: - expire: - description: How long your notification will continue - to be retried for, unless the user acknowledges the - notification. - type: string - html: - description: Whether notification message is HTML or plain - text. + chat_id: + description: ChatID is ID of the chat where to send the + messages. + type: integer + disable_notifications: + description: DisableNotifications type: boolean http_config: description: HTTP client configuration. type: object x-kubernetes-preserve-unknown-fields: true message: - description: Notification message. - type: string - priority: - description: Priority, see https://pushover.net/api#priority + description: Message is templated message type: string - retry: - description: How often the Pushover servers will send - the same notification to the user. Must be at least - 30 seconds. + parse_mode: + description: ParseMode for telegram message, supported + values are MarkdownV2, Markdown, Markdown and empty + string for plain text. type: string send_resolved: description: SendResolved controls notify about resolved alerts. - type: boolean - sound: - description: The name of one of the sounds supported by - device clients to override the user's default sound - choice - type: string - title: - description: Notification title. - type: string - token: - description: The secret's key that contains the registered - application’s API token, see https://pushover.net/apps. - It must be at them same namespace as CRD - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - url: - description: A supplementary URL shown alongside the message. - type: string - url_title: - description: A title for supplementary URL, otherwise - just the URL is shown - type: string - user_key: - description: The secret's key that contains the recipient - user’s user key. It must be at them same namespace as - CRD - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic + type: boolean + required: + - bot_token + - chat_id type: object type: array - slack_configs: - description: SlackConfigs defines slack notification configurations. + victorops_configs: + description: VictorOpsConfigs defines victor ops notification + configurations. items: - description: SlackConfig configures notifications via Slack. - See https://prometheus.io/docs/alerting/latest/configuration/#slack_config + description: VictorOpsConfig configures notifications via + VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config properties: - actions: - description: A list of Slack actions that are sent with - each notification. - items: - 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. - properties: - 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. - properties: - dismiss_text: - type: string - ok_text: - type: string - text: - minLength: 1 - type: string - title: - type: string - required: - - text - type: object - name: - type: string - style: - type: string - text: - minLength: 1 - type: string - type: - minLength: 1 - type: string - url: - type: string - value: - type: string - required: - - text - - type - type: object - type: array - api_url: - description: The secret's key that contains the Slack - webhook URL. It must be at them same namespace as CRD + api_key: + description: The secret's key that contains the API key + to use when talking to the VictorOps API. It must be + at them same namespace as CRD properties: key: description: The key of the secret to select from. Must @@ -4071,171 +5126,279 @@ spec: - key type: object x-kubernetes-map-type: atomic - callback_id: - type: string - channel: - description: The channel or user to send notifications - to. - type: string - color: - type: string - fallback: + api_url: + description: The VictorOps API URL. type: string - fields: - description: A list of Slack fields that are sent with - each notification. - items: - description: SlackField configures a single Slack field - that is sent with each notification. See https://api.slack.com/docs/message-attachments#fields - for more information. - properties: - short: - type: boolean - title: - minLength: 1 - type: string - value: - minLength: 1 - type: string - required: - - title - - value - type: object - type: array - footer: + custom_fields: + additionalProperties: + type: string + description: Adds optional custom fields https://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537 + type: object + entity_display_name: + description: Contains summary of the alerted problem. type: string http_config: - description: HTTP client configuration. + description: The HTTP client's configuration. + properties: + basic_auth: + description: TODO oAuth2 support BasicAuth for the + client. + properties: + password: + description: The secret in the service scrape + namespace that contains the password for authentication. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + password_file: + description: PasswordFile defines path to password + file at disk + type: string + username: + description: The secret in the service scrape + namespace that contains the username for authentication. + It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + bearer_token_file: + description: BearerTokenFile defines filename for + bearer token, it must be mounted to pod. + type: string + bearer_token_secret: + description: The secret's key that contains the bearer + token It must be at them same namespace as CRD + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + proxyURL: + description: Optional proxy URL. + type: string + tls_config: + description: TLS configuration for the client. + properties: + ca: + description: Stuct containing the CA cert to use + for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + caFile: + description: Path to the CA cert in the container + to use for the targets. + type: string + cert: + description: Struct containing the client cert + file for the targets. + properties: + configMap: + description: ConfigMap containing data to + use for the targets. + properties: + key: + description: The key to select. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the ConfigMap + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + secret: + description: Secret containing data to use + for the targets. + properties: + key: + description: The key of the secret to + select from. Must be a valid secret + key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret + or its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + certFile: + description: Path to the client cert file in the + container for the targets. + type: string + insecureSkipVerify: + description: Disable target certificate validation. + type: boolean + keyFile: + description: Path to the client key file in the + container for the targets. + type: string + keySecret: + description: Secret containing the client key + file for the targets. + properties: + key: + description: The key of the secret to select + from. Must be a valid secret key. + type: string + name: + 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?' + type: string + optional: + description: Specify whether the Secret or + its key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + serverName: + description: Used to verify the hostname for the + targets. + type: string + type: object type: object - x-kubernetes-preserve-unknown-fields: true - icon_emoji: - type: string - icon_url: + message_type: + description: Describes the behavior of the alert (CRITICAL, + WARNING, INFO). type: string - image_url: + monitoring_tool: + description: The monitoring tool the state message is + from. type: string - link_names: - type: boolean - mrkdwn_in: - items: - type: string - type: array - pretext: + routing_key: + description: A key used to map the alert to a team. type: string send_resolved: description: SendResolved controls notify about resolved alerts. type: boolean - short_fields: - type: boolean - text: - type: string - thumb_url: - type: string - title: - type: string - title_link: - type: string - username: - type: string - type: object - type: array - telegram_configs: - items: - properties: - api_url: - description: APIUrl the Telegram API URL i.e. https://api.telegram.org. - type: string - bot_token: - description: BotToken token for the bot https://core.telegram.org/bots/api - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - chat_id: - description: ChatID is ID of the chat where to send the - messages. - type: integer - disable_notifications: - description: DisableNotifications - type: boolean - http_config: - description: HTTP client configuration. - type: object - x-kubernetes-preserve-unknown-fields: true - message: - description: Message is templated message - type: string - parse_mode: - description: ParseMode for telegram message, supported - values are MarkdownV2, Markdown, Markdown and empty - string for plain text. + state_message: + description: Contains long explanation of the alerted + problem. type: string - send_resolved: - description: SendResolved controls notify about resolved - alerts. - type: boolean - required: - - bot_token - - chat_id type: object type: array - victorops_configs: - description: VictorOpsConfigs defines victor ops notification - configurations. + webex_configs: items: - description: VictorOpsConfig configures notifications via - VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config properties: - api_key: - description: The secret's key that contains the API key - to use when talking to the VictorOps API. It must be - at them same namespace as CRD - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - 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?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic api_url: - description: The VictorOps API URL. - type: string - custom_fields: - additionalProperties: - type: string - description: Adds optional custom fields https://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537 - type: object - entity_display_name: - description: Contains summary of the alerted problem. + description: The Webex Teams API URL, i.e. https://webexapis.com/v1/messages type: string http_config: - description: The HTTP client's configuration. + description: HTTP client configuration. You must use this + configuration to supply the bot token as part of the + HTTP `Authorization` header. properties: basic_auth: description: TODO oAuth2 support BasicAuth for the @@ -4465,25 +5628,17 @@ spec: type: string type: object type: object - message_type: - description: Describes the behavior of the alert (CRITICAL, - WARNING, INFO). - type: string - monitoring_tool: - description: The monitoring tool the state message is - from. + message: + description: The message body template type: string - routing_key: - description: A key used to map the alert to a team. + room_id: + description: The ID of the Webex Teams room where to send + the messages type: string send_resolved: description: SendResolved controls notify about resolved alerts. type: boolean - state_message: - description: Contains long explanation of the alerted - problem. - type: string type: object type: array webhook_configs: @@ -5602,6 +6757,11 @@ spec: logLevel: description: Log level for VMAlertmanager to be configured with. type: string + minReadySeconds: + description: MinReadySeconds defines a minim number os seconds to + wait before starting update next pod if previous in healthy state + format: int32 + type: integer nodeSelector: additionalProperties: type: string @@ -5738,6 +6898,12 @@ spec: (milliseconds seconds minutes hours). pattern: '[0-9]+(ms|s|m|h)' type: string + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow rollback + in deployment or maximum number of revisions that will be maintained + in the StatefulSet's revision history. Defaults to 10. + format: int32 + type: integer rollingUpdateStrategy: description: RollingUpdateStrategy defines strategy for application updates Default is OnDelete, in this case operator handles update @@ -5771,9 +6937,9 @@ spec: x-kubernetes-preserve-unknown-fields: true selectAllByDefault: description: 'SelectAllByDefault changes default behavior for empty - CRD selectors, such ConfigSelector. with selectAllScrapes: true + CRD selectors, such ConfigSelector. with selectAllByDefault: true and undefined ConfigSelector and ConfigNamespaceSelector Operator - selects all exist alertManagerConfigs with selectAllScrapes: false + selects all exist alertManagerConfigs with selectAllByDefault: false - selects nothing' type: boolean serviceAccountName: @@ -6800,6 +7966,11 @@ spec: - FATAL - PANIC type: string + minReadySeconds: + description: MinReadySeconds defines a minim number os seconds to + wait before starting update next pod if previous in healthy state + format: int32 + type: integer nodeSelector: additionalProperties: type: string @@ -6808,10 +7979,11 @@ spec: type: object notifier: description: 'Notifier prometheus alertmanager endpoint spec. Required - at least one of notifier or notifiers. e.g. http://127.0.0.1:9093 - If specified both notifier and notifiers, notifier will be added - as last element to notifiers. only one of notifier options could - be chosen: notifierConfigRef or notifiers + notifier' + at least one of notifier or notifiers when there are alerting rules. + e.g. http://127.0.0.1:9093 If specified both notifier and notifiers, + notifier will be added as last element to notifiers. only one of + notifier options could be chosen: notifierConfigRef or notifiers + + notifier' properties: OAuth2: x-kubernetes-preserve-unknown-fields: true @@ -7083,10 +8255,11 @@ spec: x-kubernetes-map-type: atomic notifiers: description: 'Notifiers prometheus alertmanager endpoints. Required - at least one of notifier or notifiers. e.g. http://127.0.0.1:9093 - If specified both notifier and notifiers, notifier will be added - as last element to notifiers. only one of notifier options could - be chosen: notifierConfigRef or notifiers + notifier' + at least one of notifier or notifiers when there are alerting rules. + e.g. http://127.0.0.1:9093 If specified both notifier and notifiers, + notifier will be added as last element to notifiers. only one of + notifier options could be chosen: notifierConfigRef or notifiers + + notifier' items: description: VMAlertNotifierSpec defines the notifier url for sending information about alerts @@ -7858,6 +9031,12 @@ spec: to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow rollback + in deployment or maximum number of revisions that will be maintained + in the StatefulSet's revision history. Defaults to 10. + format: int32 + type: integer rollingUpdate: description: RollingUpdate - overrides deployment update params. properties: @@ -8725,6 +9904,11 @@ spec: - FATAL - PANIC type: string + minReadySeconds: + description: MinReadySeconds defines a minim number os seconds to + wait before starting update next pod if previous in healthy state + format: int32 + type: integer nodeSelector: additionalProperties: type: string @@ -8847,6 +10031,12 @@ spec: to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow rollback + in deployment or maximum number of revisions that will be maintained + in the StatefulSet's revision history. Defaults to 10. + format: int32 + type: integer runtimeClassName: description: RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ @@ -9498,6 +10688,12 @@ spec: - FATAL - PANIC type: string + minReadySeconds: + description: MinReadySeconds defines a minim number os seconds + to wait before starting update next pod if previous in healthy + state + format: int32 + type: integer name: description: Name is deprecated and will be removed at 0.22.0 release @@ -9625,6 +10821,13 @@ spec: to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow + rollback in deployment or maximum number of revisions that will + be maintained in the StatefulSet's revision history. Defaults + to 10. + format: int32 + type: integer rollingUpdate: description: RollingUpdate - overrides deployment update params. properties: @@ -10323,6 +11526,12 @@ spec: - FATAL - PANIC type: string + minReadySeconds: + description: MinReadySeconds defines a minim number os seconds + to wait before starting update next pod if previous in healthy + state + format: int32 + type: integer name: description: Name is deprecated and will be removed at 0.22.0 release @@ -10491,6 +11700,13 @@ spec: to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow + rollback in deployment or maximum number of revisions that will + be maintained in the StatefulSet's revision history. Defaults + to 10. + format: int32 + type: integer rollingUpdateStrategy: description: RollingUpdateStrategy defines strategy for application updates Default is OnDelete, in this case operator handles update @@ -11521,6 +12737,12 @@ spec: format: int32 type: integer type: array + minReadySeconds: + description: MinReadySeconds defines a minim number os seconds + to wait before starting update next pod if previous in healthy + state + format: int32 + type: integer name: description: Name is deprecated and will be removed at 0.22.0 release @@ -11648,6 +12870,13 @@ spec: to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' type: object type: object + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow + rollback in deployment or maximum number of revisions that will + be maintained in the StatefulSet's revision history. Defaults + to 10. + format: int32 + type: integer rollingUpdateStrategy: description: RollingUpdateStrategy defines strategy for application updates Default is OnDelete, in this case operator handles update @@ -16413,6 +17642,12 @@ spec: at indexdb rotates once at the half of configured retention period https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention type: string + revisionHistoryLimitCount: + description: The number of old ReplicaSets to retain to allow rollback + in deployment or maximum number of revisions that will be maintained + in the StatefulSet's revision history. Defaults to 10. + format: int32 + type: integer runtimeClassName: description: RuntimeClassName - defines runtime class for kubernetes pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ @@ -18283,6 +19518,12 @@ spec: description: DisableSecretCreation skips related secret creation for vmuser type: boolean + drop_src_path_prefix_parts: + description: DropSrcPathPrefixParts is the number of `/`-delimited + request path prefix parts to drop before proxying the request to + backend. See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix + for more details. + type: integer generatePassword: description: GeneratePassword instructs operator to generate password for user if spec.password if empty. @@ -18308,10 +19549,25 @@ spec: type: string type: array type: object + load_balancing_policy: + description: 'LoadBalancingPolicy defines load balancing policy to + use for backend urls. Supported policies: least_loaded, first_available. + See https://docs.victoriametrics.com/vmauth.html#load-balancing + for more details (default "least_loaded")' + enum: + - least_loaded + - first_available + type: string max_concurrent_requests: description: MaxConcurrentRequests defines max concurrent requests per user 300 is default value for vmauth type: integer + metric_labels: + additionalProperties: + type: string + description: MetricLabels - additional labels for metrics exported + by vmauth for given user. + type: object name: description: Name of the VMUser object. type: string @@ -18378,6 +19634,12 @@ spec: - name - namespace type: object + drop_src_path_prefix_parts: + description: DropSrcPathPrefixParts is the number of `/`-delimited + request path prefix parts to drop before proxying the request + to backend. See https://docs.victoriametrics.com/vmauth.html#dropping-request-path-prefix + for more details. + type: integer headers: description: 'Headers represent additional http headers, that vmauth uses in form of ["header_key: header_value"] multiple @@ -18386,6 +19648,15 @@ spec: items: type: string type: array + load_balancing_policy: + description: 'LoadBalancingPolicy defines load balancing policy + to use for backend urls. Supported policies: least_loaded, + first_available. See https://docs.victoriametrics.com/vmauth.html#load-balancing + for more details (default "least_loaded")' + enum: + - least_loaded + - first_available + type: string paths: description: Paths - matched path to route. items: @@ -18428,6 +19699,10 @@ spec: type: string type: object type: array + tls_insecure_skip_verify: + description: TLSInsecureSkipVerify - whether to skip TLS verification + when connecting to backend over HTTPS. See https://docs.victoriametrics.com/vmauth.html#backend-tls-setup + type: boolean tokenRef: description: TokenRef allows fetching token from user-created secrets by its name and key. diff --git a/charts/victoria-metrics-operator/values.yaml b/charts/victoria-metrics-operator/values.yaml index cf893ea58..429376edd 100644 --- a/charts/victoria-metrics-operator/values.yaml +++ b/charts/victoria-metrics-operator/values.yaml @@ -5,7 +5,7 @@ image: # -- Image repository repository: victoriametrics/operator # -- Image tag - tag: v0.39.3 + tag: v0.40.0 # -- Image pull policy pullPolicy: IfNotPresent