diff --git a/Makefile b/Makefile index fa94c6239..f90d6691a 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ CRD_PRESERVE=x-kubernetes-preserve-unknown-fields true # Default bundle image tag BUNDLE_IMG ?= controller-bundle:$(VERSION) ALPINE_IMAGE=alpine:3.19.0 +CONTROLLER_GEN_VERSION=v0.14.0 CHANNEL=beta DEFAULT_CHANNEL=beta BUNDLE_CHANNELS := --channels=$(CHANNEL) @@ -289,14 +290,15 @@ generate: controller-gen # find or download controller-gen # download controller-gen if necessary + controller-gen: -ifeq (, $(shell which controller-gen)) +ifneq (Version: $(CONTROLLER_GEN_VERSION), $(shell controller-gen --version)) @{ \ set -e ;\ CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\ cd $$CONTROLLER_GEN_TMP_DIR ;\ go mod init tmp ;\ - go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.12.1 ;\ + go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_GEN_VERSION) ;\ rm -rf $$CONTROLLER_GEN_TMP_DIR ;\ } CONTROLLER_GEN=$(GOBIN)/controller-gen diff --git a/api/v1beta1/vmnodescrape_types.go b/api/v1beta1/vmnodescrape_types.go index 32356ab0f..06ee1db6a 100644 --- a/api/v1beta1/vmnodescrape_types.go +++ b/api/v1beta1/vmnodescrape_types.go @@ -38,9 +38,12 @@ type VMNodeScrapeSpec struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // OAuth2 defines auth configuration // +optional OAuth2 *OAuth2 `json:"oauth2,omitempty"` diff --git a/api/v1beta1/vmpodscrape_types.go b/api/v1beta1/vmpodscrape_types.go index 870e5926c..c15d97beb 100644 --- a/api/v1beta1/vmpodscrape_types.go +++ b/api/v1beta1/vmpodscrape_types.go @@ -90,12 +90,15 @@ type PodMetricsEndpoint struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` // SampleLimit defines per-podEndpoint limit on number of scraped samples that will be accepted. // +optional SampleLimit uint64 `json:"sampleLimit,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // HonorLabels chooses the metric's labels on collisions with target labels. // +optional HonorLabels bool `json:"honorLabels,omitempty"` diff --git a/api/v1beta1/vmservicescrape_types.go b/api/v1beta1/vmservicescrape_types.go index 8e42aeba2..341dc59b5 100644 --- a/api/v1beta1/vmservicescrape_types.go +++ b/api/v1beta1/vmservicescrape_types.go @@ -133,12 +133,15 @@ type Endpoint struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` // SampleLimit defines per-endpoint limit on number of scraped samples that will be accepted. // +optional SampleLimit uint64 `json:"sampleLimit,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // OAuth2 defines auth configuration // +optional OAuth2 *OAuth2 `json:"oauth2,omitempty"` diff --git a/api/v1beta1/vmstaticscrape_types.go b/api/v1beta1/vmstaticscrape_types.go index f60941b60..2ad869581 100644 --- a/api/v1beta1/vmstaticscrape_types.go +++ b/api/v1beta1/vmstaticscrape_types.go @@ -52,9 +52,12 @@ type TargetEndpoint struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // OAuth2 defines auth configuration // +optional OAuth2 *OAuth2 `json:"oauth2,omitempty"` diff --git a/api/v1beta1/zz_generated.deepcopy.go b/api/v1beta1/zz_generated.deepcopy.go index 42362a904..d76fe49e0 100644 --- a/api/v1beta1/zz_generated.deepcopy.go +++ b/api/v1beta1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* @@ -529,7 +528,8 @@ func (in *Endpoint) DeepCopyInto(out *Endpoint) { if val == nil { (*out)[key] = nil } else { - in, out := &val, &outVal + inVal := (*in)[key] + in, out := &inVal, &outVal *out = make([]string, len(*in)) copy(*out, *in) } @@ -541,6 +541,11 @@ func (in *Endpoint) DeepCopyInto(out *Endpoint) { *out = new(bool) **out = **in } + if in.ScrapeProtocols != nil { + in, out := &in.ScrapeProtocols, &out.ScrapeProtocols + *out = make([]string, len(*in)) + copy(*out, *in) + } if in.OAuth2 != nil { in, out := &in.OAuth2, &out.OAuth2 *out = new(OAuth2) @@ -1057,7 +1062,8 @@ func (in *PodMetricsEndpoint) DeepCopyInto(out *PodMetricsEndpoint) { if val == nil { (*out)[key] = nil } else { - in, out := &val, &outVal + inVal := (*in)[key] + in, out := &inVal, &outVal *out = make([]string, len(*in)) copy(*out, *in) } @@ -1069,6 +1075,11 @@ func (in *PodMetricsEndpoint) DeepCopyInto(out *PodMetricsEndpoint) { *out = new(bool) **out = **in } + if in.ScrapeProtocols != nil { + in, out := &in.ScrapeProtocols, &out.ScrapeProtocols + *out = make([]string, len(*in)) + copy(*out, *in) + } if in.HonorTimestamps != nil { in, out := &in.HonorTimestamps, &out.HonorTimestamps *out = new(bool) @@ -1509,7 +1520,8 @@ func (in *RuleGroup) DeepCopyInto(out *RuleGroup) { if val == nil { (*out)[key] = nil } else { - in, out := &val, &outVal + inVal := (*in)[key] + in, out := &inVal, &outVal *out = make([]string, len(*in)) copy(*out, *in) } @@ -1988,7 +2000,8 @@ func (in *TargetEndpoint) DeepCopyInto(out *TargetEndpoint) { if val == nil { (*out)[key] = nil } else { - in, out := &val, &outVal + inVal := (*in)[key] + in, out := &inVal, &outVal *out = make([]string, len(*in)) copy(*out, *in) } @@ -2000,6 +2013,11 @@ func (in *TargetEndpoint) DeepCopyInto(out *TargetEndpoint) { *out = new(bool) **out = **in } + if in.ScrapeProtocols != nil { + in, out := &in.ScrapeProtocols, &out.ScrapeProtocols + *out = make([]string, len(*in)) + copy(*out, *in) + } if in.OAuth2 != nil { in, out := &in.OAuth2, &out.OAuth2 *out = new(OAuth2) @@ -4369,7 +4387,8 @@ func (in *VMNodeScrapeSpec) DeepCopyInto(out *VMNodeScrapeSpec) { if val == nil { (*out)[key] = nil } else { - in, out := &val, &outVal + inVal := (*in)[key] + in, out := &inVal, &outVal *out = make([]string, len(*in)) copy(*out, *in) } @@ -4381,6 +4400,11 @@ func (in *VMNodeScrapeSpec) DeepCopyInto(out *VMNodeScrapeSpec) { *out = new(bool) **out = **in } + if in.ScrapeProtocols != nil { + in, out := &in.ScrapeProtocols, &out.ScrapeProtocols + *out = make([]string, len(*in)) + copy(*out, *in) + } if in.OAuth2 != nil { in, out := &in.OAuth2, &out.OAuth2 *out = new(OAuth2) @@ -4646,7 +4670,8 @@ func (in *VMProbeSpec) DeepCopyInto(out *VMProbeSpec) { if val == nil { (*out)[key] = nil } else { - in, out := &val, &outVal + inVal := (*in)[key] + in, out := &inVal, &outVal *out = make([]string, len(*in)) copy(*out, *in) } diff --git a/api/victoriametrics/v1beta1/vmnodescrape_types.go b/api/victoriametrics/v1beta1/vmnodescrape_types.go index 32356ab0f..06ee1db6a 100644 --- a/api/victoriametrics/v1beta1/vmnodescrape_types.go +++ b/api/victoriametrics/v1beta1/vmnodescrape_types.go @@ -38,9 +38,12 @@ type VMNodeScrapeSpec struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // OAuth2 defines auth configuration // +optional OAuth2 *OAuth2 `json:"oauth2,omitempty"` diff --git a/api/victoriametrics/v1beta1/vmpodscrape_types.go b/api/victoriametrics/v1beta1/vmpodscrape_types.go index 870e5926c..61cbd8476 100644 --- a/api/victoriametrics/v1beta1/vmpodscrape_types.go +++ b/api/victoriametrics/v1beta1/vmpodscrape_types.go @@ -90,9 +90,12 @@ type PodMetricsEndpoint struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // SampleLimit defines per-podEndpoint limit on number of scraped samples that will be accepted. // +optional SampleLimit uint64 `json:"sampleLimit,omitempty"` diff --git a/api/victoriametrics/v1beta1/vmservicescrape_types.go b/api/victoriametrics/v1beta1/vmservicescrape_types.go index 8e42aeba2..ddb3d2a59 100644 --- a/api/victoriametrics/v1beta1/vmservicescrape_types.go +++ b/api/victoriametrics/v1beta1/vmservicescrape_types.go @@ -133,9 +133,12 @@ type Endpoint struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // SampleLimit defines per-endpoint limit on number of scraped samples that will be accepted. // +optional SampleLimit uint64 `json:"sampleLimit,omitempty"` diff --git a/api/victoriametrics/v1beta1/vmstaticscrape_types.go b/api/victoriametrics/v1beta1/vmstaticscrape_types.go index f60941b60..2ad869581 100644 --- a/api/victoriametrics/v1beta1/vmstaticscrape_types.go +++ b/api/victoriametrics/v1beta1/vmstaticscrape_types.go @@ -52,9 +52,12 @@ type TargetEndpoint struct { // one of scrape_interval or interval can be used // +optional ScrapeInterval string `json:"scrape_interval,omitempty"` - // Timeout after which the scrape is ended + // ScrapeTimeout after which the scrape is ended // +optional ScrapeTimeout string `json:"scrapeTimeout,omitempty"` + // ScrapeProtocols defines Prometheus scrape protocol. + // +optional + ScrapeProtocols []string `json:"scrape_protocols,omitempty"` // OAuth2 defines auth configuration // +optional OAuth2 *OAuth2 `json:"oauth2,omitempty"` diff --git a/config/crd/bases/operator.victoriametrics.com_vmagents.yaml b/config/crd/bases/operator.victoriametrics.com_vmagents.yaml index f47071bb6..4a7f712f4 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmagents.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmagents.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmagents.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -25,19 +25,24 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: VMAgent - is a tiny but brave agent, which helps you collect - metrics from various sources and stores them in VictoriaMetrics or any other - Prometheus-compatible storage system that supports the remote_write protocol. + description: |- + VMAgent - is a tiny but brave agent, which helps you collect metrics from various sources and stores them in VictoriaMetrics + or any other Prometheus-compatible storage system that supports the remote_write protocol. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -49,10 +54,11 @@ spec: was failed to parse json object from kubernetes api server type: string aPIServerConfig: - description: APIServerConfig allows specifying a host and auth methods - to access apiserver. If left empty, VMAgent is assumed to run inside - of the cluster and will discover API servers automatically and use - the pod's CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. + description: |- + APIServerConfig allows specifying a host and auth methods to access apiserver. + If left empty, VMAgent is assumed to run inside of the cluster + and will discover API servers automatically and use the pod's CA certificate + and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. properties: authorization: description: Authorization configures generic authorization params @@ -65,8 +71,10 @@ spec: 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?' + 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 @@ -88,17 +96,20 @@ spec: basic authentication 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 + 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?' + 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 @@ -113,17 +124,20 @@ spec: 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 + 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?' + 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 @@ -141,8 +155,9 @@ spec: description: File to read bearer token for accessing apiserver. type: string host: - description: Host of apiserver. A valid string consisting of a - hostname or IP followed by an optional port number + description: |- + Host of apiserver. + A valid string consisting of a hostname or IP followed by an optional port number type: string tlsConfig: description: TLSConfig Config to use for accessing apiserver. @@ -158,9 +173,10 @@ spec: 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?' + 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 @@ -178,9 +194,10 @@ spec: 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?' + 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 @@ -207,9 +224,10 @@ spec: 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?' + 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 @@ -227,9 +245,10 @@ spec: 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?' + 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 @@ -260,8 +279,10 @@ spec: 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?' + 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 @@ -279,20 +300,22 @@ spec: - host type: object additionalScrapeConfigs: - description: AdditionalScrapeConfigs As scrape configs are appended, - the user is responsible to make sure it is valid. Note that using - this feature may expose the possibility to break upgrades of VMAgent. - It is advised to review VMAgent release notes to ensure that no - incompatible scrape configs are going to break VMAgent after the - upgrade. + description: |- + AdditionalScrapeConfigs As scrape configs are appended, the user is responsible to make sure it + is valid. Note that using this feature may expose the possibility to + break upgrades of VMAgent. It is advised to review VMAgent release + notes to ensure that no incompatible scrape configs are going to break + VMAgent after the upgrade. 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?' + 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 @@ -306,9 +329,10 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true arbitraryFSAccessThroughSMs: - description: ArbitraryFSAccessThroughSMs configures whether configuration - based on a service scrape can access arbitrary files on the file - system of the VMAgent container e.g. bearer token files. + description: |- + ArbitraryFSAccessThroughSMs configures whether configuration + based on a service scrape can access arbitrary files on the file system + of the VMAgent container e.g. bearer token files. properties: deny: type: boolean @@ -321,46 +345,53 @@ spec: to a persistent volume properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: |- + Standard object's metadata. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata type: object x-kubernetes-preserve-unknown-fields: true spec: - description: 'spec defines the desired characteristics of a - volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + spec defines the desired characteristics of a volume requested by a pod author. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify either: + description: |- + dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified data - source, it will create a new volume based on the contents - of the specified data source. If the AnyVolumeDataSource - feature gate is enabled, this field will always have the - same contents as the DataSourceRef field.' + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, the - specified Kind must be in the core API group. For - any other third-party types, APIGroup is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -374,33 +405,30 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from which - to populate the volume with data, if a non-empty volume - is desired. This may be any local object from a non-empty - API group (non core object) or a PersistentVolumeClaim - object. When this field is specified, volume binding will - only succeed if the type of the specified object matches - some installed volume populator or dynamic provisioner. - This field will replace the functionality of the DataSource - field and as such if both fields are non-empty, they must - have the same value. For backwards compatibility, both - fields (DataSource and DataSourceRef) will be set to the - same value automatically if one of them is empty and the - other is non-empty. There are two important differences - between DataSource and DataSourceRef: * While DataSource - only allows two specific types of objects, DataSourceRef - allows any non-core object, as well as PersistentVolumeClaim - objects. * While DataSource ignores disallowed values - (dropping them), DataSourceRef preserves all values, and - generates an error if a disallowed value is specified. - (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, the - specified Kind must be in the core API group. For - any other third-party types, APIGroup is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -414,12 +442,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify resource - requirements that are lower than previous value but must - still be higher than capacity recorded in the status field - of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -428,8 +456,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -438,11 +467,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -453,8 +482,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -462,17 +491,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -484,22 +512,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to the @@ -507,12 +535,15 @@ spec: type: string type: object status: - description: 'status represents the current information/status - of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + status represents the current information/status of a persistent volume claim. + Read-only. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the actual access modes the volume backing the PVC has. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array @@ -523,18 +554,15 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity when - a volume expansion operation is requested. For storage - quota, the larger value from allocatedResources and PVC.spec.resources - is used. If allocatedResources is not set, PVC.spec.resources - alone is used for quota calculation. If a volume expansion - capacity request is lowered, allocatedResources is only - lowered if there are no expansion operations in progress - and if the actual volume capacity is equal or lower than - the requested capacity. This is an alpha field and requires - enabling RecoverVolumeExpansionFailure feature. + description: |- + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may + be larger than the actual capacity when a volume expansion operation is requested. + For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + If a volume expansion capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress and if the actual volume capacity + is equal or lower than the requested capacity. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: object capacity: additionalProperties: @@ -547,8 +575,8 @@ spec: the underlying volume. type: object conditions: - description: conditions is the current Condition of persistent - volume claim. If underlying persistent volume is being + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. items: description: PersistentVolumeClaimCondition contails details @@ -569,10 +597,9 @@ spec: indicating details about last transition. type: string reason: - description: reason is a unique, this should be a - short, machine understandable string that gives - the reason for condition's last transition. If it - reports "ResizeStarted" that means the underlying + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized. type: string status: @@ -590,26 +617,27 @@ spec: description: phase represents the current phase of PersistentVolumeClaim. type: string resizeStatus: - description: resizeStatus stores status of resize operation. - ResizeStatus is not set by default but when expansion - is complete resizeStatus is set to empty string by resize - controller or kubelet. This is an alpha field and requires - enabling RecoverVolumeExpansionFailure feature. + description: |- + resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty + string by resize controller or kubelet. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: string type: object type: object type: array configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the vmagent object, which shall be mounted into the vmagent Pods. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the vmagent + object, which shall be mounted into the vmagent Pods. will be mounted at path /etc/vm/configs items: type: string type: array containers: - description: Containers property allows to inject additions sidecars - or to patch existing containers. It can be useful for proxies, backup, - etc. + description: |- + Containers property allows to inject additions sidecars or to patch existing containers. + It can be useful for proxies, backup, etc. items: description: A single application container that you want to run within a pod. @@ -619,22 +647,25 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters specified - here will be merged to the generated DNS configuration based on - DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This will - be appended to the base nameservers generated from DNSPolicy. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be merged - with the base options generated from DNSPolicy. Duplicated entries - will be removed. Resolution options given in Options will override - those that appear in the base DNSPolicy. + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options + will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options of a pod. @@ -647,9 +678,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated from - DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -660,22 +692,25 @@ spec: description: DNSPolicy set DNS policy for the pod type: string enforcedNamespaceLabel: - description: EnforcedNamespaceLabel enforces adding a namespace label - of origin for each alert and metric that is user created. The label - value will always be the namespace of the object that is being created. + description: |- + EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert + and metric that is user created. The label value will always be the namespace of the object that is + being created. type: string externalLabels: additionalProperties: type: string - description: ExternalLabels The labels to add to any time series scraped - by vmagent. it doesn't affect metrics ingested directly by push - API's + description: |- + ExternalLabels The labels to add to any time series scraped by vmagent. + it doesn't affect metrics ingested directly by push API's type: object extraArgs: additionalProperties: type: string - description: 'ExtraArgs that will be passed to VMAgent pod for example - remoteWrite.tmpDataPath: /tmp it would be converted to flag --remoteWrite.tmpDataPath=/tmp' + description: |- + ExtraArgs that will be passed to VMAgent pod + for example remoteWrite.tmpDataPath: /tmp + it would be converted to flag --remoteWrite.tmpDataPath=/tmp type: object extraEnvs: description: ExtraEnvs that will be added to VMAgent pod @@ -687,15 +722,16 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using - the previously defined environment variables in the container - and any service environment variables. If a variable cannot - be resolved, the reference in the input string will be unchanged. - Double $$ are reduced to a single $, which allows for escaping - the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the - string literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists or - not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -703,11 +739,14 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array host_aliases: - description: HostAliases provides mapping between ip and hostnames, - that would be propagated to pod, cannot be used with HostNetwork. + description: |- + HostAliases provides mapping between ip and hostnames, + that would be propagated to pod, + cannot be used with HostNetwork. items: - description: HostAlias holds the mapping between IP and hostnames - that will be injected as an entry in the pod's hosts file. + description: |- + HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the + pod's hosts file. properties: hostnames: description: Hostnames for the above IP address. @@ -724,14 +763,15 @@ spec: network namespace type: boolean ignoreNamespaceSelectors: - description: IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector - settings from the podscrape and vmservicescrape configs, and they - will only discover endpoints within their current namespace. Defaults - to false. + description: |- + IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from + the podscrape and vmservicescrape configs, and they will only discover endpoints + within their current namespace. Defaults to false. type: boolean image: - description: Image - docker image settings for VMAgent if no specified - operator uses default config version + description: |- + Image - docker image settings for VMAgent + if no specified operator uses default config version properties: pullPolicy: description: PullPolicy describes how to pull docker image @@ -745,30 +785,32 @@ spec: type: string type: object imagePullSecrets: - description: ImagePullSecrets An optional list of references to secrets - in the same namespace to use for pulling images from registries + description: |- + ImagePullSecrets An optional list of references to secrets in the same namespace + to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. properties: 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?' + 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 type: object x-kubernetes-map-type: atomic type: array initContainers: - description: 'InitContainers allows adding initContainers to the pod - definition. Those can be used to e.g. fetch secrets for injection - into the vmagent configuration from external sources. Any errors - during the execution of an initContainer will lead to a restart - of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at any - time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the vmagent configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -781,9 +823,10 @@ spec: description: InlineRelabelConfig - defines GlobalRelabelConfig for vmagent, can be defined directly at CRD. items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -813,51 +856,57 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array inlineScrapeConfig: - description: 'InlineScrapeConfig As scrape configs are appended, the - user is responsible to make sure it is valid. Note that using this - feature may expose the possibility to break upgrades of VMAgent. - It is advised to review VMAgent release notes to ensure that no - incompatible scrape configs are going to break VMAgent after the - upgrade. it should be defined as single yaml file. inlineScrapeConfig: - | - job_name: "prometheus" static_configs: - targets: ["localhost:9090"]' + description: |- + InlineScrapeConfig As scrape configs are appended, the user is responsible to make sure it + is valid. Note that using this feature may expose the possibility to + break upgrades of VMAgent. It is advised to review VMAgent release + notes to ensure that no incompatible scrape configs are going to break + VMAgent after the upgrade. + it should be defined as single yaml file. + inlineScrapeConfig: | + - job_name: "prometheus" + static_configs: + - targets: ["localhost:9090"] type: string insertPorts: description: InsertPorts - additional listen ports for data ingestion. @@ -876,15 +925,17 @@ spec: type: string type: object license: - description: 'License allows to configure license key to be used for - enterprise features. Using license key is supported starting from - VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html' + description: |- + License allows to configure license key to be used for enterprise features. + Using license key is supported starting from VictoriaMetrics v1.94.0. + See: https://docs.victoriametrics.com/enterprise.html properties: key: - description: Enterprise license key. This flag is available only - in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html - for more information, visit https://victoriametrics.com/products/enterprise/ - . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ + description: |- + Enterprise license key. This flag is available only in VictoriaMetrics enterprise. + Documentation - https://docs.victoriametrics.com/enterprise.html + for more information, visit https://victoriametrics.com/products/enterprise/ . + To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ type: string keyRef: description: KeyRef is reference to secret with license key for @@ -895,8 +946,10 @@ spec: 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?' + 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 @@ -918,8 +971,9 @@ spec: - json type: string logLevel: - description: LogLevel for VMAgent to be configured with. INFO, WARN, - ERROR, FATAL, PANIC + description: |- + LogLevel for VMAgent to be configured with. + INFO, WARN, ERROR, FATAL, PANIC enum: - INFO - WARN @@ -928,49 +982,51 @@ spec: - PANIC type: string maxScrapeInterval: - description: MaxScrapeInterval allows limiting maximum scrape interval - for VMServiceScrape, VMPodScrape and other scrapes If interval is - higher than defined limit, `maxScrapeInterval` will be used. + description: |- + MaxScrapeInterval allows limiting maximum scrape interval 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 + 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 - lower than defined limit, `minScrapeInterval` will be used. + description: |- + MinScrapeInterval allows limiting minimal scrape interval for VMServiceScrape, VMPodScrape and other scrapes + If interval is lower than defined limit, `minScrapeInterval` will be used. type: string nodeScrapeNamespaceSelector: - description: NodeScrapeNamespaceSelector defines Namespaces to be - selected for VMNodeScrape discovery. Works in combination with Selector. - NamespaceSelector nil - only objects at VMAgent namespace. Selector - nil - only objects at NamespaceSelector namespaces. If both nil - - behaviour controlled by selectAllByDefault + description: |- + NodeScrapeNamespaceSelector defines Namespaces to be selected for VMNodeScrape discovery. + Works in combination with Selector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -983,22 +1039,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic nodeScrapeRelabelTemplate: - description: NodeScrapeRelabelTemplate defines relabel config, that - will be added to each VMNodeScrape. it's useful for adding specific - labels to all targets + description: |- + NodeScrapeRelabelTemplate defines relabel config, that will be added to each VMNodeScrape. + it's useful for adding specific labels to all targets items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -1028,72 +1084,75 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array nodeScrapeSelector: - description: NodeScrapeSelector defines VMNodeScrape to be selected - for scraping. Works in combination with NamespaceSelector. NamespaceSelector - nil - only objects at VMAgent namespace. Selector nil - only objects - at NamespaceSelector namespaces. If both nil - behaviour controlled - by selectAllByDefault + description: |- + NodeScrapeSelector defines VMNodeScrape to be selected for scraping. + Works in combination with NamespaceSelector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -1106,11 +1165,10 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic @@ -1121,9 +1179,9 @@ spec: on. type: object overrideHonorLabels: - description: OverrideHonorLabels if set to true overrides all user - configured honor_labels. If HonorLabels is set in ServiceScrape - or PodScrape to true, this overrides honor_labels to false. + description: |- + OverrideHonorLabels if set to true overrides all user configured honor_labels. + If HonorLabels is set in ServiceScrape or PodScrape to true, this overrides honor_labels to false. type: boolean overrideHonorTimestamps: description: OverrideHonorTimestamps allows to globally enforce honoring @@ -1136,26 +1194,27 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one can - prevent all voluntary evictions by specifying 0. This is a mutually - exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after the - eviction, i.e. even in the absence of the evicted pod. So for - example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: string - description: replaces default labels selector generated by operator + description: |- + replaces default labels selector generated by operator it's useful when you need to create custom budget type: object type: object @@ -1166,56 +1225,61 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object podScrapeNamespaceSelector: - description: PodScrapeNamespaceSelector defines Namespaces to be selected - for VMPodScrape discovery. Works in combination with Selector. NamespaceSelector - nil - only objects at VMAgent namespace. Selector nil - only objects - at NamespaceSelector namespaces. If both nil - behaviour controlled - by selectAllByDefault + description: |- + PodScrapeNamespaceSelector defines Namespaces to be selected for VMPodScrape discovery. + Works in combination with Selector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -1228,22 +1292,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic podScrapeRelabelTemplate: - description: PodScrapeRelabelTemplate defines relabel config, that - will be added to each VMPodScrape. it's useful for adding specific - labels to all targets + description: |- + PodScrapeRelabelTemplate defines relabel config, that will be added to each VMPodScrape. + it's useful for adding specific labels to all targets items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -1273,72 +1337,75 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array podScrapeSelector: - description: PodScrapeSelector defines PodScrapes to be selected for - target discovery. Works in combination with NamespaceSelector. NamespaceSelector - nil - only objects at VMAgent namespace. Selector nil - only objects - at NamespaceSelector namespaces. If both nil - behaviour controlled - by selectAllByDefault + description: |- + PodScrapeSelector defines PodScrapes to be selected for target discovery. + Works in combination with NamespaceSelector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -1351,16 +1418,16 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic podSecurityPolicyName: - description: PodSecurityPolicyName - defines name for podSecurityPolicy + description: |- + PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used. type: string port: @@ -1370,34 +1437,35 @@ spec: description: PriorityClassName assigned to the Pods type: string probeNamespaceSelector: - description: ProbeNamespaceSelector defines Namespaces to be selected - for VMProbe discovery. Works in combination with Selector. NamespaceSelector - nil - only objects at VMAgent namespace. Selector nil - only objects - at NamespaceSelector namespaces. If both nil - behaviour controlled - by selectAllByDefault + description: |- + ProbeNamespaceSelector defines Namespaces to be selected for VMProbe discovery. + Works in combination with Selector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -1410,22 +1478,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic probeScrapeRelabelTemplate: - description: ProbeScrapeRelabelTemplate defines relabel config, that - will be added to each VMProbeScrape. it's useful for adding specific - labels to all targets + description: |- + ProbeScrapeRelabelTemplate defines relabel config, that will be added to each VMProbeScrape. + it's useful for adding specific labels to all targets items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -1455,72 +1523,75 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array probeSelector: - description: ProbeSelector defines VMProbe to be selected for target - probing. Works in combination with NamespaceSelector. NamespaceSelector - nil - only objects at VMAgent namespace. Selector nil - only objects - at NamespaceSelector namespaces. If both nil - behaviour controlled - by selectAllByDefault + description: |- + ProbeSelector defines VMProbe to be selected for target probing. + Works in combination with NamespaceSelector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -1533,11 +1604,10 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic @@ -1559,16 +1629,18 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true relabelConfig: - description: RelabelConfig ConfigMap with global relabel config -remoteWrite.relabelConfig - This relabeling is applied to all the collected metrics before sending - them to remote storage. + description: |- + RelabelConfig ConfigMap with global relabel config -remoteWrite.relabelConfig + This relabeling is applied to all the collected metrics before sending them to remote storage. 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?' + 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 @@ -1579,9 +1651,11 @@ spec: type: object x-kubernetes-map-type: atomic remoteWrite: - description: 'RemoteWrite list of victoria metrics /some other remote - write system for vm it must looks like: http://victoria-metrics-single:8429/api/v1/write - or for cluster different url https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/vmagent#splitting-data-streams-among-multiple-systems' + description: |- + RemoteWrite list of victoria metrics /some other remote write system + for vm it must looks like: http://victoria-metrics-single:8429/api/v1/write + or for cluster different url + https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/vmagent#splitting-data-streams-among-multiple-systems items: description: VMAgentRemoteWriteSpec defines the remote storage configuration for VmAgent @@ -1591,17 +1665,20 @@ spec: basic authentication 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 + 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?' + 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 @@ -1616,17 +1693,20 @@ spec: 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 + 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?' + 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 @@ -1645,8 +1725,10 @@ spec: 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?' + 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 @@ -1657,9 +1739,12 @@ spec: type: object x-kubernetes-map-type: atomic headers: - description: 'Headers allow configuring custom http headers - Must be in form of semicolon separated header with value e.g. - headerName: headerValue vmagent supports since 1.79.0 version' + description: |- + Headers allow configuring custom http headers + Must be in form of semicolon separated header with value + e.g. + headerName: headerValue + vmagent supports since 1.79.0 version items: type: string type: array @@ -1667,10 +1752,10 @@ spec: description: InlineUrlRelabelConfig defines relabeling config for remoteWriteURL, it can be defined at crd spec. items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -1700,41 +1785,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels and - source_labels, sourceLabels has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of - target label - target_label for compatibility with original - relabel config. if set both targetLabel and target_label, - targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -1753,9 +1839,10 @@ spec: 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?' + 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 @@ -1773,9 +1860,10 @@ spec: 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?' + 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 @@ -1794,8 +1882,10 @@ spec: 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?' + 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 @@ -1854,22 +1944,27 @@ spec: aggregation config properties: by: - description: "By is an optional list of labels for - grouping input series. \n See also Without. \n If - neither By nor Without are set, then the Outputs - are calculated individually per each input time - series." + description: |- + By is an optional list of labels for grouping input series. + + + See also Without. + + + If neither By nor Without are set, then the Outputs are calculated + individually per each input time series. items: type: string type: array input_relabel_configs: - description: InputRelabelConfigs is an optional relabeling - rules, which are applied on the input before aggregation. + description: |- + InputRelabelConfigs is an optional relabeling rules, which are applied on the input + before aggregation. items: - description: 'RelabelConfig allows dynamic rewriting - of the label set, being applied to samples before - ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex @@ -1900,45 +1995,42 @@ spec: '(.*)' type: string replacement: - description: Replacement value against which - a regex replace is performed if the regular - expression matches. Regex capture groups are - available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional - form of source labels source_labels for compatibility - with original relabel config. if set both - sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values - from existing labels. Their content is concatenated - using the configured separator and matched - against the configured regular expression + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional - form of target label - target_label for compatibility - with original relabel config. if set both - targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value - is written in a replace action. It is mandatory - for replace actions. Regex capture groups - are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -1946,20 +2038,21 @@ spec: description: Interval is the interval between aggregations. type: string match: - description: "Match is a label selector (or list of - label selectors) for filtering time series for the - given selector. \n If the match isn't set, then - all the input time series are processed." + description: |- + Match is a label selector (or list of label selectors) for filtering time series for the given selector. + + + If the match isn't set, then all the input time series are processed. x-kubernetes-preserve-unknown-fields: true output_relabel_configs: - description: OutputRelabelConfigs is an optional relabeling - rules, which are applied on the aggregated output - before being sent to remote storage. + description: |- + OutputRelabelConfigs is an optional relabeling rules, which are applied + on the aggregated output before being sent to remote storage. items: - description: 'RelabelConfig allows dynamic rewriting - of the label set, being applied to samples before - ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex @@ -1990,65 +2083,72 @@ spec: '(.*)' type: string replacement: - description: Replacement value against which - a regex replace is performed if the regular - expression matches. Regex capture groups are - available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional - form of source labels source_labels for compatibility - with original relabel config. if set both - sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values - from existing labels. Their content is concatenated - using the configured separator and matched - against the configured regular expression + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional - form of target label - target_label for compatibility - with original relabel config. if set both - targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value - is written in a replace action. It is mandatory - for replace actions. Regex capture groups - are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array outputs: - description: "Outputs is a list of output aggregate - functions to produce. \n The following names are - allowed: \n - total - aggregates input counters + description: |- + Outputs is a list of output aggregate functions to produce. + + + The following names are allowed: + + + - total - aggregates input counters - increase - counts the increase over input counters - - count_series - counts the input series - count_samples - - counts the input samples - sum_samples - sums - the input samples - last - the last biggest sample - value - min - the minimum sample value - max - the - maximum sample value - avg - the average value across - all the samples - stddev - standard deviation across - all the samples - stdvar - standard variance across - all the samples - histogram_bucket - creates VictoriaMetrics - histogram for input samples - quantiles(phi1, ..., - phiN) - quantiles' estimation for phi in the range - [0..1] \n The output time series will have the following - names: \n input_name:aggr__" + - count_series - counts the input series + - count_samples - counts the input samples + - sum_samples - sums the input samples + - last - the last biggest sample value + - min - the minimum sample value + - max - the maximum sample value + - avg - the average value across all the samples + - stddev - standard deviation across all the samples + - stdvar - standard variance across all the samples + - histogram_bucket - creates VictoriaMetrics histogram for input samples + - quantiles(phi1, ..., phiN) - quantiles' estimation for phi in the range [0..1] + + + The output time series will have the following names: + + + input_name:aggr__ items: type: string type: array @@ -2058,11 +2158,15 @@ spec: samples have been sent during it. type: string without: - description: "Without is an optional list of labels, - which must be excluded when grouping input series. - \n See also By. \n If neither By nor Without are - set, then the Outputs are calculated individually - per each input time series." + description: |- + Without is an optional list of labels, which must be excluded when grouping input series. + + + See also By. + + + If neither By nor Without are set, then the Outputs are calculated + individually per each input time series. items: type: string type: array @@ -2090,9 +2194,10 @@ spec: 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?' + 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 @@ -2110,9 +2215,10 @@ spec: 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?' + 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 @@ -2139,9 +2245,10 @@ spec: 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?' + 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 @@ -2159,9 +2266,10 @@ spec: 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?' + 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 @@ -2192,8 +2300,10 @@ spec: 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?' + 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 @@ -2218,8 +2328,10 @@ spec: 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?' + 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 @@ -2272,20 +2384,23 @@ spec: write component is stored (default vmagent-remotewrite-data) type: string useMultiTenantMode: - description: Configures vmagent in multi-tenant mode with direct - cluster support docs https://docs.victoriametrics.com/vmagent.html#multitenancy + description: |- + Configures vmagent in multi-tenant mode with direct cluster support + docs https://docs.victoriametrics.com/vmagent.html#multitenancy it's global setting and affects all remote storage configurations type: boolean type: object replicaCount: - description: ReplicaCount is the expected size of the VMAgent cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. NOTE enable VMSingle deduplication for - replica usage + description: |- + ReplicaCount is the expected size of the VMAgent cluster. The controller will + eventually make the size of the running cluster equal to the expected + size. + NOTE enable VMSingle deduplication for replica usage format: int32 type: integer resources: - description: Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + description: |- + Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not specified - default setting will be used properties: limits: @@ -2295,8 +2410,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -2305,16 +2421,18 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise 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. + 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: @@ -2324,37 +2442,40 @@ spec: anyOf: - type: integer - type: string - description: 'The maximum number of pods that can be scheduled - above the desired number of pods. Value can be an absolute number - (ex: 5) or a percentage of desired pods (ex: 10%). This can - not be 0 if MaxUnavailable is 0. Absolute number is calculated - from percentage by rounding up. Defaults to 25%. Example: when - this is set to 30%, the new ReplicaSet can be scaled up immediately - when the rolling update starts, such that the total number of - old and new pods do not exceed 130% of desired pods. Once old - pods have been killed, new ReplicaSet can be scaled up further, - ensuring that total number of pods running at any time during - the update is at most 130% of desired pods.' + description: |- + The maximum number of pods that can be scheduled above the desired number of + pods. + Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). + This can not be 0 if MaxUnavailable is 0. + Absolute number is calculated from percentage by rounding up. + Defaults to 25%. + Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when + the rolling update starts, such that the total number of old and new pods do not exceed + 130% of desired pods. Once old pods have been killed, + new ReplicaSet can be scaled up further, ensuring that total number of pods running + at any time during the update is at most 130% of desired pods. x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string - description: 'The maximum number of pods that can be unavailable - during the update. Value can be an absolute number (ex: 5) or - a percentage of desired pods (ex: 10%). Absolute number is calculated - from percentage by rounding down. This can not be 0 if MaxSurge - is 0. Defaults to 25%. Example: when this is set to 30%, the - old ReplicaSet can be scaled down to 70% of desired pods immediately - when the rolling update starts. Once new pods are ready, old - ReplicaSet can be scaled down further, followed by scaling up - the new ReplicaSet, ensuring that the total number of pods available - at all times during the update is at least 70% of desired pods.' + description: |- + The maximum number of pods that can be unavailable during the update. + Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). + Absolute number is calculated from percentage by rounding down. + This can not be 0 if MaxSurge is 0. + Defaults to 25%. + Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods + immediately when the rolling update starts. Once new pods are ready, old ReplicaSet + can be scaled down further, followed by scaling up the new ReplicaSet, ensuring + that the total number of pods available at all times during the update is at + least 70% of desired pods. x-kubernetes-int-or-string: true type: object runtimeClassName: - description: RuntimeClassName - defines runtime class for kubernetes - pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name @@ -2368,57 +2489,61 @@ spec: pattern: '[0-9]+(ms|s|m|h)' type: string secrets: - description: Secrets is a list of Secrets in the same namespace as - the vmagent object, which shall be mounted into the vmagent Pods. + description: |- + Secrets is a list of Secrets in the same namespace as the vmagent + object, which shall be mounted into the vmagent Pods. will be mounted at path /etc/vm/secrets items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes and - common container settings. This defaults to the default PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: 'SelectAllByDefault changes default behavior for empty - CRD selectors, such ServiceScrapeSelector. with selectAllByDefault: - true and empty serviceScrapeSelector and ServiceScrapeNamespaceSelector - Operator selects all exist serviceScrapes with selectAllByDefault: - false - selects nothing' + description: |- + SelectAllByDefault changes default behavior for empty CRD selectors, such ServiceScrapeSelector. + with selectAllByDefault: true and empty serviceScrapeSelector and ServiceScrapeNamespaceSelector + Operator selects all exist serviceScrapes + with selectAllByDefault: false - selects nothing type: boolean serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount - to use to run the VMAgent Pods. + description: |- + ServiceAccountName is the name of the ServiceAccount to use to run the + VMAgent Pods. type: string serviceScrapeNamespaceSelector: - description: ServiceScrapeNamespaceSelector Namespaces to be selected - for VMServiceScrape discovery. Works in combination with Selector. - NamespaceSelector nil - only objects at VMAgent namespace. Selector - nil - only objects at NamespaceSelector namespaces. If both nil - - behaviour controlled by selectAllByDefault + description: |- + ServiceScrapeNamespaceSelector Namespaces to be selected for VMServiceScrape discovery. + Works in combination with Selector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -2431,22 +2556,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic serviceScrapeRelabelTemplate: - description: ServiceScrapeRelabelTemplate defines relabel config, - that will be added to each VMServiceScrape. it's useful for adding - specific labels to all targets + description: |- + ServiceScrapeRelabelTemplate defines relabel config, that will be added to each VMServiceScrape. + it's useful for adding specific labels to all targets items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -2476,72 +2601,75 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array serviceScrapeSelector: - description: ServiceScrapeSelector defines ServiceScrapes to be selected - for target discovery. Works in combination with NamespaceSelector. - NamespaceSelector nil - only objects at VMAgent namespace. Selector - nil - only objects at NamespaceSelector namespaces. If both nil - - behaviour controlled by selectAllByDefault + description: |- + ServiceScrapeSelector defines ServiceScrapes to be selected for target discovery. + Works in combination with NamespaceSelector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -2554,11 +2682,10 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic @@ -2579,85 +2706,92 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a user - creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: - spec type: object shardCount: - description: ShardCount - numbers of shards of VMAgent in this case - operator will use 1 deployment/sts per shard with replicas count - according to spec.replicas, see https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets + description: |- + ShardCount - numbers of shards of VMAgent + in this case operator will use 1 deployment/sts per shard with + replicas count according to spec.replicas, + see https://docs.victoriametrics.com/vmagent.html#scraping-big-number-of-targets type: integer startupProbe: description: StartupProbe that will be added to CRD pod type: object x-kubernetes-preserve-unknown-fields: true statefulMode: - description: StatefulMode enables StatefulSet for `VMAgent` instead - of Deployment it allows using persistent storage for vmagent's persistentQueue + description: |- + StatefulMode enables StatefulSet for `VMAgent` instead of Deployment + it allows using persistent storage for vmagent's persistentQueue type: boolean statefulRollingUpdateStrategy: - description: StatefulRollingUpdateStrategy allows configuration for - strategyType set it to RollingUpdate for disabling operator statefulSet - rollingUpdate + description: |- + StatefulRollingUpdateStrategy allows configuration for strategyType + set it to RollingUpdate for disabling operator statefulSet rollingUpdate type: string statefulStorage: description: StatefulStorage configures storage for StatefulSet properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be disabled by default - in a future release, this option will become unnecessary. DisableMountSubPath - allows to remove any subPath usage in volume mounts.' + description: |- + Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. + DisableMountSubPath allows to remove any subPath usage in volume mounts. type: boolean emptyDir: - description: 'EmptyDirVolumeSource to be used by the Prometheus - StatefulSets. If specified, used in place of any volumeClaimTemplate. - More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' + description: |- + EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More + info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: medium: - description: 'medium represents what type of storage medium - should back this directory. The default is "" which means - to use the node''s default medium. Must be an empty string - (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' + description: |- + medium represents what type of storage medium should back this directory. + The default is "" which means to use the node's default medium. + Must be an empty string (default) or Memory. + More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir type: string sizeLimit: anyOf: - type: integer - type: string - description: 'sizeLimit is the total amount of local storage - required for this EmptyDir volume. The size limit is also - applicable for memory medium. The maximum usage on memory - medium EmptyDir would be the minimum value between the SizeLimit - specified here and the sum of memory limits of all containers - in a pod. The default is nil which means that the limit - is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' + description: |- + sizeLimit is the total amount of local storage required for this EmptyDir volume. + The size limit is also applicable for memory medium. + The maximum usage on memory medium EmptyDir would be the minimum value between + the SizeLimit specified here and the sum of memory limits of all containers in a pod. + The default is nil which means that the limit is undefined. + More info: http://kubernetes.io/docs/user-guide/volumes#emptydir pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -2665,16 +2799,19 @@ spec: description: A PVC spec to be used by the VMAlertManager StatefulSets. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: description: EmbeddedMetadata contains metadata relevant to @@ -2683,53 +2820,57 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value - map stored with a resource that may be set by external - tools to store and retrieve arbitrary metadata. They - are not queryable and should be preserved when modifying - objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that - can be used to organize and categorize (scope and select) - objects. May match selectors of replication controllers - and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. - Is required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be - updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'Spec defines the desired characteristics of - a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + Spec defines the desired characteristics of a volume requested by a pod author. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified - data source, it will create a new volume based on the - contents of the specified data source. If the AnyVolumeDataSource - feature gate is enabled, this field will always have - the same contents as the DataSourceRef field.' + description: |- + dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -2744,32 +2885,29 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from - which to populate the volume with data, if a non-empty - volume is desired. This may be any local object from - a non-empty API group (non core object) or a PersistentVolumeClaim - object. When this field is specified, volume binding - will only succeed if the type of the specified object - matches some installed volume populator or dynamic provisioner. - This field will replace the functionality of the DataSource - field and as such if both fields are non-empty, they - must have the same value. For backwards compatibility, - both fields (DataSource and DataSourceRef) will be set - to the same value automatically if one of them is empty - and the other is non-empty. There are two important - differences between DataSource and DataSourceRef: * - While DataSource only allows two specific types of objects, - DataSourceRef allows any non-core object, as well as - PersistentVolumeClaim objects. * While DataSource ignores - disallowed values (dropping them), DataSourceRef preserves - all values, and generates an error if a disallowed value - is specified. (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -2784,12 +2922,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify resource - requirements that are lower than previous value but - must still be higher than capacity recorded in the status - field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -2798,8 +2936,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -2808,11 +2947,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -2823,8 +2962,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -2832,17 +2971,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -2854,22 +2992,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume is - required by the claim. Value of Filesystem is implied - when not included in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to the @@ -2877,12 +3015,15 @@ spec: type: string type: object status: - description: 'Status represents the current information/status - of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + Status represents the current information/status of a persistent volume claim. + Read-only. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the actual access modes the volume backing the PVC has. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array @@ -2893,19 +3034,15 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity - when a volume expansion operation is requested. For - storage quota, the larger value from allocatedResources - and PVC.spec.resources is used. If allocatedResources - is not set, PVC.spec.resources alone is used for quota - calculation. If a volume expansion capacity request - is lowered, allocatedResources is only lowered if there - are no expansion operations in progress and if the actual - volume capacity is equal or lower than the requested - capacity. This is an alpha field and requires enabling - RecoverVolumeExpansionFailure feature. + description: |- + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may + be larger than the actual capacity when a volume expansion operation is requested. + For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + If a volume expansion capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress and if the actual volume capacity + is equal or lower than the requested capacity. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: object capacity: additionalProperties: @@ -2918,8 +3055,8 @@ spec: of the underlying volume. type: object conditions: - description: conditions is the current Condition of persistent - volume claim. If underlying persistent volume is being + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. items: description: PersistentVolumeClaimCondition contails @@ -2940,10 +3077,9 @@ spec: indicating details about last transition. type: string reason: - description: reason is a unique, this should be - a short, machine understandable string that gives - the reason for condition's last transition. If - it reports "ResizeStarted" that means the underlying + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized. type: string status: @@ -2961,44 +3097,45 @@ spec: description: phase represents the current phase of PersistentVolumeClaim. type: string resizeStatus: - description: resizeStatus stores status of resize operation. - ResizeStatus is not set by default but when expansion - is complete resizeStatus is set to empty string by resize - controller or kubelet. This is an alpha field and requires - enabling RecoverVolumeExpansionFailure feature. + description: |- + resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty + string by resize controller or kubelet. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: string type: object type: object type: object staticScrapeNamespaceSelector: - description: StaticScrapeNamespaceSelector defines Namespaces to be - selected for VMStaticScrape discovery. Works in combination with - NamespaceSelector. NamespaceSelector nil - only objects at VMAgent - namespace. Selector nil - only objects at NamespaceSelector namespaces. + description: |- + StaticScrapeNamespaceSelector defines Namespaces to be selected for VMStaticScrape discovery. + Works in combination with NamespaceSelector. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -3011,22 +3148,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic staticScrapeRelabelTemplate: - description: StaticScrapeRelabelTemplate defines relabel config, that - will be added to each VMStaticScrape. it's useful for adding specific - labels to all targets + description: |- + StaticScrapeRelabelTemplate defines relabel config, that will be added to each VMStaticScrape. + it's useful for adding specific labels to all targets items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -3056,72 +3193,75 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array staticScrapeSelector: - description: StaticScrapeSelector defines PodScrapes to be selected - for target discovery. Works in combination with NamespaceSelector. - If both nil - match everything. NamespaceSelector nil - only objects - at VMAgent namespace. Selector nil - only objects at NamespaceSelector - namespaces. + description: |- + StaticScrapeSelector defines PodScrapes to be selected for target discovery. + Works in combination with NamespaceSelector. + If both nil - match everything. + NamespaceSelector nil - only objects at VMAgent namespace. + Selector nil - only objects at NamespaceSelector namespaces. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -3134,11 +3274,10 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic @@ -3150,46 +3289,46 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match all - values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to the - value. Valid operators are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, so that a pod - can tolerate all taints of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of time - the toleration (which must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. By default, it - is not set, which means tolerate the taint forever (do not - evict). Zero and negative values will be treated as 0 (evict - immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod configuration - option, controls how pods are spread across your cluster among failure-domains + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: @@ -3203,59 +3342,66 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array updateStrategy: - description: UpdateStrategy - overrides default update strategy. works - only for deployments, statefulset always use OnDelete. + description: |- + UpdateStrategy - overrides default update strategy. + works only for deployments, statefulset always use OnDelete. enum: - Recreate - RollingUpdate type: string useStrictSecurity: - description: UseStrictSecurity enables strict security mode for component - it restricts disk writes access uses non-root user out of the box + description: |- + UseStrictSecurity enables strict security mode for component + it restricts disk writes access + uses non-root user out of the box drops not needed security permissions type: boolean vmAgentExternalLabelName: - description: VMAgentExternalLabelName Name of vmAgent external label - used to denote vmAgent instance name. Defaults to the value of `prometheus`. - External label will _not_ be added when value is set to empty string - (`""`). + description: |- + VMAgentExternalLabelName Name of vmAgent external label used to denote vmAgent instance + name. Defaults to the value of `prometheus`. External label will + _not_ be added when value is set to empty string (`""`). type: string volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output deploy definition. VolumeMounts specified will be - appended to other VolumeMounts in the vmagent container, that are - generated as a result of StorageSpec objects. + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output deploy definition. + VolumeMounts specified will be appended to other VolumeMounts in the vmagent container, + that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume should - be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated - from the host to container and the other way around. When - not set, MountPropagationNone is used. This field is beta - in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which the - container's volume should be mounted. Behaves similarly to - SubPath but environment variable references $(VAR_NAME) are - expanded using the container's environment. Defaults to "" - (volume's root). SubPathExpr and SubPath are mutually exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -3263,9 +3409,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes on - the output deploy definition. Volumes specified will be appended - to other volumes that are generated as a result of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output deploy definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. @@ -3279,8 +3426,9 @@ spec: description: VMAgentStatus defines the observed state of VMAgent properties: availableReplicas: - description: AvailableReplicas Total number of available pods (ready - for at least minReadySeconds) targeted by this VMAlert cluster. + description: |- + AvailableReplicas Total number of available pods (ready for at least minReadySeconds) + targeted by this VMAlert cluster. format: int32 type: integer replicas: @@ -3301,8 +3449,9 @@ spec: format: int32 type: integer updatedReplicas: - description: UpdatedReplicas Total number of non-terminated pods targeted - by this VMAgent cluster that have the desired version spec. + description: |- + UpdatedReplicas Total number of non-terminated pods targeted by this VMAgent + cluster that have the desired version spec. format: int32 type: integer required: diff --git a/config/crd/bases/operator.victoriametrics.com_vmalertmanagerconfigs.yaml b/config/crd/bases/operator.victoriametrics.com_vmalertmanagerconfigs.yaml index 10cf4de31..74520762f 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmalertmanagerconfigs.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmalertmanagerconfigs.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmalertmanagerconfigs.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -20,14 +20,19 @@ spec: API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -37,36 +42,43 @@ spec: '-': type: string inhibit_rules: - description: InhibitRules will only apply for alerts matching the - resource's namespace. + description: |- + InhibitRules will only apply for alerts matching + the resource's namespace. items: - description: InhibitRule defines an inhibition rule that allows - to mute alerts when other alerts are already firing. Note, it - doesn't support deprecated alertmanager config options. See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule + description: |- + InhibitRule defines an inhibition rule that allows to mute alerts when other + alerts are already firing. + Note, it doesn't support deprecated alertmanager config options. + See https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule properties: equal: - description: Labels that must have an equal value in the source - and target alert for the inhibition to take effect. + description: |- + Labels that must have an equal value in the source and target alert for + the inhibition to take effect. items: type: string type: array source_matchers: - description: SourceMatchers defines a list of matchers for which - one or more alerts have to exist for the inhibition to take - effect. + description: |- + SourceMatchers defines a list of matchers for which one or more alerts have + to exist for the inhibition to take effect. items: type: string type: array target_matchers: - description: TargetMatchers defines a list of matchers that - have to be fulfilled by the target alerts to be muted. + description: |- + TargetMatchers defines a list of matchers that have to be fulfilled by the target + alerts to be muted. items: type: string type: array type: object type: array mute_time_intervals: - description: MuteTimeInterval - global mute time See https://prometheus.io/docs/alerting/latest/configuration/#mute_time_interval + description: |- + MuteTimeInterval - global mute time + See https://prometheus.io/docs/alerting/latest/configuration/#mute_time_interval items: description: MuteTimeInterval for alerts properties: @@ -79,9 +91,9 @@ spec: description: TimeInterval defines intervals of time properties: days_of_month: - description: DayOfMonth defines list of numerical days - in the month. Days begin at 1. Negative values are also - accepted. for example, ['1:5', '-3:-1'] + description: |- + DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted. + for example, ['1:5', '-3:-1'] items: type: string type: array @@ -90,9 +102,9 @@ spec: UTC type: string months: - description: Months defines list of calendar months identified - by a case-insentive name (e.g. ‘January’) or numeric - 1. For example, ['1:3', 'may:august', 'december'] + description: |- + Months defines list of calendar months identified by a case-insentive name (e.g. ‘January’) or numeric 1. + For example, ['1:3', 'may:august', 'december'] items: type: string type: array @@ -120,8 +132,9 @@ spec: type: string type: array years: - description: Years defines numerical list of years, ranges - are accepted. For example, ['2020:2022', '2030'] + description: |- + Years defines numerical list of years, ranges are accepted. + For example, ['2020:2022', '2030'] items: type: string type: array @@ -132,8 +145,9 @@ spec: type: object type: array receivers: - description: Receivers defines alert receivers. without defined Route, - receivers will be skipped. + description: |- + Receivers defines alert receivers. + without defined Route, receivers will be skipped. items: description: Receiver defines one or more notification integrations. properties: @@ -144,12 +158,14 @@ spec: description: HTTP client configuration. properties: basic_auth: - description: TODO oAuth2 support BasicAuth for the - client. + description: |- + TODO oAuth2 support + BasicAuth for the client. properties: password: - description: The secret in the service scrape - namespace that contains the password for authentication. + 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: @@ -157,10 +173,10 @@ spec: 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?' + 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 @@ -175,8 +191,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape - namespace that contains the username for authentication. + 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: @@ -184,10 +201,10 @@ spec: 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?' + 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 @@ -203,18 +220,19 @@ spec: 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 + 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?' + 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 @@ -242,10 +260,10 @@ spec: 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?' + 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 @@ -265,10 +283,10 @@ spec: 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?' + 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 @@ -295,10 +313,10 @@ spec: 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?' + 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 @@ -318,10 +336,10 @@ spec: 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?' + 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 @@ -352,10 +370,10 @@ spec: 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?' + 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 @@ -382,12 +400,14 @@ spec: description: The message title template type: string webhook_url: - description: The discord webhook URL one of `urlSecret` - and `url` must be defined. + 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. + 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: @@ -395,9 +415,10 @@ spec: 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?' + 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 @@ -426,9 +447,10 @@ spec: 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?' + 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 @@ -439,17 +461,19 @@ spec: 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. + 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?' + 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 @@ -468,9 +492,9 @@ spec: headers: additionalProperties: type: string - description: Further headers email header key/value pairs. - Overrides any headers previously set by the notification - implementation. + 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. @@ -479,8 +503,9 @@ spec: 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. + 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 @@ -507,10 +532,10 @@ spec: 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?' + 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 @@ -529,10 +554,10 @@ spec: 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?' + 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 @@ -559,10 +584,10 @@ spec: 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?' + 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 @@ -581,10 +606,10 @@ spec: 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?' + 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 @@ -615,10 +640,10 @@ spec: 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?' + 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 @@ -644,12 +669,14 @@ spec: description: HTTP client configuration. properties: basic_auth: - description: TODO oAuth2 support BasicAuth for the - client. + description: |- + TODO oAuth2 support + BasicAuth for the client. properties: password: - description: The secret in the service scrape - namespace that contains the password for authentication. + 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: @@ -657,10 +684,10 @@ spec: 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?' + 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 @@ -675,8 +702,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape - namespace that contains the username for authentication. + 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: @@ -684,10 +712,10 @@ spec: 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?' + 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 @@ -703,18 +731,19 @@ spec: 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 + 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?' + 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 @@ -742,10 +771,10 @@ spec: 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?' + 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 @@ -765,10 +794,10 @@ spec: 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?' + 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 @@ -795,10 +824,10 @@ spec: 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?' + 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 @@ -818,10 +847,10 @@ spec: 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?' + 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 @@ -852,10 +881,10 @@ spec: 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?' + 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 @@ -882,12 +911,14 @@ spec: description: The title of the teams notification. type: string webhook_url: - description: The incoming webhook URL one of `urlSecret` - and `url` must be defined. + 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. + 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: @@ -895,9 +926,10 @@ spec: 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?' + 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 @@ -918,7 +950,8 @@ spec: description: OpsGenieConfigs defines ops genie notification configurations. items: - description: OpsGenieConfig configures notifications via OpsGenie. + description: |- + OpsGenieConfig configures notifications via OpsGenie. See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config properties: actions: @@ -926,17 +959,19 @@ spec: 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 + 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?' + 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 @@ -979,9 +1014,9 @@ spec: 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. + 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. @@ -1012,10 +1047,9 @@ spec: 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. + 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 @@ -1023,8 +1057,9 @@ spec: description: PagerDutyConfigs defines pager duty notification configurations. items: - description: PagerDutyConfig configures notifications via - PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config + 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. @@ -1058,8 +1093,9 @@ spec: 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 + 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: @@ -1075,8 +1111,9 @@ spec: 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 + 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: @@ -1088,19 +1125,20 @@ spec: 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 + 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?' + 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 @@ -1115,9 +1153,10 @@ spec: 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. + 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: @@ -1125,9 +1164,10 @@ spec: 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?' + 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 @@ -1149,13 +1189,14 @@ spec: description: PushoverConfigs defines push over notification configurations. items: - description: PushoverConfig configures notifications via Pushover. + 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. + 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 @@ -1172,9 +1213,9 @@ spec: 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. + 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 @@ -1189,8 +1230,8 @@ spec: description: Notification title. type: string token: - description: The secret's key that contains the registered - application’s API token, see https://pushover.net/apps. + 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: @@ -1198,9 +1239,10 @@ spec: 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?' + 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 @@ -1218,18 +1260,19 @@ spec: 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 + 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?' + 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 @@ -1244,23 +1287,26 @@ spec: slack_configs: description: SlackConfigs defines slack notification configurations. items: - description: SlackConfig configures notifications via Slack. + 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. + 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 + 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: @@ -1295,17 +1341,19 @@ spec: 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 + 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?' + 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 @@ -1329,9 +1377,9 @@ spec: 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. + 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 @@ -1399,12 +1447,14 @@ spec: description: HTTP client configuration. properties: basic_auth: - description: TODO oAuth2 support BasicAuth for the - client. + description: |- + TODO oAuth2 support + BasicAuth for the client. properties: password: - description: The secret in the service scrape - namespace that contains the password for authentication. + 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: @@ -1412,10 +1462,10 @@ spec: 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?' + 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 @@ -1430,8 +1480,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape - namespace that contains the username for authentication. + 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: @@ -1439,10 +1490,10 @@ spec: 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?' + 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 @@ -1458,18 +1509,19 @@ spec: 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 + 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?' + 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 @@ -1497,10 +1549,10 @@ spec: 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?' + 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 @@ -1520,10 +1572,10 @@ spec: 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?' + 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 @@ -1550,10 +1602,10 @@ spec: 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?' + 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 @@ -1573,10 +1625,10 @@ spec: 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?' + 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 @@ -1607,10 +1659,10 @@ spec: 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?' + 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 @@ -1630,8 +1682,9 @@ spec: 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 + 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 @@ -1642,10 +1695,9 @@ spec: 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. + 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 @@ -1656,10 +1708,10 @@ spec: 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?' + 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 @@ -1689,10 +1741,10 @@ spec: 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?' + 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 @@ -1708,9 +1760,9 @@ spec: to an email endpoint. type: string target_arn: - description: Mobile platform endpoint ARN if message is - delivered via mobile notifications Specify this, topic_arn - or phone_number + 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 @@ -1725,16 +1777,19 @@ spec: 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 + 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?' + 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 @@ -1759,9 +1814,9 @@ spec: 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. + 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 @@ -1776,22 +1831,24 @@ spec: description: VictorOpsConfigs defines victor ops notification configurations. items: - description: VictorOpsConfig configures notifications via - VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config + 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 + 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?' + 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 @@ -1807,7 +1864,9 @@ spec: custom_fields: additionalProperties: type: string - description: Adds optional custom fields https://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537 + 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. @@ -1816,12 +1875,14 @@ spec: description: The HTTP client's configuration. properties: basic_auth: - description: TODO oAuth2 support BasicAuth for the - client. + description: |- + TODO oAuth2 support + BasicAuth for the client. properties: password: - description: The secret in the service scrape - namespace that contains the password for authentication. + 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: @@ -1829,10 +1890,10 @@ spec: 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?' + 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 @@ -1847,8 +1908,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape - namespace that contains the username for authentication. + 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: @@ -1856,10 +1918,10 @@ spec: 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?' + 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 @@ -1875,18 +1937,19 @@ spec: 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 + 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?' + 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 @@ -1914,10 +1977,10 @@ spec: 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?' + 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 @@ -1937,10 +2000,10 @@ spec: 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?' + 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 @@ -1967,10 +2030,10 @@ spec: 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?' + 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 @@ -1990,10 +2053,10 @@ spec: 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?' + 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 @@ -2024,10 +2087,10 @@ spec: 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?' + 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 @@ -2076,12 +2139,14 @@ spec: HTTP `Authorization` header. properties: basic_auth: - description: TODO oAuth2 support BasicAuth for the - client. + description: |- + TODO oAuth2 support + BasicAuth for the client. properties: password: - description: The secret in the service scrape - namespace that contains the password for authentication. + 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: @@ -2089,10 +2154,10 @@ spec: 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?' + 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 @@ -2107,8 +2172,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape - namespace that contains the username for authentication. + 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: @@ -2116,10 +2182,10 @@ spec: 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?' + 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 @@ -2135,18 +2201,19 @@ spec: 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 + 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?' + 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 @@ -2174,10 +2241,10 @@ spec: 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?' + 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 @@ -2197,10 +2264,10 @@ spec: 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?' + 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 @@ -2227,10 +2294,10 @@ spec: 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?' + 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 @@ -2250,10 +2317,10 @@ spec: 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?' + 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 @@ -2284,10 +2351,10 @@ spec: 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?' + 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 @@ -2319,8 +2386,9 @@ spec: webhook_configs: description: WebhookConfigs defines webhook notification configurations. items: - description: WebhookConfig configures notifications via a - generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config + description: |- + WebhookConfig configures notifications via a generic receiver supporting the webhook payload. + See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config properties: http_config: description: HTTP client configuration. @@ -2337,12 +2405,14 @@ spec: alerts. type: boolean url: - description: URL to send requests to, one of `urlSecret` - and `url` must be defined. + description: |- + URL to send requests to, + one of `urlSecret` and `url` must be defined. type: string url_secret: - description: URLSecret defines secret name and key at - the CRD namespace. It must contain the webhook URL. + 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: @@ -2350,9 +2420,10 @@ spec: 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?' + 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 @@ -2367,25 +2438,27 @@ spec: wechat_configs: description: WeChatConfigs defines wechat notification configurations. items: - description: WeChatConfig configures notifications via WeChat. + description: |- + WeChatConfig configures notifications via WeChat. See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config properties: agent_id: type: string api_secret: - description: The secret's key that contains the WeChat - API key. The secret needs to be in the same namespace - as the AlertmanagerConfig object and accessible by the - Prometheus Operator. + description: |- + The secret's key that contains the WeChat API key. + The secret needs to be in the same namespace as the AlertmanagerConfig + object and accessible by the Prometheus Operator. 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?' + 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 @@ -2405,12 +2478,14 @@ spec: description: HTTP client configuration. properties: basic_auth: - description: TODO oAuth2 support BasicAuth for the - client. + description: |- + TODO oAuth2 support + BasicAuth for the client. properties: password: - description: The secret in the service scrape - namespace that contains the password for authentication. + 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: @@ -2418,10 +2493,10 @@ spec: 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?' + 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 @@ -2436,8 +2511,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape - namespace that contains the username for authentication. + 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: @@ -2445,10 +2521,10 @@ spec: 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?' + 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 @@ -2464,18 +2540,19 @@ spec: 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 + 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?' + 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 @@ -2503,10 +2580,10 @@ spec: 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?' + 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 @@ -2526,10 +2603,10 @@ spec: 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?' + 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 @@ -2556,10 +2633,10 @@ spec: 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?' + 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 @@ -2579,10 +2656,10 @@ spec: 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?' + 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 @@ -2613,10 +2690,10 @@ spec: 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?' + 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 @@ -2659,16 +2736,16 @@ spec: routes. properties: active_time_intervals: - description: ActiveTimeIntervals Times when the route should be - active These must match the name at time_intervals + description: |- + ActiveTimeIntervals Times when the route should be active + These must match the name at time_intervals items: type: string type: array continue: - description: Continue indicating whether an alert should continue - matching subsequent sibling nodes. It will always be true for - the first-level route if disableRouteContinueEnforce for vmalertmanager - not set. + description: |- + Continue indicating whether an alert should continue matching subsequent + sibling nodes. It will always be true for the first-level route if disableRouteContinueEnforce for vmalertmanager not set. type: boolean group_by: description: List of labels to group by. @@ -2684,9 +2761,10 @@ spec: pattern: '[0-9]+(ms|s|m|h)' type: string matchers: - description: 'List of matchers that the alert’s labels should - match. For the first level route, the operator adds a namespace: - "CRD_NS" matcher. https://prometheus.io/docs/alerting/latest/configuration/#matcher' + description: |- + List of matchers that the alert’s labels should match. For the first + level route, the operator adds a namespace: "CRD_NS" matcher. + https://prometheus.io/docs/alerting/latest/configuration/#matcher items: type: string type: array @@ -2703,7 +2781,9 @@ spec: pattern: '[0-9]+(ms|s|m|h)' type: string routes: - description: Child routes. https://prometheus.io/docs/alerting/latest/configuration/#route + description: |- + Child routes. + https://prometheus.io/docs/alerting/latest/configuration/#route items: x-kubernetes-preserve-unknown-fields: true type: array @@ -2711,9 +2791,9 @@ spec: - receiver type: object time_intervals: - description: ParsingError contents error with context if operator - was failed to parse json object from kubernetes api server TimeIntervals - modern config option, use it instead of mute_time_intervals + description: |- + ParsingError contents error with context if operator was failed to parse json object from kubernetes api server + TimeIntervals modern config option, use it instead of mute_time_intervals items: description: MuteTimeInterval for alerts properties: @@ -2726,9 +2806,9 @@ spec: description: TimeInterval defines intervals of time properties: days_of_month: - description: DayOfMonth defines list of numerical days - in the month. Days begin at 1. Negative values are also - accepted. for example, ['1:5', '-3:-1'] + description: |- + DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted. + for example, ['1:5', '-3:-1'] items: type: string type: array @@ -2737,9 +2817,9 @@ spec: UTC type: string months: - description: Months defines list of calendar months identified - by a case-insentive name (e.g. ‘January’) or numeric - 1. For example, ['1:3', 'may:august', 'december'] + description: |- + Months defines list of calendar months identified by a case-insentive name (e.g. ‘January’) or numeric 1. + For example, ['1:3', 'may:august', 'december'] items: type: string type: array @@ -2767,8 +2847,9 @@ spec: type: string type: array years: - description: Years defines numerical list of years, ranges - are accepted. For example, ['2020:2022', '2030'] + description: |- + Years defines numerical list of years, ranges are accepted. + For example, ['2020:2022', '2030'] items: type: string type: array diff --git a/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml b/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml index 64bc85974..f6819db13 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmalertmanagers.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmalertmanagers.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -33,20 +33,26 @@ spec: description: VMAlertmanager represents Victoria-Metrics deployment for Alertmanager. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: - description: 'Specification of the desired behavior of the VMAlertmanager - cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' + description: |- + Specification of the desired behavior of the VMAlertmanager cluster. More info: + https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: '-': description: ParsingError contents error with context if operator @@ -70,46 +76,53 @@ spec: to a persistent volume properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource - this object represents. Servers may infer this from the endpoint - the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: |- + Standard object's metadata. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata type: object x-kubernetes-preserve-unknown-fields: true spec: - description: 'spec defines the desired characteristics of a - volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + spec defines the desired characteristics of a volume requested by a pod author. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the desired access modes - the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify either: + description: |- + dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified data - source, it will create a new volume based on the contents - of the specified data source. If the AnyVolumeDataSource - feature gate is enabled, this field will always have the - same contents as the DataSourceRef field.' + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, the - specified Kind must be in the core API group. For - any other third-party types, APIGroup is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -123,33 +136,30 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from which - to populate the volume with data, if a non-empty volume - is desired. This may be any local object from a non-empty - API group (non core object) or a PersistentVolumeClaim - object. When this field is specified, volume binding will - only succeed if the type of the specified object matches - some installed volume populator or dynamic provisioner. - This field will replace the functionality of the DataSource - field and as such if both fields are non-empty, they must - have the same value. For backwards compatibility, both - fields (DataSource and DataSourceRef) will be set to the - same value automatically if one of them is empty and the - other is non-empty. There are two important differences - between DataSource and DataSourceRef: * While DataSource - only allows two specific types of objects, DataSourceRef - allows any non-core object, as well as PersistentVolumeClaim - objects. * While DataSource ignores disallowed values - (dropping them), DataSourceRef preserves all values, and - generates an error if a disallowed value is specified. - (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, the - specified Kind must be in the core API group. For - any other third-party types, APIGroup is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -163,12 +173,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify resource - requirements that are lower than previous value but must - still be higher than capacity recorded in the status field - of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -177,8 +187,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of - compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -187,11 +198,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -202,8 +213,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -211,17 +222,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -233,22 +243,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not - included in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to the @@ -256,12 +266,15 @@ spec: type: string type: object status: - description: 'status represents the current information/status - of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + status represents the current information/status of a persistent volume claim. + Read-only. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the actual access modes the volume backing the PVC has. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array @@ -272,18 +285,15 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity when - a volume expansion operation is requested. For storage - quota, the larger value from allocatedResources and PVC.spec.resources - is used. If allocatedResources is not set, PVC.spec.resources - alone is used for quota calculation. If a volume expansion - capacity request is lowered, allocatedResources is only - lowered if there are no expansion operations in progress - and if the actual volume capacity is equal or lower than - the requested capacity. This is an alpha field and requires - enabling RecoverVolumeExpansionFailure feature. + description: |- + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may + be larger than the actual capacity when a volume expansion operation is requested. + For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + If a volume expansion capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress and if the actual volume capacity + is equal or lower than the requested capacity. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: object capacity: additionalProperties: @@ -296,8 +306,8 @@ spec: the underlying volume. type: object conditions: - description: conditions is the current Condition of persistent - volume claim. If underlying persistent volume is being + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. items: description: PersistentVolumeClaimCondition contails details @@ -318,10 +328,9 @@ spec: indicating details about last transition. type: string reason: - description: reason is a unique, this should be a - short, machine understandable string that gives - the reason for condition's last transition. If it - reports "ResizeStarted" that means the underlying + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized. type: string status: @@ -339,56 +348,59 @@ spec: description: phase represents the current phase of PersistentVolumeClaim. type: string resizeStatus: - description: resizeStatus stores status of resize operation. - ResizeStatus is not set by default but when expansion - is complete resizeStatus is set to empty string by resize - controller or kubelet. This is an alpha field and requires - enabling RecoverVolumeExpansionFailure feature. + description: |- + resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty + string by resize controller or kubelet. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: string type: object type: object type: array clusterAdvertiseAddress: - description: 'ClusterAdvertiseAddress is the explicit address to advertise - in cluster. Needs to be provided for non RFC1918 [1] (public) addresses. - [1] RFC1918: https://tools.ietf.org/html/rfc1918' + description: |- + ClusterAdvertiseAddress is the explicit address to advertise in cluster. + Needs to be provided for non RFC1918 [1] (public) addresses. + [1] RFC1918: https://tools.ietf.org/html/rfc1918 type: string configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the VMAlertmanager object, which shall be mounted into the VMAlertmanager - Pods. The ConfigMaps are mounted into /etc/vm/configs/. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the VMAlertmanager + object, which shall be mounted into the VMAlertmanager Pods. + The ConfigMaps are mounted into /etc/vm/configs/. items: type: string type: array configNamespaceSelector: - description: ConfigNamespaceSelector defines namespace selector for - VMAlertmanagerConfig. Works in combination with Selector. NamespaceSelector - nil - only objects at VMAlertmanager namespace. Selector nil - only - objects at NamespaceSelector namespaces. If both nil - behaviour - controlled by selectAllByDefault + description: |2- + ConfigNamespaceSelector defines namespace selector for VMAlertmanagerConfig. + Works in combination with Selector. + NamespaceSelector nil - only objects at VMAlertmanager namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -401,57 +413,58 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic configRawYaml: - description: ConfigRawYaml - raw configuration for alertmanager, it - helps it to start without secret. priority -> hardcoded ConfigRaw - -> ConfigRaw, provided by user -> ConfigSecret. + description: |- + ConfigRawYaml - raw configuration for alertmanager, + it helps it to start without secret. + priority -> hardcoded ConfigRaw -> ConfigRaw, provided by user -> ConfigSecret. type: string configSecret: - description: 'ConfigSecret is the name of a Kubernetes Secret in the - same namespace as the VMAlertmanager object, which contains configuration - for this VMAlertmanager, configuration must be inside secret key: - alertmanager.yaml. It must be created by user. instance. Defaults - to ''vmalertmanager-'' The secret is mounted - into /etc/alertmanager/config.' + description: |- + ConfigSecret is the name of a Kubernetes Secret in the same namespace as the + VMAlertmanager object, which contains configuration for this VMAlertmanager, + configuration must be inside secret key: alertmanager.yaml. + It must be created by user. + instance. Defaults to 'vmalertmanager-' + The secret is mounted into /etc/alertmanager/config. type: string configSelector: - description: ConfigSelector defines selector for VMAlertmanagerConfig, - result config will be merged with with Raw or Secret config. Works - in combination with NamespaceSelector. NamespaceSelector nil - only - objects at VMAlertmanager namespace. Selector nil - only objects - at NamespaceSelector namespaces. If both nil - behaviour controlled - by selectAllByDefault + description: |- + ConfigSelector defines selector for VMAlertmanagerConfig, result config will be merged with with Raw or Secret config. + Works in combination with NamespaceSelector. + NamespaceSelector nil - only objects at VMAlertmanager namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -464,18 +477,17 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic containers: - description: Containers allows injecting additional containers or - patching existing containers. This is meant to allow adding an authentication - proxy to an VMAlertmanager pod. + description: |- + Containers allows injecting additional containers or patching existing containers. + This is meant to allow adding an authentication proxy to an VMAlertmanager pod. items: description: A single application container that you want to run within a pod. @@ -485,31 +497,34 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array disableNamespaceMatcher: - description: DisableNamespaceMatcher disables namespace label matcher - for VMAlertmanagerConfig It may be useful if alert doesn't have - namespace label for some reason + description: |- + DisableNamespaceMatcher disables namespace label matcher for VMAlertmanagerConfig + It may be useful if alert doesn't have namespace label for some reason type: boolean disableRouteContinueEnforce: description: DisableRouteContinueEnforce cancel the behavior for VMAlertmanagerConfig that always enforce first-level route continue to true type: boolean dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters specified - here will be merged to the generated DNS configuration based on - DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This will - be appended to the base nameservers generated from DNSPolicy. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be merged - with the base options generated from DNSPolicy. Duplicated entries - will be removed. Resolution options given in Options will override - those that appear in the base DNSPolicy. + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options + will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options of a pod. @@ -522,9 +537,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated from - DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -535,15 +551,17 @@ spec: description: DNSPolicy sets DNS policy for the pod type: string externalURL: - description: ExternalURL the VMAlertmanager instances will be available - under. This is necessary to generate correct URLs. This is necessary - if VMAlertmanager is not served from root of a DNS name. + description: |- + ExternalURL the VMAlertmanager instances will be available under. This is + necessary to generate correct URLs. This is necessary if VMAlertmanager is not + served from root of a DNS name. type: string extraArgs: additionalProperties: type: string - description: 'ExtraArgs that will be passed to VMAlertmanager pod - for example log.level: debug' + description: |- + ExtraArgs that will be passed to VMAlertmanager pod + for example log.level: debug type: object extraEnvs: description: ExtraEnvs that will be added to VMAlertmanager pod @@ -555,15 +573,16 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using - the previously defined environment variables in the container - and any service environment variables. If a variable cannot - be resolved, the reference in the input string will be unchanged. - Double $$ are reduced to a single $, which allows for escaping - the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the - string literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists or - not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -575,8 +594,9 @@ spec: network namespace type: boolean image: - description: Image - docker image settings for VMAlertmanager if no - specified operator uses default config version + description: |- + Image - docker image settings for VMAlertmanager + if no specified operator uses default config version properties: pullPolicy: description: PullPolicy describes how to pull docker image @@ -590,30 +610,32 @@ spec: type: string type: object imagePullSecrets: - description: ImagePullSecrets An optional list of references to secrets - in the same namespace to use for pulling images from registries + description: |- + ImagePullSecrets An optional list of references to secrets in the same namespace + to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. properties: 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?' + 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 type: object x-kubernetes-map-type: atomic type: array initContainers: - description: 'InitContainers allows adding initContainers to the pod - definition. Those can be used to e.g. fetch secrets for injection - into the VMAlertmanager configuration from external sources. Any - errors during the execution of an initContainer will lead to a restart - of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at any - time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the VMAlertmanager configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -623,9 +645,10 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array listenLocal: - description: ListenLocal makes the VMAlertmanager server listen on - loopback, so that it does not bind against the Pod IP. Note this - is only for the VMAlertmanager UI, not the gossip communication. + description: |- + ListenLocal makes the VMAlertmanager server listen on loopback, so that it + does not bind against the Pod IP. Note this is only for the VMAlertmanager + UI, not the gossip communication. type: boolean livenessProbe: description: LivenessProbe that will be added CRD pod @@ -638,8 +661,9 @@ spec: 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 + 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: @@ -649,9 +673,9 @@ spec: on. type: object paused: - description: Paused If set to true all actions on the underlaying - managed objects are not goint to be performed, except for delete - actions. + description: |- + Paused If set to true all actions on the underlaying managed objects are not + goint to be performed, except for delete actions. type: boolean podDisruptionBudget: description: PodDisruptionBudget created by operator @@ -660,26 +684,27 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one can - prevent all voluntary evictions by specifying 0. This is a mutually - exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after the - eviction, i.e. even in the absence of the evicted pod. So for - example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: string - description: replaces default labels selector generated by operator + description: |- + replaces default labels selector generated by operator it's useful when you need to create custom budget type: object type: object @@ -690,34 +715,40 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object podSecurityPolicyName: - description: PodSecurityPolicyName - defines name for podSecurityPolicy + description: |- + PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used. type: string portName: - description: PortName used for the pods and governing service. This - defaults to web + description: |- + PortName used for the pods and governing service. + This defaults to web type: string priorityClassName: description: PriorityClassName class assigned to the Pods @@ -740,14 +771,16 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true replicaCount: - description: ReplicaCount Size is the expected size of the alertmanager - cluster. The controller will eventually make the size of the running - cluster equal to the expected + description: |- + ReplicaCount Size is the expected size of the alertmanager cluster. The controller will + eventually make the size of the running cluster equal to the expected format: int32 minimum: 1 type: integer resources: - description: Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + description: |- + Resources container resource request and limits, + https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ properties: limits: additionalProperties: @@ -756,8 +789,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -766,61 +800,67 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object retention: - description: Retention Time duration VMAlertmanager shall retain data - for. Default is '120h', and must match the regular expression `[0-9]+(ms|s|m|h)` - (milliseconds seconds minutes hours). + description: |- + Retention Time duration VMAlertmanager shall retain data for. Default is '120h', + and must match the regular expression `[0-9]+(ms|s|m|h)` (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. + 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 - process Can be changed for RollingUpdate + description: |- + RollingUpdateStrategy defines strategy for application updates + Default is OnDelete, in this case operator handles update process + Can be changed for RollingUpdate type: string routePrefix: - description: RoutePrefix VMAlertmanager registers HTTP handlers for. - This is useful, if using ExternalURL and a proxy is rewriting HTTP - routes of a request, and the actual ExternalURL is still true, but - the server serves requests under a different route prefix. For example - for use with `kubectl proxy`. + description: |- + RoutePrefix VMAlertmanager registers HTTP handlers for. This is useful, + if using ExternalURL and a proxy is rewriting HTTP routes of a request, + and the actual ExternalURL is still true, but the server serves requests + under a different route prefix. For example for use with `kubectl proxy`. type: string runtimeClassName: - description: RuntimeClassName - defines runtime class for kubernetes - pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name type: string secrets: - description: Secrets is a list of Secrets in the same namespace as - the VMAlertmanager object, which shall be mounted into the VMAlertmanager - Pods. The Secrets are mounted into /etc/vm/secrets/ + description: |- + Secrets is a list of Secrets in the same namespace as the VMAlertmanager + object, which shall be mounted into the VMAlertmanager Pods. + The Secrets are mounted into /etc/vm/secrets/ items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes and - common container settings. This defaults to the default PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: 'SelectAllByDefault changes default behavior for empty - CRD selectors, such ConfigSelector. with selectAllByDefault: true - and undefined ConfigSelector and ConfigNamespaceSelector Operator - selects all exist alertManagerConfigs with selectAllByDefault: false - - selects nothing' + description: |- + SelectAllByDefault changes default behavior for empty CRD selectors, such ConfigSelector. + with selectAllByDefault: true and undefined ConfigSelector and ConfigNamespaceSelector + Operator selects all exist alertManagerConfigs + with selectAllByDefault: false - selects nothing type: boolean serviceAccountName: description: ServiceAccountName is the name of the ServiceAccount @@ -844,32 +884,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a user - creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: @@ -880,36 +923,38 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true storage: - description: Storage is the definition of how storage will be used - by the VMAlertmanager instances. + description: |- + Storage is the definition of how storage will be used by the VMAlertmanager + instances. properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be disabled by default - in a future release, this option will become unnecessary. DisableMountSubPath - allows to remove any subPath usage in volume mounts.' + description: |- + Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. + DisableMountSubPath allows to remove any subPath usage in volume mounts. type: boolean emptyDir: - description: 'EmptyDirVolumeSource to be used by the Prometheus - StatefulSets. If specified, used in place of any volumeClaimTemplate. - More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' + description: |- + EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More + info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: medium: - description: 'medium represents what type of storage medium - should back this directory. The default is "" which means - to use the node''s default medium. Must be an empty string - (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' + description: |- + medium represents what type of storage medium should back this directory. + The default is "" which means to use the node's default medium. + Must be an empty string (default) or Memory. + More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir type: string sizeLimit: anyOf: - type: integer - type: string - description: 'sizeLimit is the total amount of local storage - required for this EmptyDir volume. The size limit is also - applicable for memory medium. The maximum usage on memory - medium EmptyDir would be the minimum value between the SizeLimit - specified here and the sum of memory limits of all containers - in a pod. The default is nil which means that the limit - is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir' + description: |- + sizeLimit is the total amount of local storage required for this EmptyDir volume. + The size limit is also applicable for memory medium. + The maximum usage on memory medium EmptyDir would be the minimum value between + the SizeLimit specified here and the sum of memory limits of all containers in a pod. + The default is nil which means that the limit is undefined. + More info: http://kubernetes.io/docs/user-guide/volumes#emptydir pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -917,16 +962,19 @@ spec: description: A PVC spec to be used by the VMAlertManager StatefulSets. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this - representation of an object. Servers should convert recognized - schemas to the latest internal value, and may reject unrecognized - values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: description: EmbeddedMetadata contains metadata relevant to @@ -935,53 +983,57 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value - map stored with a resource that may be set by external - tools to store and retrieve arbitrary metadata. They - are not queryable and should be preserved when modifying - objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that - can be used to organize and categorize (scope and select) - objects. May match selectors of replication controllers - and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. - Is required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be - updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'Spec defines the desired characteristics of - a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + Spec defines the desired characteristics of a volume requested by a pod author. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified - data source, it will create a new volume based on the - contents of the specified data source. If the AnyVolumeDataSource - feature gate is enabled, this field will always have - the same contents as the DataSourceRef field.' + description: |- + dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -996,32 +1048,29 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from - which to populate the volume with data, if a non-empty - volume is desired. This may be any local object from - a non-empty API group (non core object) or a PersistentVolumeClaim - object. When this field is specified, volume binding - will only succeed if the type of the specified object - matches some installed volume populator or dynamic provisioner. - This field will replace the functionality of the DataSource - field and as such if both fields are non-empty, they - must have the same value. For backwards compatibility, - both fields (DataSource and DataSourceRef) will be set - to the same value automatically if one of them is empty - and the other is non-empty. There are two important - differences between DataSource and DataSourceRef: * - While DataSource only allows two specific types of objects, - DataSourceRef allows any non-core object, as well as - PersistentVolumeClaim objects. * While DataSource ignores - disallowed values (dropping them), DataSourceRef preserves - all values, and generates an error if a disallowed value - is specified. (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -1036,12 +1085,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify resource - requirements that are lower than previous value but - must still be higher than capacity recorded in the status - field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -1050,8 +1099,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -1060,11 +1110,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is omitted - for a container, it defaults to Limits if that is - explicitly specified, otherwise to an implementation-defined - value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -1075,8 +1125,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -1084,17 +1134,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -1106,22 +1155,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume is - required by the claim. Value of Filesystem is implied - when not included in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to the @@ -1129,12 +1178,15 @@ spec: type: string type: object status: - description: 'Status represents the current information/status - of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + Status represents the current information/status of a persistent volume claim. + Read-only. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the actual access modes - the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the actual access modes the volume backing the PVC has. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array @@ -1145,19 +1197,15 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity - when a volume expansion operation is requested. For - storage quota, the larger value from allocatedResources - and PVC.spec.resources is used. If allocatedResources - is not set, PVC.spec.resources alone is used for quota - calculation. If a volume expansion capacity request - is lowered, allocatedResources is only lowered if there - are no expansion operations in progress and if the actual - volume capacity is equal or lower than the requested - capacity. This is an alpha field and requires enabling - RecoverVolumeExpansionFailure feature. + description: |- + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may + be larger than the actual capacity when a volume expansion operation is requested. + For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + If a volume expansion capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress and if the actual volume capacity + is equal or lower than the requested capacity. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: object capacity: additionalProperties: @@ -1170,8 +1218,8 @@ spec: of the underlying volume. type: object conditions: - description: conditions is the current Condition of persistent - volume claim. If underlying persistent volume is being + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. items: description: PersistentVolumeClaimCondition contails @@ -1192,10 +1240,9 @@ spec: indicating details about last transition. type: string reason: - description: reason is a unique, this should be - a short, machine understandable string that gives - the reason for condition's last transition. If - it reports "ResizeStarted" that means the underlying + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized. type: string status: @@ -1213,20 +1260,20 @@ spec: description: phase represents the current phase of PersistentVolumeClaim. type: string resizeStatus: - description: resizeStatus stores status of resize operation. - ResizeStatus is not set by default but when expansion - is complete resizeStatus is set to empty string by resize - controller or kubelet. This is an alpha field and requires - enabling RecoverVolumeExpansionFailure feature. + description: |- + resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty + string by resize controller or kubelet. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: string type: object type: object type: object templates: - description: Templates is a list of ConfigMap key references for ConfigMaps - in the same namespace as the VMAlertmanager object, which shall - be mounted into the VMAlertmanager Pods. The Templates are mounted - into /etc/vm/templates//. + description: |- + Templates is a list of ConfigMap key references for ConfigMaps in the same namespace as the VMAlertmanager + object, which shall be mounted into the VMAlertmanager Pods. + The Templates are mounted into /etc/vm/templates//. items: description: ConfigMapKeyReference refers to a key in a ConfigMap. properties: @@ -1234,8 +1281,10 @@ spec: description: The ConfigMap key to refer to. 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?' + 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 required: - key @@ -1250,46 +1299,46 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match all - values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to the - value. Valid operators are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, so that a pod - can tolerate all taints of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of time - the toleration (which must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. By default, it - is not set, which means tolerate the taint forever (do not - evict). Zero and negative values will be treated as 0 (evict - immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod configuration - option, controls how pods are spread across your cluster among failure-domains + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: @@ -1303,46 +1352,52 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array useStrictSecurity: - description: UseStrictSecurity enables strict security mode for component - it restricts disk writes access uses non-root user out of the box + description: |- + UseStrictSecurity enables strict security mode for component + it restricts disk writes access + uses non-root user out of the box drops not needed security permissions type: boolean volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output StatefulSet definition. VolumeMounts specified will - be appended to other VolumeMounts in the alertmanager container, + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition. + VolumeMounts specified will be appended to other VolumeMounts in the alertmanager container, that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume should - be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated - from the host to container and the other way around. When - not set, MountPropagationNone is used. This field is beta - in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which the - container's volume should be mounted. Behaves similarly to - SubPath but environment variable references $(VAR_NAME) are - expanded using the container's environment. Defaults to "" - (volume's root). SubPathExpr and SubPath are mutually exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -1350,9 +1405,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes on - the output StatefulSet definition. Volumes specified will be appended - to other volumes that are generated as a result of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output StatefulSet definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. @@ -1363,22 +1419,26 @@ spec: type: array type: object status: - description: 'Most recent observed status of the VMAlertmanager cluster. - Operator API itself. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status' + description: |- + Most recent observed status of the VMAlertmanager cluster. + Operator API itself. More info: + https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status properties: availableReplicas: - description: AvailableReplicas Total number of available pods (ready - for at least minReadySeconds) targeted by this VMAlertmanager cluster. + description: |- + AvailableReplicas Total number of available pods (ready for at least minReadySeconds) + targeted by this VMAlertmanager cluster. format: int32 type: integer paused: - description: Paused Represents whether any actions on the underlaying - managed objects are being performed. Only delete actions will be - performed. + description: |- + Paused Represents whether any actions on the underlaying managed objects are + being performed. Only delete actions will be performed. type: boolean replicas: - description: ReplicaCount Total number of non-terminated pods targeted - by this VMAlertmanager cluster (their labels match the selector). + description: |- + ReplicaCount Total number of non-terminated pods targeted by this VMAlertmanager + cluster (their labels match the selector). format: int32 type: integer unavailableReplicas: @@ -1387,8 +1447,9 @@ spec: format: int32 type: integer updatedReplicas: - description: UpdatedReplicas Total number of non-terminated pods targeted - by this VMAlertmanager cluster that have the desired version spec. + description: |- + UpdatedReplicas Total number of non-terminated pods targeted by this VMAlertmanager + cluster that have the desired version spec. format: int32 type: integer required: diff --git a/config/crd/bases/operator.victoriametrics.com_vmalerts.yaml b/config/crd/bases/operator.victoriametrics.com_vmalerts.yaml index a3413c2fb..d288fa3f0 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmalerts.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmalerts.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmalerts.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -20,14 +20,19 @@ spec: against configured address. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -43,16 +48,17 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the VMAlert object, which shall be mounted into the VMAlert Pods. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the VMAlert + object, which shall be mounted into the VMAlert Pods. The ConfigMaps are mounted into /etc/vm/configs/. items: type: string type: array containers: - description: Containers property allows to inject additions sidecars - or to patch existing containers. It can be useful for proxies, backup, - etc. + description: |- + Containers property allows to inject additions sidecars or to patch existing containers. + It can be useful for proxies, backup, etc. items: description: A single application container that you want to run within a pod. @@ -70,17 +76,20 @@ spec: basic authentication 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 + 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?' + 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 @@ -95,17 +104,20 @@ spec: 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 + 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?' + 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 @@ -127,8 +139,10 @@ spec: 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?' + 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 @@ -139,8 +153,11 @@ spec: type: object x-kubernetes-map-type: atomic headers: - description: Headers allow configuring custom http headers Must - be in form of semicolon separated header with value e.g. headerName:headerValue + description: |- + Headers allow configuring custom http headers + Must be in form of semicolon separated header with value + e.g. + headerName:headerValue vmalert supports it since 1.79.0 version items: type: string @@ -160,9 +177,10 @@ spec: 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?' + 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 @@ -180,9 +198,10 @@ spec: 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?' + 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 @@ -201,8 +220,10 @@ spec: 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?' + 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 @@ -248,22 +269,25 @@ spec: - url type: object dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters specified - here will be merged to the generated DNS configuration based on - DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This will - be appended to the base nameservers generated from DNSPolicy. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be merged - with the base options generated from DNSPolicy. Duplicated entries - will be removed. Resolution options given in Options will override - those that appear in the base DNSPolicy. + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options + will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options of a pod. @@ -276,9 +300,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated from - DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -289,9 +314,10 @@ spec: description: DNSPolicy sets DNS policy for the pod type: string enforcedNamespaceLabel: - description: EnforcedNamespaceLabel enforces adding a namespace label - of origin for each alert and metric that is user created. The label - value will always be the namespace of the object that is being created. + description: |- + EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert + and metric that is user created. The label value will always be the namespace of the object that is + being created. type: string evaluationInterval: description: EvaluationInterval defines how often to evaluate rules @@ -307,8 +333,9 @@ spec: extraArgs: additionalProperties: type: string - description: ExtraArgs that will be passed to VMAlert pod for example - -remoteWrite.tmpDataPath=/tmp + description: |- + ExtraArgs that will be passed to VMAlert pod + for example -remoteWrite.tmpDataPath=/tmp type: object extraEnvs: description: ExtraEnvs that will be added to VMAlert pod @@ -320,15 +347,16 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using - the previously defined environment variables in the container - and any service environment variables. If a variable cannot - be resolved, the reference in the input string will be unchanged. - Double $$ are reduced to a single $, which allows for escaping - the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the - string literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists or - not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -340,8 +368,9 @@ spec: network namespace type: boolean image: - description: Image - docker image settings for VMAlert if no specified - operator uses default config version + description: |- + Image - docker image settings for VMAlert + if no specified operator uses default config version properties: pullPolicy: description: PullPolicy describes how to pull docker image @@ -355,30 +384,32 @@ spec: type: string type: object imagePullSecrets: - description: ImagePullSecrets An optional list of references to secrets - in the same namespace to use for pulling images from registries + description: |- + ImagePullSecrets An optional list of references to secrets in the same namespace + to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. properties: 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?' + 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 type: object x-kubernetes-map-type: atomic type: array initContainers: - description: 'InitContainers allows adding initContainers to the pod - definition. Those can be used to e.g. fetch secrets for injection - into the VMAlert configuration from external sources. Any errors - during the execution of an initContainer will lead to a restart - of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at any - time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the VMAlert configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -388,15 +419,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array license: - description: 'License allows to configure license key to be used for - enterprise features. Using license key is supported starting from - VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html' + description: |- + License allows to configure license key to be used for enterprise features. + Using license key is supported starting from VictoriaMetrics v1.94.0. + See: https://docs.victoriametrics.com/enterprise.html properties: key: - description: Enterprise license key. This flag is available only - in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html - for more information, visit https://victoriametrics.com/products/enterprise/ - . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ + description: |- + Enterprise license key. This flag is available only in VictoriaMetrics enterprise. + Documentation - https://docs.victoriametrics.com/enterprise.html + for more information, visit https://victoriametrics.com/products/enterprise/ . + To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ type: string keyRef: description: KeyRef is reference to secret with license key for @@ -407,8 +440,10 @@ spec: 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?' + 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 @@ -424,8 +459,9 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true logFormat: - description: LogFormat for VMAlert to be configured with. default - or json + description: |- + LogFormat for VMAlert to be configured with. + default or json enum: - default - json @@ -440,8 +476,9 @@ spec: - PANIC type: string minReadySeconds: - description: MinReadySeconds defines a minim number os seconds to - wait before starting update next pod if previous in healthy state + 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: @@ -451,29 +488,30 @@ spec: on. type: object notifier: - description: 'Notifier prometheus alertmanager endpoint spec. Required - 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' + description: |- + Notifier prometheus alertmanager endpoint spec. Required 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: basicAuth: description: BasicAuth allow an endpoint to authenticate over basic authentication 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 + 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?' + 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 @@ -488,17 +526,20 @@ spec: 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 + 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?' + 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 @@ -520,8 +561,10 @@ spec: 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?' + 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 @@ -532,8 +575,11 @@ spec: type: object x-kubernetes-map-type: atomic headers: - description: Headers allow configuring custom http headers Must - be in form of semicolon separated header with value e.g. headerName:headerValue + description: |- + Headers allow configuring custom http headers + Must be in form of semicolon separated header with value + e.g. + headerName:headerValue vmalert supports it since 1.79.0 version items: type: string @@ -553,9 +599,10 @@ spec: 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?' + 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 @@ -573,9 +620,10 @@ spec: 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?' + 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 @@ -594,8 +642,10 @@ spec: 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?' + 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 @@ -628,22 +678,23 @@ spec: - token_url type: object selector: - description: Selector allows service discovery for alertmanager - in this case all matched vmalertmanager replicas will be added - into vmalert notifier.url as statefulset pod.fqdn + description: |- + Selector allows service discovery for alertmanager + in this case all matched vmalertmanager replicas will be added into vmalert notifier.url + as statefulset pod.fqdn properties: labelSelector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -651,17 +702,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -673,21 +723,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: NamespaceSelector is a selector for selecting - either all namespaces or a list of namespaces. + description: |- + NamespaceSelector is a selector for selecting either all namespaces or a + list of namespaces. properties: any: - description: Boolean describing whether all namespaces - are selected in contrast to a list restricting them. + description: |- + Boolean describing whether all namespaces are selected in contrast to a + list restricting them. type: boolean matchNames: description: List of namespace names. @@ -707,17 +758,19 @@ spec: x-kubernetes-preserve-unknown-fields: true type: object notifierConfigRef: - description: 'NotifierConfigRef reference for secret with notifier - configuration for vmalert only one of notifier options could be - chosen: notifierConfigRef or notifiers + notifier' + description: |- + NotifierConfigRef reference for secret with notifier configuration for vmalert + only one of notifier options could be chosen: notifierConfigRef or notifiers + notifier 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?' + 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 @@ -727,12 +780,10 @@ spec: type: object x-kubernetes-map-type: atomic notifiers: - description: 'Notifiers prometheus alertmanager endpoints. Required - 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' + description: |- + Notifiers prometheus alertmanager endpoints. Required 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 @@ -742,17 +793,20 @@ spec: basic authentication 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 + 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?' + 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 @@ -767,17 +821,20 @@ spec: 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 + 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?' + 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 @@ -799,8 +856,10 @@ spec: 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?' + 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 @@ -811,8 +870,11 @@ spec: type: object x-kubernetes-map-type: atomic headers: - description: Headers allow configuring custom http headers Must - be in form of semicolon separated header with value e.g. headerName:headerValue + description: |- + Headers allow configuring custom http headers + Must be in form of semicolon separated header with value + e.g. + headerName:headerValue vmalert supports it since 1.79.0 version items: type: string @@ -832,9 +894,10 @@ spec: 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?' + 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 @@ -852,9 +915,10 @@ spec: 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?' + 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 @@ -873,8 +937,10 @@ spec: 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?' + 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 @@ -907,22 +973,23 @@ spec: - token_url type: object selector: - description: Selector allows service discovery for alertmanager - in this case all matched vmalertmanager replicas will be added - into vmalert notifier.url as statefulset pod.fqdn + description: |- + Selector allows service discovery for alertmanager + in this case all matched vmalertmanager replicas will be added into vmalert notifier.url + as statefulset pod.fqdn properties: labelSelector: - description: A label selector is a label query over a set - of resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. - A null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -930,17 +997,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -952,21 +1018,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic namespaceSelector: - description: NamespaceSelector is a selector for selecting - either all namespaces or a list of namespaces. + description: |- + NamespaceSelector is a selector for selecting either all namespaces or a + list of namespaces. properties: any: - description: Boolean describing whether all namespaces - are selected in contrast to a list restricting them. + description: |- + Boolean describing whether all namespaces are selected in contrast to a + list restricting them. type: boolean matchNames: description: List of namespace names. @@ -993,26 +1060,27 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one can - prevent all voluntary evictions by specifying 0. This is a mutually - exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after the - eviction, i.e. even in the absence of the evicted pod. So for - example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: string - description: replaces default labels selector generated by operator + description: |- + replaces default labels selector generated by operator it's useful when you need to create custom budget type: object type: object @@ -1023,29 +1091,34 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object podSecurityPolicyName: - description: PodSecurityPolicyName - defines name for podSecurityPolicy + description: |- + PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used. type: string port: @@ -1072,27 +1145,32 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true remoteRead: - description: RemoteRead Optional URL to read vmalert state (persisted - via RemoteWrite) This configuration only makes sense if alerts state - has been successfully persisted (via RemoteWrite) before. see -remoteRead.url - docs in vmalerts for details. E.g. http://127.0.0.1:8428 + description: |- + RemoteRead Optional URL to read vmalert state (persisted via RemoteWrite) + This configuration only makes sense if alerts state has been successfully + persisted (via RemoteWrite) before. + see -remoteRead.url docs in vmalerts for details. + E.g. http://127.0.0.1:8428 properties: basicAuth: description: BasicAuth allow an endpoint to authenticate over basic authentication 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 + 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?' + 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 @@ -1107,17 +1185,20 @@ spec: 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 + 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?' + 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 @@ -1139,8 +1220,10 @@ spec: 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?' + 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 @@ -1151,17 +1234,19 @@ spec: type: object x-kubernetes-map-type: atomic headers: - description: Headers allow configuring custom http headers Must - be in form of semicolon separated header with value e.g. headerName:headerValue + description: |- + Headers allow configuring custom http headers + Must be in form of semicolon separated header with value + e.g. + headerName:headerValue vmalert supports it since 1.79.0 version items: type: string type: array lookback: - description: Lookback defines how far to look into past for alerts - timeseries. For example, if lookback=1h then range from now() - to now()-1h will be scanned. (default 1h0m0s) Applied only to - RemoteReadSpec + description: |- + Lookback defines how far to look into past for alerts timeseries. For example, if lookback=1h then range from now() to now()-1h will be scanned. (default 1h0m0s) + Applied only to RemoteReadSpec type: string oauth2: description: OAuth2 defines OAuth2 configuration @@ -1178,9 +1263,10 @@ spec: 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?' + 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 @@ -1198,9 +1284,10 @@ spec: 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?' + 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 @@ -1219,8 +1306,10 @@ spec: 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?' + 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 @@ -1265,28 +1354,33 @@ spec: - url type: object remoteWrite: - description: RemoteWrite Optional URL to remote-write compatible storage - to persist vmalert state and rule results to. Rule results will - be persisted according to each rule. Alerts state will be persisted - in the form of time series named ALERTS and ALERTS_FOR_STATE see - -remoteWrite.url docs in vmalerts for details. E.g. http://127.0.0.1:8428 + description: |- + RemoteWrite Optional URL to remote-write compatible storage to persist + vmalert state and rule results to. + Rule results will be persisted according to each rule. + Alerts state will be persisted in the form of time series named ALERTS and ALERTS_FOR_STATE + see -remoteWrite.url docs in vmalerts for details. + E.g. http://127.0.0.1:8428 properties: basicAuth: description: BasicAuth allow an endpoint to authenticate over basic authentication 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 + 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?' + 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 @@ -1301,17 +1395,20 @@ spec: 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 + 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?' + 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 @@ -1333,8 +1430,10 @@ spec: 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?' + 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 @@ -1355,8 +1454,11 @@ spec: pattern: '[0-9]+(ms|s|m|h)' type: string headers: - description: Headers allow configuring custom http headers Must - be in form of semicolon separated header with value e.g. headerName:headerValue + description: |- + Headers allow configuring custom http headers + Must be in form of semicolon separated header with value + e.g. + headerName:headerValue vmalert supports it since 1.79.0 version items: type: string @@ -1386,9 +1488,10 @@ spec: 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?' + 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 @@ -1406,9 +1509,10 @@ spec: 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?' + 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 @@ -1427,8 +1531,10 @@ spec: 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?' + 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 @@ -1473,9 +1579,10 @@ spec: - url type: object replicaCount: - description: ReplicaCount is the expected size of the VMAlert cluster. - The controller will eventually make the size of the running cluster - equal to the expected size. + description: |- + ReplicaCount is the expected size of the VMAlert cluster. The controller will + eventually make the size of the running cluster equal to the expected + size. format: int32 type: integer resources: @@ -1488,8 +1595,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -1498,16 +1606,18 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise 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. + 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: @@ -1517,62 +1627,65 @@ spec: anyOf: - type: integer - type: string - description: 'The maximum number of pods that can be scheduled - above the desired number of pods. Value can be an absolute number - (ex: 5) or a percentage of desired pods (ex: 10%). This can - not be 0 if MaxUnavailable is 0. Absolute number is calculated - from percentage by rounding up. Defaults to 25%. Example: when - this is set to 30%, the new ReplicaSet can be scaled up immediately - when the rolling update starts, such that the total number of - old and new pods do not exceed 130% of desired pods. Once old - pods have been killed, new ReplicaSet can be scaled up further, - ensuring that total number of pods running at any time during - the update is at most 130% of desired pods.' + description: |- + The maximum number of pods that can be scheduled above the desired number of + pods. + Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). + This can not be 0 if MaxUnavailable is 0. + Absolute number is calculated from percentage by rounding up. + Defaults to 25%. + Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when + the rolling update starts, such that the total number of old and new pods do not exceed + 130% of desired pods. Once old pods have been killed, + new ReplicaSet can be scaled up further, ensuring that total number of pods running + at any time during the update is at most 130% of desired pods. x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string - description: 'The maximum number of pods that can be unavailable - during the update. Value can be an absolute number (ex: 5) or - a percentage of desired pods (ex: 10%). Absolute number is calculated - from percentage by rounding down. This can not be 0 if MaxSurge - is 0. Defaults to 25%. Example: when this is set to 30%, the - old ReplicaSet can be scaled down to 70% of desired pods immediately - when the rolling update starts. Once new pods are ready, old - ReplicaSet can be scaled down further, followed by scaling up - the new ReplicaSet, ensuring that the total number of pods available - at all times during the update is at least 70% of desired pods.' + description: |- + The maximum number of pods that can be unavailable during the update. + Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). + Absolute number is calculated from percentage by rounding down. + This can not be 0 if MaxSurge is 0. + Defaults to 25%. + Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods + immediately when the rolling update starts. Once new pods are ready, old ReplicaSet + can be scaled down further, followed by scaling up the new ReplicaSet, ensuring + that the total number of pods available at all times during the update is at + least 70% of desired pods. x-kubernetes-int-or-string: true type: object ruleNamespaceSelector: - description: RuleNamespaceSelector to be selected for VMRules discovery. - Works in combination with Selector. If both nil - behaviour controlled - by selectAllByDefault NamespaceSelector nil - only objects at VMAlert - namespace. + description: |- + RuleNamespaceSelector to be selected for VMRules discovery. + Works in combination with Selector. + If both nil - behaviour controlled by selectAllByDefault + NamespaceSelector nil - only objects at VMAlert namespace. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -1585,51 +1698,55 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic rulePath: - description: 'RulePath to the file with alert rules. Supports patterns. - Flag can be specified multiple times. Examples: -rule /path/to/file. - Path to a single file with alerting rules -rule dir/*.yaml -rule - /*.yaml. Relative path to all .yaml files in folder, absolute path - to all .yaml files in root. by default operator adds /etc/vmalert/configs/base/vmalert.yaml' + description: |- + RulePath to the file with alert rules. + Supports patterns. Flag can be specified multiple times. + Examples: + -rule /path/to/file. Path to a single file with alerting rules + -rule dir/*.yaml -rule /*.yaml. Relative path to all .yaml files in folder, + absolute path to all .yaml files in root. + by default operator adds /etc/vmalert/configs/base/vmalert.yaml items: type: string type: array ruleSelector: - description: RuleSelector selector to select which VMRules to mount - for loading alerting rules from. Works in combination with NamespaceSelector. - If both nil - behaviour controlled by selectAllByDefault NamespaceSelector - nil - only objects at VMAlert namespace. + description: |- + RuleSelector selector to select which VMRules to mount for loading alerting + rules from. + Works in combination with NamespaceSelector. + If both nil - behaviour controlled by selectAllByDefault + NamespaceSelector nil - only objects at VMAlert namespace. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -1642,43 +1759,46 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic runtimeClassName: - description: RuntimeClassName - defines runtime class for kubernetes - pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name type: string secrets: - description: Secrets is a list of Secrets in the same namespace as - the VMAlert object, which shall be mounted into the VMAlert Pods. + description: |- + Secrets is a list of Secrets in the same namespace as the VMAlert + object, which shall be mounted into the VMAlert Pods. The Secrets are mounted into /etc/vm/secrets/. items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes and - common container settings. This defaults to the default PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: 'SelectAllByDefault changes default behavior for empty - CRD selectors, such RuleSelector. with selectAllByDefault: true - and empty serviceScrapeSelector and RuleNamespaceSelector Operator - selects all exist serviceScrapes with selectAllByDefault: false - - selects nothing' + description: |- + SelectAllByDefault changes default behavior for empty CRD selectors, such RuleSelector. + with selectAllByDefault: true and empty serviceScrapeSelector and RuleNamespaceSelector + Operator selects all exist serviceScrapes + with selectAllByDefault: false - selects nothing type: boolean serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount - to use to run the VMAlert Pods. + description: |- + ServiceAccountName is the name of the ServiceAccount to use to run the + VMAlert Pods. type: string serviceScrapeSpec: description: ServiceScrapeSpec that will be added to vmalert VMServiceScrape @@ -1697,32 +1817,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a user - creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: @@ -1740,46 +1863,46 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match all - values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to the - value. Valid operators are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, so that a pod - can tolerate all taints of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of time - the toleration (which must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. By default, it - is not set, which means tolerate the taint forever (do not - evict). Zero and negative values will be treated as 0 (evict - immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod configuration - option, controls how pods are spread across your cluster among failure-domains + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: @@ -1799,46 +1922,52 @@ spec: - RollingUpdate type: string useStrictSecurity: - description: UseStrictSecurity enables strict security mode for component - it restricts disk writes access uses non-root user out of the box + description: |- + UseStrictSecurity enables strict security mode for component + it restricts disk writes access + uses non-root user out of the box drops not needed security permissions type: boolean volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output Deployment definition. VolumeMounts specified will - be appended to other VolumeMounts in the VMAlert container, that - are generated as a result of StorageSpec objects. + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the VMAlert container, + that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume should - be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated - from the host to container and the other way around. When - not set, MountPropagationNone is used. This field is beta - in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which the - container's volume should be mounted. Behaves similarly to - SubPath but environment variable references $(VAR_NAME) are - expanded using the container's environment. Defaults to "" - (volume's root). SubPathExpr and SubPath are mutually exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -1846,9 +1975,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes on - the output Deployment definition. Volumes specified will be appended - to other volumes that are generated as a result of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output Deployment definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. @@ -1864,13 +1994,15 @@ spec: description: VMAlertStatus defines the observed state of VMAlert properties: availableReplicas: - description: AvailableReplicas Total number of available pods (ready - for at least minReadySeconds) targeted by this VMAlert cluster. + description: |- + AvailableReplicas Total number of available pods (ready for at least minReadySeconds) + targeted by this VMAlert cluster. format: int32 type: integer replicas: - description: ReplicaCount Total number of non-terminated pods targeted - by this VMAlert cluster (their labels match the selector). + description: |- + ReplicaCount Total number of non-terminated pods targeted by this VMAlert + cluster (their labels match the selector). format: int32 type: integer unavailableReplicas: @@ -1879,8 +2011,9 @@ spec: format: int32 type: integer updatedReplicas: - description: UpdatedReplicas Total number of non-terminated pods targeted - by this VMAlert cluster that have the desired version spec. + description: |- + UpdatedReplicas Total number of non-terminated pods targeted by this VMAlert + cluster that have the desired version spec. format: int32 type: integer required: diff --git a/config/crd/bases/operator.victoriametrics.com_vmauths.yaml b/config/crd/bases/operator.victoriametrics.com_vmauths.yaml index 461516df2..256161a8e 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmauths.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmauths.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmauths.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -19,14 +19,19 @@ spec: description: VMAuth is the Schema for the vmauths API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -42,15 +47,16 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the VMAuth object, which shall be mounted into the VMAuth Pods. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the VMAuth + object, which shall be mounted into the VMAuth Pods. items: type: string type: array containers: - description: Containers property allows to inject additions sidecars - or to patch existing containers. It can be useful for proxies, backup, - etc. + description: |- + Containers property allows to inject additions sidecars or to patch existing containers. + It can be useful for proxies, backup, etc. items: description: A single application container that you want to run within a pod. @@ -60,22 +66,25 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters specified - here will be merged to the generated DNS configuration based on - DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This will - be appended to the base nameservers generated from DNSPolicy. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be merged - with the base options generated from DNSPolicy. Duplicated entries - will be removed. Resolution options given in Options will override - those that appear in the base DNSPolicy. + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options + will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options of a pod. @@ -88,9 +97,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated from - DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -103,8 +113,9 @@ spec: extraArgs: additionalProperties: type: string - description: 'ExtraArgs that will be passed to VMAuth pod for example - remoteWrite.tmpDataPath: /tmp' + description: |- + ExtraArgs that will be passed to VMAuth pod + for example remoteWrite.tmpDataPath: /tmp type: object extraEnvs: description: ExtraEnvs that will be added to VMAuth pod @@ -116,15 +127,16 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using - the previously defined environment variables in the container - and any service environment variables. If a variable cannot - be resolved, the reference in the input string will be unchanged. - Double $$ are reduced to a single $, which allows for escaping - the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the - string literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists or - not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -132,11 +144,14 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array hostAliases: - description: HostAliases provides mapping for ip and hostname, that - would be propagated to pod, cannot be used with HostNetwork. + description: |- + HostAliases provides mapping for ip and hostname, + that would be propagated to pod, + cannot be used with HostNetwork. items: - description: HostAlias holds the mapping between IP and hostnames - that will be injected as an entry in the pod's hosts file. + description: |- + HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the + pod's hosts file. properties: hostnames: description: Hostnames for the above IP address. @@ -153,8 +168,9 @@ spec: network namespace type: boolean image: - description: Image - docker image settings for VMAuth if no specified - operator uses default config version + description: |- + Image - docker image settings for VMAuth + if no specified operator uses default config version properties: pullPolicy: description: PullPolicy describes how to pull docker image @@ -168,16 +184,20 @@ spec: type: string type: object imagePullSecrets: - description: ImagePullSecrets An optional list of references to secrets - in the same namespace to use for pulling images from registries + description: |- + ImagePullSecrets An optional list of references to secrets in the same namespace + to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. properties: 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?' + 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 type: object x-kubernetes-map-type: atomic @@ -188,85 +208,85 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object class_name: description: ClassName defines ingress class name for VMAuth type: string extraRules: - description: ExtraRules - additional rules for ingress, must be - checked for correctness by user. + description: |- + ExtraRules - additional rules for ingress, + must be checked for correctness by user. items: - description: IngressRule represents the rules mapping the paths - under a specified host to the related backend services. Incoming - requests are first evaluated for a host match, then routed - to the backend associated with the matching IngressRuleValue. + description: |- + IngressRule represents the rules mapping the paths under a specified host to + the related backend services. Incoming requests are first evaluated for a host + match, then routed to the backend associated with the matching IngressRuleValue. properties: host: description: "Host is the fully qualified domain name of - a network host, as defined by RFC 3986. Note the following - deviations from the \"host\" part of the URI as defined - in RFC 3986: 1. IPs are not allowed. Currently an IngressRuleValue - can only apply to the IP in the Spec of the parent Ingress. - 2. The `:` delimiter is not respected because ports are - not allowed. Currently the port of an Ingress is implicitly - :80 for http and :443 for https. Both these may change - in the future. Incoming requests are matched against the - host before the IngressRuleValue. If the host is unspecified, - the Ingress routes all traffic based on the specified - IngressRuleValue. \n Host can be \"precise\" which is - a domain name without the terminating dot of a network - host (e.g. \"foo.bar.com\") or \"wildcard\", which is - a domain name prefixed with a single wildcard label (e.g. - \"*.foo.com\"). The wildcard character '*' must appear - by itself as the first DNS label and matches only a single - label. You cannot have a wildcard label by itself (e.g. - Host == \"*\"). Requests will be matched against the Host - field in the following way: 1. If Host is precise, the - request matches this rule if the http host header is equal - to Host. 2. If Host is a wildcard, then the request matches - this rule if the http host header is to equal to the suffix - (removing the first label) of the wildcard rule." + a network host, as defined by RFC 3986.\nNote the following + deviations from the \"host\" part of the\nURI as defined + in RFC 3986:\n1. IPs are not allowed. Currently an IngressRuleValue + can only apply to\n the IP in the Spec of the parent + Ingress.\n2. The `:` delimiter is not respected because + ports are not allowed.\n\t Currently the port of an Ingress + is implicitly :80 for http and\n\t :443 for https.\nBoth + these may change in the future.\nIncoming requests are + matched against the host before the\nIngressRuleValue. + If the host is unspecified, the Ingress routes all\ntraffic + based on the specified IngressRuleValue.\n\n\nHost can + be \"precise\" which is a domain name without the terminating + dot of\na network host (e.g. \"foo.bar.com\") or \"wildcard\", + which is a domain name\nprefixed with a single wildcard + label (e.g. \"*.foo.com\").\nThe wildcard character '*' + must appear by itself as the first DNS label and\nmatches + only a single label. You cannot have a wildcard label + by itself (e.g. Host == \"*\").\nRequests will be matched + against the Host field in the following way:\n1. If Host + is precise, the request matches this rule if the http + host header is equal to Host.\n2. If Host is a wildcard, + then the request matches this rule if the http host header\nis + to equal to the suffix (removing the first label) of the + wildcard rule." type: string http: - description: 'HTTPIngressRuleValue is a list of http selectors - pointing to backends. In the example: http:///? - -> backend where where parts of the url correspond to - RFC 3986, this resource will be used to match against - everything after the last ''/'' and before the first ''?'' - or ''#''.' + description: |- + HTTPIngressRuleValue is a list of http selectors pointing to backends. + In the example: http:///? -> backend where + where parts of the url correspond to RFC 3986, this resource will be used + to match against everything after the last '/' and before the first '?' + or '#'. properties: paths: description: A collection of paths that map requests to backends. items: - description: HTTPIngressPath associates a path with - a backend. Incoming urls matching the path are forwarded - to the backend. + description: |- + HTTPIngressPath associates a path with a backend. Incoming urls matching the + path are forwarded to the backend. properties: backend: - description: Backend defines the referenced service - endpoint to which the traffic will be forwarded - to. + description: |- + Backend defines the referenced service endpoint to which the traffic + will be forwarded to. properties: resource: - description: Resource is an ObjectRef to another - Kubernetes resource in the namespace of - the Ingress object. If resource is specified, - a service.Name and service.Port must not - be specified. This is a mutually exclusive - setting with "Service". + description: |- + Resource is an ObjectRef to another Kubernetes resource in the namespace + of the Ingress object. If resource is specified, a service.Name and + service.Port must not be specified. + This is a mutually exclusive setting with "Service". properties: apiGroup: - description: APIGroup is the group for - the resource being referenced. If APIGroup - is not specified, the specified Kind - must be in the core API group. For any - other third-party types, APIGroup is - required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource @@ -282,30 +302,29 @@ spec: type: object x-kubernetes-map-type: atomic service: - description: Service references a Service - as a Backend. This is a mutually exclusive - setting with "Resource". + description: |- + Service references a Service as a Backend. + This is a mutually exclusive setting with "Resource". properties: name: - description: Name is the referenced service. - The service must exist in the same namespace - as the Ingress object. + description: |- + Name is the referenced service. The service must exist in + the same namespace as the Ingress object. type: string port: - description: Port of the referenced service. - A port name or port number is required - for a IngressServiceBackend. + description: |- + Port of the referenced service. A port name or port number + is required for a IngressServiceBackend. properties: name: - description: Name is the name of the - port on the Service. This is a mutually - exclusive setting with "Number". + description: |- + Name is the name of the port on the Service. + This is a mutually exclusive setting with "Number". type: string number: - description: Number is the numerical - port number (e.g. 80) on the Service. - This is a mutually exclusive setting - with "Name". + description: |- + Number is the numerical port number (e.g. 80) on the Service. + This is a mutually exclusive setting with "Name". format: int32 type: integer type: object @@ -314,33 +333,28 @@ spec: type: object type: object path: - description: Path is matched against the path - of an incoming request. Currently it can contain - characters disallowed from the conventional - "path" part of a URL as defined by RFC 3986. - Paths must begin with a '/' and must be present + description: |- + Path is matched against the path of an incoming request. Currently it can + contain characters disallowed from the conventional "path" part of a URL + as defined by RFC 3986. Paths must begin with a '/' and must be present when using PathType with value "Exact" or "Prefix". type: string pathType: - description: 'PathType determines the interpretation - of the Path matching. PathType can be one of - the following values: * Exact: Matches the URL - path exactly. * Prefix: Matches based on a URL - path prefix split by ''/''. Matching is done - on a path element by element basis. A path element - refers is the list of labels in the path split - by the ''/'' separator. A request is a match - for path p if every p is an element-wise prefix - of p of the request path. Note that if the last - element of the path is a substring of the last - element in request path, it is not a match (e.g. - /foo/bar matches /foo/bar/baz, but does not - match /foo/barbaz). * ImplementationSpecific: - Interpretation of the Path matching is up to - the IngressClass. Implementations can treat - this as a separate PathType or treat it identically - to Prefix or Exact path types. Implementations - are required to support all path types.' + description: |- + PathType determines the interpretation of the Path matching. PathType can + be one of the following values: + * Exact: Matches the URL path exactly. + * Prefix: Matches based on a URL path prefix split by '/'. Matching is + done on a path element by element basis. A path element refers is the + list of labels in the path split by the '/' separator. A request is a + match for path p if every p is an element-wise prefix of p of the + request path. Note that if the last element of the path is a substring + of the last element in request path, it is not a match (e.g. /foo/bar + matches /foo/bar/baz, but does not match /foo/barbaz). + * ImplementationSpecific: Interpretation of the Path matching is up to + the IngressClass. Implementations can treat this as a separate PathType + or treat it identically to Prefix or Exact path types. + Implementations are required to support all path types. type: string required: - backend @@ -354,50 +368,55 @@ spec: type: object type: array extraTls: - description: ExtraTLS - additional TLS configuration for ingress + description: |- + ExtraTLS - additional TLS configuration for ingress must be checked for correctness by user. items: description: IngressTLS describes the transport layer security associated with an Ingress. properties: hosts: - description: Hosts are a list of hosts included in the TLS - certificate. The values in this list must match the name/s - used in the tlsSecret. Defaults to the wildcard host setting - for the loadbalancer controller fulfilling this Ingress, - if left unspecified. + description: |- + Hosts are a list of hosts included in the TLS certificate. The values in + this list must match the name/s used in the tlsSecret. Defaults to the + wildcard host setting for the loadbalancer controller fulfilling this + Ingress, if left unspecified. items: type: string type: array x-kubernetes-list-type: atomic secretName: - description: SecretName is the name of the secret used to - terminate TLS traffic on port 443. Field is left optional - to allow TLS routing based on SNI hostname alone. If the - SNI host in a listener conflicts with the "Host" header - field used by an IngressRule, the SNI host is used for - termination and value of the Host header is used for routing. + description: |- + SecretName is the name of the secret used to terminate TLS traffic on + port 443. Field is left optional to allow TLS routing based on SNI + hostname alone. If the SNI host in a listener conflicts with the "Host" + header field used by an IngressRule, the SNI host is used for termination + and value of the Host header is used for routing. type: string type: object type: array host: - description: Host defines ingress host parameter for default rule + description: |- + Host defines ingress host parameter for default rule It will be used, only if TlsHosts is empty type: string labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string tlsHosts: description: TlsHosts configures TLS access for ingress, tlsSecretName @@ -406,20 +425,19 @@ spec: type: string type: array tlsSecretName: - description: TlsSecretName defines secretname at the VMAuth namespace - with cert and key https://kubernetes.io/docs/concepts/services-networking/ingress/#tls + description: |- + TlsSecretName defines secretname at the VMAuth namespace with cert and key + https://kubernetes.io/docs/concepts/services-networking/ingress/#tls type: string type: object initContainers: - description: 'InitContainers allows adding initContainers to the pod - definition. Those can be used to e.g. fetch secrets for injection - into the vmSingle configuration from external sources. Any errors - during the execution of an initContainer will lead to a restart - of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at any - time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the vmSingle configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -429,15 +447,17 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array license: - description: 'License allows to configure license key to be used for - enterprise features. Using license key is supported starting from - VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html' + description: |- + License allows to configure license key to be used for enterprise features. + Using license key is supported starting from VictoriaMetrics v1.94.0. + See: https://docs.victoriametrics.com/enterprise.html properties: key: - description: Enterprise license key. This flag is available only - in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html - for more information, visit https://victoriametrics.com/products/enterprise/ - . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ + description: |- + Enterprise license key. This flag is available only in VictoriaMetrics enterprise. + Documentation - https://docs.victoriametrics.com/enterprise.html + for more information, visit https://victoriametrics.com/products/enterprise/ . + To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ type: string keyRef: description: KeyRef is reference to secret with license key for @@ -448,8 +468,10 @@ spec: 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?' + 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 @@ -481,8 +503,9 @@ spec: - PANIC type: string minReadySeconds: - description: MinReadySeconds defines a minim number os seconds to - wait before starting update next pod if previous in healthy state + 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: @@ -498,26 +521,27 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one can - prevent all voluntary evictions by specifying 0. This is a mutually - exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after the - eviction, i.e. even in the absence of the evicted pod. So for - example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: string - description: replaces default labels selector generated by operator + description: |- + replaces default labels selector generated by operator it's useful when you need to create custom budget type: object type: object @@ -528,29 +552,34 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object podSecurityPolicyName: - description: PodSecurityPolicyName - defines name for podSecurityPolicy + description: |- + PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used. type: string port: @@ -581,7 +610,8 @@ spec: format: int32 type: integer resources: - description: Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + description: |- + Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not defined default resources from operator config will be used properties: limits: @@ -591,8 +621,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -601,45 +632,52 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise 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. + 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/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name type: string secrets: - description: Secrets is a list of Secrets in the same namespace as - the VMAuth object, which shall be mounted into the VMAuth Pods. + description: |- + Secrets is a list of Secrets in the same namespace as the VMAuth + object, which shall be mounted into the VMAuth Pods. items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes and - common container settings. This defaults to the default PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true selectAllByDefault: - description: 'SelectAllByDefault changes default behavior for empty - CRD selectors, such userSelector. with selectAllByDefault: true - and empty userSelector and userNamespaceSelector Operator selects - all exist users with selectAllByDefault: false - selects nothing' + description: |- + SelectAllByDefault changes default behavior for empty CRD selectors, such userSelector. + with selectAllByDefault: true and empty userSelector and userNamespaceSelector + Operator selects all exist users + with selectAllByDefault: false - selects nothing type: boolean serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount - to use to run the VMAuth Pods. + description: |- + ServiceAccountName is the name of the ServiceAccount to use to run the + VMAuth Pods. type: string serviceScrapeSpec: description: ServiceScrapeSpec that will be added to vmauth VMServiceScrape @@ -658,32 +696,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a user - creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: @@ -701,46 +742,46 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match all - values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to the - value. Valid operators are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, so that a pod - can tolerate all taints of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of time - the toleration (which must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. By default, it - is not set, which means tolerate the taint forever (do not - evict). Zero and negative values will be treated as 0 (evict - immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod configuration - option, controls how pods are spread across your cluster among failure-domains + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: @@ -761,22 +802,24 @@ spec: access properties: 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. + 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 - values for header key: ["header_key: value1,value2"] it''s - available since 1.68.0 version of vmauth' + description: |- + Headers represent additional http headers, that vmauth uses + in form of ["header_key: header_value"] + multiple values for header key: + ["header_key: value1,value2"] + it's available since 1.68.0 version of vmauth items: type: string type: array ip_filters: - description: IPFilters defines filter for src ip address enterprise - only + description: |- + IPFilters defines filter for src ip address + enterprise only properties: allow_list: items: @@ -788,25 +831,28 @@ spec: 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")' + 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 response_headers: - description: 'ResponseHeaders represent additional http headers, - that vmauth adds for request response in form of ["header_key: - header_value"] multiple values for header key: ["header_key: - value1,value2"] it''s available since 1.93.0 version of vmauth' + description: |- + ResponseHeaders represent additional http headers, that vmauth adds for request response + in form of ["header_key: header_value"] + multiple values for header key: + ["header_key: value1,value2"] + it's available since 1.93.0 version of vmauth items: type: string type: array retry_status_codes: - description: RetryStatusCodes defines http status codes in numeric - format for request retries e.g. [429,503] + description: |- + RetryStatusCodes defines http status codes in numeric format for request retries + e.g. [429,503] items: type: integer type: array @@ -829,39 +875,42 @@ spec: type: object type: array useStrictSecurity: - description: UseStrictSecurity enables strict security mode for component - it restricts disk writes access uses non-root user out of the box + description: |- + UseStrictSecurity enables strict security mode for component + it restricts disk writes access + uses non-root user out of the box drops not needed security permissions type: boolean userNamespaceSelector: - description: UserNamespaceSelector Namespaces to be selected for VMAuth - discovery. Works in combination with Selector. NamespaceSelector - nil - only objects at VMAuth namespace. Selector nil - only objects - at NamespaceSelector namespaces. If both nil - behaviour controlled - by selectAllByDefault + description: |- + UserNamespaceSelector Namespaces to be selected for VMAuth discovery. + Works in combination with Selector. + NamespaceSelector nil - only objects at VMAuth namespace. + Selector nil - only objects at NamespaceSelector namespaces. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -874,42 +923,42 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic userSelector: - description: UserSelector defines VMUser to be selected for config - file generation. Works in combination with NamespaceSelector. NamespaceSelector - nil - only objects at VMAuth namespace. If both nil - behaviour - controlled by selectAllByDefault + description: |- + UserSelector defines VMUser to be selected for config file generation. + Works in combination with NamespaceSelector. + NamespaceSelector nil - only objects at VMAuth namespace. + If both nil - behaviour controlled by selectAllByDefault properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -922,50 +971,53 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output Deployment definition. VolumeMounts specified will - be appended to other VolumeMounts in the VMAuth container, that - are generated as a result of StorageSpec objects. + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the VMAuth container, + that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume should - be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated - from the host to container and the other way around. When - not set, MountPropagationNone is used. This field is beta - in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which the - container's volume should be mounted. Behaves similarly to - SubPath but environment variable references $(VAR_NAME) are - expanded using the container's environment. Defaults to "" - (volume's root). SubPathExpr and SubPath are mutually exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -973,9 +1025,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes on - the output deploy definition. Volumes specified will be appended - to other volumes that are generated as a result of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output deploy definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. diff --git a/config/crd/bases/operator.victoriametrics.com_vmclusters.yaml b/config/crd/bases/operator.victoriametrics.com_vmclusters.yaml index ed66ad5cb..e49d9b593 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmclusters.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmclusters.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmclusters.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -36,18 +36,24 @@ spec: name: v1beta1 schema: openAPIV3Schema: - description: VMCluster is fast, cost-effective and scalable time-series database. + description: |- + VMCluster is fast, cost-effective and scalable time-series database. Cluster version with properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -59,34 +65,41 @@ spec: was failed to parse json object from kubernetes api server type: string clusterVersion: - description: ClusterVersion defines default images tag for all components. + description: |- + ClusterVersion defines default images tag for all components. it can be overwritten with component specific image.tag value. type: string imagePullSecrets: - description: ImagePullSecrets An optional list of references to secrets - in the same namespace to use for pulling images from registries + description: |- + ImagePullSecrets An optional list of references to secrets in the same namespace + to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. properties: 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?' + 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 type: object x-kubernetes-map-type: atomic type: array license: - description: 'License allows to configure license key to be used for - enterprise features. Using license key is supported starting from - VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html' + description: |- + License allows to configure license key to be used for enterprise features. + Using license key is supported starting from VictoriaMetrics v1.94.0. + See: https://docs.victoriametrics.com/enterprise.html properties: key: - description: Enterprise license key. This flag is available only - in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html - for more information, visit https://victoriametrics.com/products/enterprise/ - . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ + description: |- + Enterprise license key. This flag is available only in VictoriaMetrics enterprise. + Documentation - https://docs.victoriametrics.com/enterprise.html + for more information, visit https://victoriametrics.com/products/enterprise/ . + To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ type: string keyRef: description: KeyRef is reference to secret with license key for @@ -97,8 +110,10 @@ spec: 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?' + 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 @@ -110,28 +125,34 @@ spec: x-kubernetes-map-type: atomic type: object podSecurityPolicyName: - description: PodSecurityPolicyName - defines name for podSecurityPolicy + description: |- + PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used. type: string replicationFactor: - description: ReplicationFactor defines how many copies of data make - among distinct storage nodes + description: |- + ReplicationFactor defines how many copies of data make among + distinct storage nodes format: int32 type: integer retentionPeriod: - description: RetentionPeriod for the stored metrics Note VictoriaMetrics - has data/ and indexdb/ folders metrics from data/ removed eventually - as soon as partition leaves retention period reverse index data - at indexdb rotates once at the half of configured retention period + description: |- + RetentionPeriod for the stored metrics + Note VictoriaMetrics has data/ and indexdb/ folders + metrics from data/ removed eventually as soon as partition leaves retention period + reverse index data at indexdb rotates once at the half of configured retention period https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#retention type: string serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount - to use to run the VMSelect, VMStorage and VMInsert Pods. + description: |- + ServiceAccountName is the name of the ServiceAccount to use to run the + VMSelect, VMStorage and VMInsert Pods. type: string useStrictSecurity: - description: UseStrictSecurity enables strict security mode for component - it restricts disk writes access uses non-root user out of the box + description: |- + UseStrictSecurity enables strict security mode for component + it restricts disk writes access + uses non-root user out of the box drops not needed security permissions type: boolean vminsert: @@ -141,20 +162,22 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true clusterNativeListenPort: - description: 'ClusterNativePort for multi-level cluster setup. - More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup' + description: |- + ClusterNativePort for multi-level cluster setup. + More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup type: string configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the VMSelect object, which shall be mounted into the VMSelect - Pods. The ConfigMaps are mounted into /etc/vm/configs/. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect + object, which shall be mounted into the VMSelect Pods. + The ConfigMaps are mounted into /etc/vm/configs/. items: type: string type: array containers: - description: Containers property allows to inject additions sidecars - or to patch existing containers. It can be useful for proxies, - backup, etc. + description: |- + Containers property allows to inject additions sidecars or to patch existing containers. + It can be useful for proxies, backup, etc. items: description: A single application container that you want to run within a pod. @@ -164,21 +187,24 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters - specified here will be merged to the generated DNS configuration - based on DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This - will be appended to the base nameservers generated from - DNSPolicy. Duplicated nameservers will be removed. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. + Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be - merged with the base options generated from DNSPolicy. Duplicated - entries will be removed. Resolution options given in Options + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options @@ -192,9 +218,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated - from DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -219,15 +246,16 @@ spec: C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. If - a variable cannot be resolved, the reference in the input - string will be unchanged. Double $$ are reduced to a single - $, which allows for escaping the $(VAR_NAME) syntax: i.e. + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless - of whether the variable exists or not. Defaults to "".' + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -258,15 +286,13 @@ spec: type: string type: object initContainers: - description: 'InitContainers allows adding initContainers to the - pod definition. Those can be used to e.g. fetch secrets for - injection into the VMSelect configuration from external sources. - Any errors during the execution of an initContainer will lead - to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at - any time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the VMSelect configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -296,8 +322,9 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true logFormat: - description: LogFormat for VMSelect to be configured with. default - or json + description: |- + LogFormat for VMSelect to be configured with. + default or json enum: - default - json @@ -312,9 +339,9 @@ spec: - PANIC type: string minReadySeconds: - description: MinReadySeconds defines a minim number os seconds - to wait before starting update next pod if previous in healthy - state + 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: @@ -334,27 +361,28 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one - can prevent all voluntary evictions by specifying 0. This - is a mutually exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after - the eviction, i.e. even in the absence of the evicted pod. So - for example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: string - description: replaces default labels selector generated by - operator it's useful when you need to create custom budget + description: |- + replaces default labels selector generated by operator + it's useful when you need to create custom budget type: object type: object podMetadata: @@ -364,27 +392,29 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object port: @@ -412,9 +442,10 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true replicaCount: - description: ReplicaCount is the expected size of the VMInsert - cluster. The controller will eventually make the size of the - running cluster equal to the expected size. + description: |- + ReplicaCount is the expected size of the VMInsert cluster. The controller will + eventually make the size of the running cluster equal to the expected + size. format: int32 type: integer resources: @@ -428,8 +459,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -438,17 +470,18 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise 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. + 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: @@ -458,54 +491,56 @@ spec: anyOf: - type: integer - type: string - description: 'The maximum number of pods that can be scheduled - above the desired number of pods. Value can be an absolute - number (ex: 5) or a percentage of desired pods (ex: 10%). - This can not be 0 if MaxUnavailable is 0. Absolute number - is calculated from percentage by rounding up. Defaults to - 25%. Example: when this is set to 30%, the new ReplicaSet - can be scaled up immediately when the rolling update starts, - such that the total number of old and new pods do not exceed - 130% of desired pods. Once old pods have been killed, new - ReplicaSet can be scaled up further, ensuring that total - number of pods running at any time during the update is - at most 130% of desired pods.' + description: |- + The maximum number of pods that can be scheduled above the desired number of + pods. + Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). + This can not be 0 if MaxUnavailable is 0. + Absolute number is calculated from percentage by rounding up. + Defaults to 25%. + Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when + the rolling update starts, such that the total number of old and new pods do not exceed + 130% of desired pods. Once old pods have been killed, + new ReplicaSet can be scaled up further, ensuring that total number of pods running + at any time during the update is at most 130% of desired pods. x-kubernetes-int-or-string: true maxUnavailable: anyOf: - type: integer - type: string - description: 'The maximum number of pods that can be unavailable - during the update. Value can be an absolute number (ex: - 5) or a percentage of desired pods (ex: 10%). Absolute number - is calculated from percentage by rounding down. This can - not be 0 if MaxSurge is 0. Defaults to 25%. Example: when - this is set to 30%, the old ReplicaSet can be scaled down - to 70% of desired pods immediately when the rolling update - starts. Once new pods are ready, old ReplicaSet can be scaled - down further, followed by scaling up the new ReplicaSet, - ensuring that the total number of pods available at all - times during the update is at least 70% of desired pods.' + description: |- + The maximum number of pods that can be unavailable during the update. + Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). + Absolute number is calculated from percentage by rounding down. + This can not be 0 if MaxSurge is 0. + Defaults to 25%. + Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods + immediately when the rolling update starts. Once new pods are ready, old ReplicaSet + can be scaled down further, followed by scaling up the new ReplicaSet, ensuring + that the total number of pods available at all times during the update is at + least 70% of desired pods. x-kubernetes-int-or-string: true type: object runtimeClassName: - description: RuntimeClassName - defines runtime class for kubernetes - pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name type: string secrets: - description: Secrets is a list of Secrets in the same namespace - as the VMSelect object, which shall be mounted into the VMSelect - Pods. The Secrets are mounted into /etc/vm/secrets/. + description: |- + Secrets is a list of Secrets in the same namespace as the VMSelect + object, which shall be mounted into the VMSelect Pods. + The Secrets are mounted into /etc/vm/secrets/. items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes - and common container settings. This defaults to the default - PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true serviceScrapeSpec: @@ -526,32 +561,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value - map stored with a resource that may be set by external - tools to store and retrieve arbitrary metadata. They - are not queryable and should be preserved when modifying - objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that - can be used to organize and categorize (scope and select) - objects. May match selectors of replication controllers - and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. - Is required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be - updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a - user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: @@ -569,49 +607,48 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates - any taint that matches the triple using - the matching operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. - Empty means match all taint effects. When specified, allowed - values are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match - all values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to - the value. Valid operators are Exists and Equal. Defaults - to Equal. Exists is equivalent to wildcard for value, - so that a pod can tolerate all taints of a particular - category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of - time the toleration (which must be of effect NoExecute, - otherwise this field is ignored) tolerates the taint. - By default, it is not set, which means tolerate the taint - forever (do not evict). Zero and negative values will - be treated as 0 (evict immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod - configuration option, controls how pods are spread across your - cluster among failure-domains such as regions, zones, nodes, - and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains + such as regions, zones, nodes, and other user-defined topology domains + https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. @@ -629,42 +666,45 @@ spec: - RollingUpdate type: string volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output Deployment definition. VolumeMounts specified - will be appended to other VolumeMounts in the VMSelect container, + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the VMSelect container, that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationNone is used. This - field is beta in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -672,10 +712,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes - on the output Deployment definition. Volumes specified will - be appended to other volumes that are generated as a result - of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output Deployment definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. @@ -694,8 +734,9 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true cacheMountPath: - description: CacheMountPath allows to add cache persistent for - VMSelect, will use "/cache" as default if not specified. + description: |- + CacheMountPath allows to add cache persistent for VMSelect, + will use "/cache" as default if not specified. type: string claimTemplates: description: ClaimTemplates allows adding additional VolumeClaimTemplates @@ -705,46 +746,52 @@ spec: claim to a persistent volume properties: apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: |- + Standard object's metadata. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata type: object x-kubernetes-preserve-unknown-fields: true spec: - description: 'spec defines the desired characteristics of - a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + spec defines the desired characteristics of a volume requested by a pod author. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified - data source, it will create a new volume based on - the contents of the specified data source. If the - AnyVolumeDataSource feature gate is enabled, this - field will always have the same contents as the DataSourceRef - field.' + description: |- + dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -761,33 +808,29 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from - which to populate the volume with data, if a non-empty - volume is desired. This may be any local object from - a non-empty API group (non core object) or a PersistentVolumeClaim - object. When this field is specified, volume binding - will only succeed if the type of the specified object - matches some installed volume populator or dynamic - provisioner. This field will replace the functionality - of the DataSource field and as such if both fields - are non-empty, they must have the same value. For - backwards compatibility, both fields (DataSource and - DataSourceRef) will be set to the same value automatically - if one of them is empty and the other is non-empty. - There are two important differences between DataSource - and DataSourceRef: * While DataSource only allows - two specific types of objects, DataSourceRef allows - any non-core object, as well as PersistentVolumeClaim - objects. * While DataSource ignores disallowed values - (dropping them), DataSourceRef preserves all values, - and generates an error if a disallowed value is specified. - (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -804,12 +847,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify resource - requirements that are lower than previous value but - must still be higher than capacity recorded in the - status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -818,8 +861,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -828,11 +872,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is - omitted for a container, it defaults to Limits - if that is explicitly specified, otherwise to - an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -843,26 +887,25 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -874,23 +917,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume - is required by the claim. Value of Filesystem is implied - when not included in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to @@ -898,12 +940,15 @@ spec: type: string type: object status: - description: 'status represents the current information/status - of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + status represents the current information/status of a persistent volume claim. + Read-only. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the actual access - modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the actual access modes the volume backing the PVC has. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array @@ -914,19 +959,15 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity - when a volume expansion operation is requested. For - storage quota, the larger value from allocatedResources - and PVC.spec.resources is used. If allocatedResources - is not set, PVC.spec.resources alone is used for quota - calculation. If a volume expansion capacity request - is lowered, allocatedResources is only lowered if - there are no expansion operations in progress and - if the actual volume capacity is equal or lower than - the requested capacity. This is an alpha field and - requires enabling RecoverVolumeExpansionFailure feature. + description: |- + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may + be larger than the actual capacity when a volume expansion operation is requested. + For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + If a volume expansion capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress and if the actual volume capacity + is equal or lower than the requested capacity. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: object capacity: additionalProperties: @@ -939,10 +980,9 @@ spec: of the underlying volume. type: object conditions: - description: conditions is the current Condition of - persistent volume claim. If underlying persistent - volume is being resized then the Condition will be - set to 'ResizeStarted'. + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being + resized then the Condition will be set to 'ResizeStarted'. items: description: PersistentVolumeClaimCondition contails details about state of pvc @@ -962,11 +1002,10 @@ spec: indicating details about last transition. type: string reason: - description: reason is a unique, this should be - a short, machine understandable string that - gives the reason for condition's last transition. - If it reports "ResizeStarted" that means the - underlying persistent volume is being resized. + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "ResizeStarted" that means the underlying + persistent volume is being resized. type: string status: type: string @@ -983,31 +1022,32 @@ spec: description: phase represents the current phase of PersistentVolumeClaim. type: string resizeStatus: - description: resizeStatus stores status of resize operation. - ResizeStatus is not set by default but when expansion - is complete resizeStatus is set to empty string by - resize controller or kubelet. This is an alpha field - and requires enabling RecoverVolumeExpansionFailure - feature. + description: |- + resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty + string by resize controller or kubelet. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: string type: object type: object type: array clusterNativeListenPort: - description: 'ClusterNativePort for multi-level cluster setup. - More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup' + description: |- + ClusterNativePort for multi-level cluster setup. + More details: https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multi-level-cluster-setup type: string configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the VMSelect object, which shall be mounted into the VMSelect - Pods. The ConfigMaps are mounted into /etc/vm/configs/. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect + object, which shall be mounted into the VMSelect Pods. + The ConfigMaps are mounted into /etc/vm/configs/. items: type: string type: array containers: - description: Containers property allows to inject additions sidecars - or to patch existing containers. It can be useful for proxies, - backup, etc. + description: |- + Containers property allows to inject additions sidecars or to patch existing containers. + It can be useful for proxies, backup, etc. items: description: A single application container that you want to run within a pod. @@ -1017,21 +1057,24 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters - specified here will be merged to the generated DNS configuration - based on DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This - will be appended to the base nameservers generated from - DNSPolicy. Duplicated nameservers will be removed. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. + Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be - merged with the base options generated from DNSPolicy. Duplicated - entries will be removed. Resolution options given in Options + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options @@ -1045,9 +1088,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated - from DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -1072,15 +1116,16 @@ spec: C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. If - a variable cannot be resolved, the reference in the input - string will be unchanged. Double $$ are reduced to a single - $, which allows for escaping the $(VAR_NAME) syntax: i.e. + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless - of whether the variable exists or not. Defaults to "".' + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -1092,9 +1137,9 @@ spec: node network namespace type: boolean hpa: - description: Configures horizontal pod autoscaling. Note, enabling - this option disables vmselect to vmselect communication. In - most cases it's not an issue. + description: |- + Configures horizontal pod autoscaling. + Note, enabling this option disables vmselect to vmselect communication. In most cases it's not an issue. type: object x-kubernetes-preserve-unknown-fields: true image: @@ -1112,15 +1157,13 @@ spec: type: string type: object initContainers: - description: 'InitContainers allows adding initContainers to the - pod definition. Those can be used to e.g. fetch secrets for - injection into the VMSelect configuration from external sources. - Any errors during the execution of an initContainer will lead - to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at - any time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the VMSelect configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -1134,8 +1177,9 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true logFormat: - description: LogFormat for VMSelect to be configured with. default - or json + description: |- + LogFormat for VMSelect to be configured with. + default or json enum: - default - json @@ -1150,9 +1194,9 @@ spec: - PANIC type: string minReadySeconds: - description: MinReadySeconds defines a minim number os seconds - to wait before starting update next pod if previous in healthy - state + 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: @@ -1166,38 +1210,39 @@ spec: on. type: object persistentVolume: - description: Storage - add persistent volume for cacheMounthPath - its useful for persistent cache use storage instead of persistentVolume. + description: |- + Storage - add persistent volume for cacheMounthPath + its useful for persistent cache + use storage instead of persistentVolume. properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be disabled by - default in a future release, this option will become unnecessary. - DisableMountSubPath allows to remove any subPath usage in - volume mounts.' + description: |- + Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. + DisableMountSubPath allows to remove any subPath usage in volume mounts. type: boolean emptyDir: - description: 'EmptyDirVolumeSource to be used by the Prometheus - StatefulSets. If specified, used in place of any volumeClaimTemplate. - More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' + description: |- + EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More + info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: medium: - description: 'medium represents what type of storage medium - should back this directory. The default is "" which - means to use the node''s default medium. Must be an - empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' + description: |- + medium represents what type of storage medium should back this directory. + The default is "" which means to use the node's default medium. + Must be an empty string (default) or Memory. + More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir type: string sizeLimit: anyOf: - type: integer - type: string - description: 'sizeLimit is the total amount of local storage - required for this EmptyDir volume. The size limit is - also applicable for memory medium. The maximum usage - on memory medium EmptyDir would be the minimum value - between the SizeLimit specified here and the sum of - memory limits of all containers in a pod. The default - is nil which means that the limit is undefined. More - info: http://kubernetes.io/docs/user-guide/volumes#emptydir' + description: |- + sizeLimit is the total amount of local storage required for this EmptyDir volume. + The size limit is also applicable for memory medium. + The maximum usage on memory medium EmptyDir would be the minimum value between + the SizeLimit specified here and the sum of memory limits of all containers in a pod. + The default is nil which means that the limit is undefined. + More info: http://kubernetes.io/docs/user-guide/volumes#emptydir pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -1213,27 +1258,28 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one - can prevent all voluntary evictions by specifying 0. This - is a mutually exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after - the eviction, i.e. even in the absence of the evicted pod. So - for example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: string - description: replaces default labels selector generated by - operator it's useful when you need to create custom budget + description: |- + replaces default labels selector generated by operator + it's useful when you need to create custom budget type: object type: object podMetadata: @@ -1243,27 +1289,29 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object port: @@ -1291,9 +1339,10 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true replicaCount: - description: ReplicaCount is the expected size of the VMSelect - cluster. The controller will eventually make the size of the - running cluster equal to the expected size. + description: |- + ReplicaCount is the expected size of the VMSelect cluster. The controller will + eventually make the size of the running cluster equal to the expected + size. format: int32 type: integer resources: @@ -1307,8 +1356,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -1317,42 +1367,46 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise 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. + 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 - process Can be changed for RollingUpdate + description: |- + RollingUpdateStrategy defines strategy for application updates + Default is OnDelete, in this case operator handles update process + Can be changed for RollingUpdate type: string runtimeClassName: - description: RuntimeClassName - defines runtime class for kubernetes - pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name type: string secrets: - description: Secrets is a list of Secrets in the same namespace - as the VMSelect object, which shall be mounted into the VMSelect - Pods. The Secrets are mounted into /etc/vm/secrets/. + description: |- + Secrets is a list of Secrets in the same namespace as the VMSelect + object, which shall be mounted into the VMSelect Pods. + The Secrets are mounted into /etc/vm/secrets/. items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes - and common container settings. This defaults to the default - PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true serviceScrapeSpec: @@ -1373,32 +1427,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value - map stored with a resource that may be set by external - tools to store and retrieve arbitrary metadata. They - are not queryable and should be preserved when modifying - objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that - can be used to organize and categorize (scope and select) - objects. May match selectors of replication controllers - and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. - Is required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be - updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a - user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: @@ -1409,38 +1466,38 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true storage: - description: StorageSpec - add persistent volume claim for cacheMountPath + description: |- + StorageSpec - add persistent volume claim for cacheMountPath its needed for persistent cache properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be disabled by - default in a future release, this option will become unnecessary. - DisableMountSubPath allows to remove any subPath usage in - volume mounts.' + description: |- + Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. + DisableMountSubPath allows to remove any subPath usage in volume mounts. type: boolean emptyDir: - description: 'EmptyDirVolumeSource to be used by the Prometheus - StatefulSets. If specified, used in place of any volumeClaimTemplate. - More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' + description: |- + EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More + info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: medium: - description: 'medium represents what type of storage medium - should back this directory. The default is "" which - means to use the node''s default medium. Must be an - empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' + description: |- + medium represents what type of storage medium should back this directory. + The default is "" which means to use the node's default medium. + Must be an empty string (default) or Memory. + More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir type: string sizeLimit: anyOf: - type: integer - type: string - description: 'sizeLimit is the total amount of local storage - required for this EmptyDir volume. The size limit is - also applicable for memory medium. The maximum usage - on memory medium EmptyDir would be the minimum value - between the SizeLimit specified here and the sum of - memory limits of all containers in a pod. The default - is nil which means that the limit is undefined. More - info: http://kubernetes.io/docs/user-guide/volumes#emptydir' + description: |- + sizeLimit is the total amount of local storage required for this EmptyDir volume. + The size limit is also applicable for memory medium. + The maximum usage on memory medium EmptyDir would be the minimum value between + the SizeLimit specified here and the sum of memory limits of all containers in a pod. + The default is nil which means that the limit is undefined. + More info: http://kubernetes.io/docs/user-guide/volumes#emptydir pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -1448,16 +1505,19 @@ spec: description: A PVC spec to be used by the VMAlertManager StatefulSets. properties: apiVersion: - description: 'APIVersion defines the versioned schema - of this representation of an object. Servers should - convert recognized schemas to the latest internal value, - and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the - REST resource this object represents. Servers may infer - this from the endpoint the client submits requests to. - Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: description: EmbeddedMetadata contains metadata relevant @@ -1466,56 +1526,58 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value - map stored with a resource that may be set by external - tools to store and retrieve arbitrary metadata. - They are not queryable and should be preserved when - modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values - that can be used to organize and categorize (scope - and select) objects. May match selectors of replication - controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. - Is required when creating resources, although some - resources may allow a client to request the generation - of an appropriate name automatically. Name is primarily - intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'Spec defines the desired characteristics - of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + Spec defines the desired characteristics of a volume requested by a pod author. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the - provisioner or an external controller can support - the specified data source, it will create a new - volume based on the contents of the specified data - source. If the AnyVolumeDataSource feature gate - is enabled, this field will always have the same - contents as the DataSourceRef field.' + description: |- + dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. - For any other third-party types, APIGroup is - required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being @@ -1531,36 +1593,30 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from - which to populate the volume with data, if a non-empty - volume is desired. This may be any local object - from a non-empty API group (non core object) or - a PersistentVolumeClaim object. When this field - is specified, volume binding will only succeed if - the type of the specified object matches some installed - volume populator or dynamic provisioner. This field - will replace the functionality of the DataSource - field and as such if both fields are non-empty, - they must have the same value. For backwards compatibility, - both fields (DataSource and DataSourceRef) will - be set to the same value automatically if one of - them is empty and the other is non-empty. There - are two important differences between DataSource - and DataSourceRef: * While DataSource only allows - two specific types of objects, DataSourceRef allows - any non-core object, as well as PersistentVolumeClaim - objects. * While DataSource ignores disallowed values - (dropping them), DataSourceRef preserves all values, - and generates an error if a disallowed value is - specified. (Beta) Using this field requires the - AnyVolumeDataSource feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. - For any other third-party types, APIGroup is - required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being @@ -1576,12 +1632,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify - resource requirements that are lower than previous - value but must still be higher than capacity recorded - in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -1590,8 +1646,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -1600,12 +1657,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is - omitted for a container, it defaults to Limits - if that is explicitly specified, otherwise to - an implementation-defined value. More info: - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -1617,26 +1673,25 @@ spec: selector requirements. The requirements are ANDed. items: - description: A label selector requirement is - a selector that contains values, a key, and - an operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's - relationship to a set of values. Valid - operators are In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -1648,23 +1703,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the - StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume - is required by the claim. Value of Filesystem is - implied when not included in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to @@ -1672,14 +1726,15 @@ spec: type: string type: object status: - description: 'Status represents the current information/status - of a persistent volume claim. Read-only. More info: - https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + Status represents the current information/status of a persistent volume claim. + Read-only. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the actual access - modes the volume backing the PVC has. More info: - https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the actual access modes the volume backing the PVC has. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array @@ -1690,20 +1745,15 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity - when a volume expansion operation is requested. - For storage quota, the larger value from allocatedResources - and PVC.spec.resources is used. If allocatedResources - is not set, PVC.spec.resources alone is used for - quota calculation. If a volume expansion capacity - request is lowered, allocatedResources is only lowered - if there are no expansion operations in progress - and if the actual volume capacity is equal or lower - than the requested capacity. This is an alpha field - and requires enabling RecoverVolumeExpansionFailure - feature. + description: |- + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may + be larger than the actual capacity when a volume expansion operation is requested. + For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + If a volume expansion capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress and if the actual volume capacity + is equal or lower than the requested capacity. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: object capacity: additionalProperties: @@ -1716,10 +1766,9 @@ spec: of the underlying volume. type: object conditions: - description: conditions is the current Condition of - persistent volume claim. If underlying persistent - volume is being resized then the Condition will - be set to 'ResizeStarted'. + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being + resized then the Condition will be set to 'ResizeStarted'. items: description: PersistentVolumeClaimCondition contails details about state of pvc @@ -1740,12 +1789,10 @@ spec: indicating details about last transition. type: string reason: - description: reason is a unique, this should - be a short, machine understandable string - that gives the reason for condition's last - transition. If it reports "ResizeStarted" - that means the underlying persistent volume - is being resized. + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "ResizeStarted" that means the underlying + persistent volume is being resized. type: string status: type: string @@ -1763,12 +1810,11 @@ spec: PersistentVolumeClaim. type: string resizeStatus: - description: resizeStatus stores status of resize - operation. ResizeStatus is not set by default but - when expansion is complete resizeStatus is set to - empty string by resize controller or kubelet. This - is an alpha field and requires enabling RecoverVolumeExpansionFailure - feature. + description: |- + resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty + string by resize controller or kubelet. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: string type: object type: object @@ -1781,49 +1827,48 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates - any taint that matches the triple using - the matching operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. - Empty means match all taint effects. When specified, allowed - values are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match - all values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to - the value. Valid operators are Exists and Equal. Defaults - to Equal. Exists is equivalent to wildcard for value, - so that a pod can tolerate all taints of a particular - category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of - time the toleration (which must be of effect NoExecute, - otherwise this field is ignored) tolerates the taint. - By default, it is not set, which means tolerate the taint - forever (do not evict). Zero and negative values will - be treated as 0 (evict immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod - configuration option, controls how pods are spread across your - cluster among failure-domains such as regions, zones, nodes, - and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains + such as regions, zones, nodes, and other user-defined topology domains + https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. @@ -1835,42 +1880,45 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output Deployment definition. VolumeMounts specified - will be appended to other VolumeMounts in the VMSelect container, + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the VMSelect container, that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationNone is used. This - field is beta in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -1878,10 +1926,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes - on the output Deployment definition. Volumes specified will - be appended to other volumes that are generated as a result - of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output Deployment definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. @@ -1907,46 +1955,52 @@ spec: claim to a persistent volume properties: apiVersion: - description: 'APIVersion defines the versioned schema of - this representation of an object. Servers should convert - recognized schemas to the latest internal value, and may - reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST - resource this object represents. Servers may infer this - from the endpoint the client submits requests to. Cannot - be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: - description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata' + description: |- + Standard object's metadata. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata type: object x-kubernetes-preserve-unknown-fields: true spec: - description: 'spec defines the desired characteristics of - a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + spec defines the desired characteristics of a volume requested by a pod author. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the desired access - modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify - either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified - data source, it will create a new volume based on - the contents of the specified data source. If the - AnyVolumeDataSource feature gate is enabled, this - field will always have the same contents as the DataSourceRef - field.' + description: |- + dataSource field can be used to specify either: + * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -1963,33 +2017,29 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from - which to populate the volume with data, if a non-empty - volume is desired. This may be any local object from - a non-empty API group (non core object) or a PersistentVolumeClaim - object. When this field is specified, volume binding - will only succeed if the type of the specified object - matches some installed volume populator or dynamic - provisioner. This field will replace the functionality - of the DataSource field and as such if both fields - are non-empty, they must have the same value. For - backwards compatibility, both fields (DataSource and - DataSourceRef) will be set to the same value automatically - if one of them is empty and the other is non-empty. - There are two important differences between DataSource - and DataSourceRef: * While DataSource only allows - two specific types of objects, DataSourceRef allows - any non-core object, as well as PersistentVolumeClaim - objects. * While DataSource ignores disallowed values - (dropping them), DataSourceRef preserves all values, - and generates an error if a disallowed value is specified. - (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource - being referenced. If APIGroup is not specified, - the specified Kind must be in the core API group. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. type: string kind: @@ -2006,12 +2056,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources - the volume should have. If RecoverVolumeExpansionFailure - feature is enabled users are allowed to specify resource - requirements that are lower than previous value but - must still be higher than capacity recorded in the - status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -2020,8 +2070,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount - of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -2030,11 +2081,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount - of compute resources required. If Requests is - omitted for a container, it defaults to Limits - if that is explicitly specified, otherwise to - an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -2045,26 +2096,25 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -2076,23 +2126,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume - is required by the claim. Value of Filesystem is implied - when not included in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to @@ -2100,12 +2149,15 @@ spec: type: string type: object status: - description: 'status represents the current information/status - of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims' + description: |- + status represents the current information/status of a persistent volume claim. + Read-only. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims properties: accessModes: - description: 'accessModes contains the actual access - modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the actual access modes the volume backing the PVC has. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array @@ -2116,19 +2168,15 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: allocatedResources is the storage resource - within AllocatedResources tracks the capacity allocated - to a PVC. It may be larger than the actual capacity - when a volume expansion operation is requested. For - storage quota, the larger value from allocatedResources - and PVC.spec.resources is used. If allocatedResources - is not set, PVC.spec.resources alone is used for quota - calculation. If a volume expansion capacity request - is lowered, allocatedResources is only lowered if - there are no expansion operations in progress and - if the actual volume capacity is equal or lower than - the requested capacity. This is an alpha field and - requires enabling RecoverVolumeExpansionFailure feature. + description: |- + allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may + be larger than the actual capacity when a volume expansion operation is requested. + For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. + If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. + If a volume expansion capacity request is lowered, allocatedResources is only + lowered if there are no expansion operations in progress and if the actual volume capacity + is equal or lower than the requested capacity. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: object capacity: additionalProperties: @@ -2141,10 +2189,9 @@ spec: of the underlying volume. type: object conditions: - description: conditions is the current Condition of - persistent volume claim. If underlying persistent - volume is being resized then the Condition will be - set to 'ResizeStarted'. + description: |- + conditions is the current Condition of persistent volume claim. If underlying persistent volume is being + resized then the Condition will be set to 'ResizeStarted'. items: description: PersistentVolumeClaimCondition contails details about state of pvc @@ -2164,11 +2211,10 @@ spec: indicating details about last transition. type: string reason: - description: reason is a unique, this should be - a short, machine understandable string that - gives the reason for condition's last transition. - If it reports "ResizeStarted" that means the - underlying persistent volume is being resized. + description: |- + reason is a unique, this should be a short, machine understandable string that gives the reason + for condition's last transition. If it reports "ResizeStarted" that means the underlying + persistent volume is being resized. type: string status: type: string @@ -2185,27 +2231,27 @@ spec: description: phase represents the current phase of PersistentVolumeClaim. type: string resizeStatus: - description: resizeStatus stores status of resize operation. - ResizeStatus is not set by default but when expansion - is complete resizeStatus is set to empty string by - resize controller or kubelet. This is an alpha field - and requires enabling RecoverVolumeExpansionFailure - feature. + description: |- + resizeStatus stores status of resize operation. + ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty + string by resize controller or kubelet. + This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. type: string type: object type: object type: array configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the VMSelect object, which shall be mounted into the VMSelect - Pods. The ConfigMaps are mounted into /etc/vm/configs/. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the VMSelect + object, which shall be mounted into the VMSelect Pods. + The ConfigMaps are mounted into /etc/vm/configs/. items: type: string type: array containers: - description: Containers property allows to inject additions sidecars - or to patch existing containers. It can be useful for proxies, - backup, etc. + description: |- + Containers property allows to inject additions sidecars or to patch existing containers. + It can be useful for proxies, backup, etc. items: description: A single application container that you want to run within a pod. @@ -2215,21 +2261,24 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters - specified here will be merged to the generated DNS configuration - based on DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This - will be appended to the base nameservers generated from - DNSPolicy. Duplicated nameservers will be removed. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. + Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be - merged with the base options generated from DNSPolicy. Duplicated - entries will be removed. Resolution options given in Options + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options @@ -2243,9 +2292,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated - from DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -2270,15 +2320,16 @@ spec: C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. If - a variable cannot be resolved, the reference in the input - string will be unchanged. Double $$ are reduced to a single - $, which allows for escaping the $(VAR_NAME) syntax: i.e. + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless - of whether the variable exists or not. Defaults to "".' + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -2304,15 +2355,13 @@ spec: type: string type: object initContainers: - description: 'InitContainers allows adding initContainers to the - pod definition. Those can be used to e.g. fetch secrets for - injection into the VMSelect configuration from external sources. - Any errors during the execution of an initContainer will lead - to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at - any time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the VMSelect configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -2326,8 +2375,9 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true logFormat: - description: LogFormat for VMSelect to be configured with. default - or json + description: |- + LogFormat for VMSelect to be configured with. + default or json enum: - default - json @@ -2342,12 +2392,10 @@ spec: - PANIC type: string maintenanceInsertNodeIDs: - description: 'MaintenanceInsertNodeIDs - excludes given node ids - from insert requests routing, must contain pod suffixes - for - pod-0, id will be 0 and etc. lets say, you have pod-0, pod-1, - pod-2, pod-3. to exclude pod-0 and pod-3 from insert routing, - define nodeIDs: [0,3]. Useful at storage expanding, when you - want to rebalance some data at cluster.' + description: |- + MaintenanceInsertNodeIDs - excludes given node ids from insert requests routing, must contain pod suffixes - for pod-0, id will be 0 and etc. + lets say, you have pod-0, pod-1, pod-2, pod-3. to exclude pod-0 and pod-3 from insert routing, define nodeIDs: [0,3]. + Useful at storage expanding, when you want to rebalance some data at cluster. items: format: int32 type: integer @@ -2361,9 +2409,9 @@ spec: 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 + 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: @@ -2383,27 +2431,28 @@ spec: anyOf: - type: integer - type: string - description: An eviction is allowed if at most "maxUnavailable" - pods selected by "selector" are unavailable after the eviction, - i.e. even in absence of the evicted pod. For example, one - can prevent all voluntary evictions by specifying 0. This - is a mutually exclusive setting with "minAvailable". + description: |- + An eviction is allowed if at most "maxUnavailable" pods selected by + "selector" are unavailable after the eviction, i.e. even in absence of + the evicted pod. For example, one can prevent all voluntary evictions + by specifying 0. This is a mutually exclusive setting with "minAvailable". x-kubernetes-int-or-string: true minAvailable: anyOf: - type: integer - type: string - description: An eviction is allowed if at least "minAvailable" - pods selected by "selector" will still be available after - the eviction, i.e. even in the absence of the evicted pod. So - for example you can prevent all voluntary evictions by specifying - "100%". + description: |- + An eviction is allowed if at least "minAvailable" pods selected by + "selector" will still be available after the eviction, i.e. even in the + absence of the evicted pod. So for example you can prevent all voluntary + evictions by specifying "100%". x-kubernetes-int-or-string: true selectorLabels: additionalProperties: type: string - description: replaces default labels selector generated by - operator it's useful when you need to create custom budget + description: |- + replaces default labels selector generated by operator + it's useful when you need to create custom budget type: object type: object podMetadata: @@ -2413,27 +2462,29 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object port: @@ -2461,9 +2512,10 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true replicaCount: - description: ReplicaCount is the expected size of the VMStorage - cluster. The controller will eventually make the size of the - running cluster equal to the expected size. + description: |- + ReplicaCount is the expected size of the VMStorage cluster. The controller will + eventually make the size of the running cluster equal to the expected + size. format: int32 type: integer resources: @@ -2477,8 +2529,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -2487,42 +2540,46 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise 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. + 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 - process Can be changed for RollingUpdate + description: |- + RollingUpdateStrategy defines strategy for application updates + Default is OnDelete, in this case operator handles update process + Can be changed for RollingUpdate type: string runtimeClassName: - description: RuntimeClassName - defines runtime class for kubernetes - pod. https://kubernetes.io/docs/concepts/containers/runtime-class/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name type: string secrets: - description: Secrets is a list of Secrets in the same namespace - as the VMSelect object, which shall be mounted into the VMSelect - Pods. The Secrets are mounted into /etc/vm/secrets/. + description: |- + Secrets is a list of Secrets in the same namespace as the VMSelect + object, which shall be mounted into the VMSelect Pods. + The Secrets are mounted into /etc/vm/secrets/. items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes - and common container settings. This defaults to the default - PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true serviceScrapeSpec: @@ -2543,32 +2600,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value - map stored with a resource that may be set by external - tools to store and retrieve arbitrary metadata. They - are not queryable and should be preserved when modifying - objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that - can be used to organize and categorize (scope and select) - objects. May match selectors of replication controllers - and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. - Is required when creating resources, although some resources - may allow a client to request the generation of an appropriate - name automatically. Name is primarily intended for creation - idempotence and configuration definition. Cannot be - updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a - user creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: @@ -2579,38 +2639,38 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true storage: - description: Storage - add persistent volume for StorageDataPath + description: |- + Storage - add persistent volume for StorageDataPath its useful for persistent cache properties: disableMountSubPath: - description: 'Deprecated: subPath usage will be disabled by - default in a future release, this option will become unnecessary. - DisableMountSubPath allows to remove any subPath usage in - volume mounts.' + description: |- + Deprecated: subPath usage will be disabled by default in a future release, this option will become unnecessary. + DisableMountSubPath allows to remove any subPath usage in volume mounts. type: boolean emptyDir: - description: 'EmptyDirVolumeSource to be used by the Prometheus - StatefulSets. If specified, used in place of any volumeClaimTemplate. - More info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir' + description: |- + EmptyDirVolumeSource to be used by the Prometheus StatefulSets. If specified, used in place of any volumeClaimTemplate. More + info: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir properties: medium: - description: 'medium represents what type of storage medium - should back this directory. The default is "" which - means to use the node''s default medium. Must be an - empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir' + description: |- + medium represents what type of storage medium should back this directory. + The default is "" which means to use the node's default medium. + Must be an empty string (default) or Memory. + More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir type: string sizeLimit: anyOf: - type: integer - type: string - description: 'sizeLimit is the total amount of local storage - required for this EmptyDir volume. The size limit is - also applicable for memory medium. The maximum usage - on memory medium EmptyDir would be the minimum value - between the SizeLimit specified here and the sum of - memory limits of all containers in a pod. The default - is nil which means that the limit is undefined. More - info: http://kubernetes.io/docs/user-guide/volumes#emptydir' + description: |- + sizeLimit is the total amount of local storage required for this EmptyDir volume. + The size limit is also applicable for memory medium. + The maximum usage on memory medium EmptyDir would be the minimum value between + the SizeLimit specified here and the sum of memory limits of all containers in a pod. + The default is nil which means that the limit is undefined. + More info: http://kubernetes.io/docs/user-guide/volumes#emptydir pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true type: object @@ -2630,49 +2690,48 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates - any taint that matches the triple using - the matching operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. - Empty means match all taint effects. When specified, allowed - values are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match - all values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to - the value. Valid operators are Exists and Equal. Defaults - to Equal. Exists is equivalent to wildcard for value, - so that a pod can tolerate all taints of a particular - category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of - time the toleration (which must be of effect NoExecute, - otherwise this field is ignored) tolerates the taint. - By default, it is not set, which means tolerate the taint - forever (do not evict). Zero and negative values will - be treated as 0 (evict immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod - configuration option, controls how pods are spread across your - cluster among failure-domains such as regions, zones, nodes, - and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains + such as regions, zones, nodes, and other user-defined topology domains + https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: description: TopologySpreadConstraint specifies how to spread matching pods among the given topology. @@ -2687,9 +2746,10 @@ spec: description: VMBackup configuration for backup properties: acceptEULA: - description: AcceptEULA accepts enterprise feature usage, - must be set to true. otherwise backupmanager cannot be added - to single/cluster version. https://victoriametrics.com/legal/esa/ + description: |- + AcceptEULA accepts enterprise feature usage, must be set to true. + otherwise backupmanager cannot be added to single/cluster version. + https://victoriametrics.com/legal/esa/ type: boolean concurrency: description: Defines number of concurrent workers. Higher @@ -2697,17 +2757,19 @@ spec: format: int32 type: integer credentialsSecret: - description: CredentialsSecret is secret in the same namespace - for access to remote storage The secret is mounted into - /etc/vm/creds. + description: |- + CredentialsSecret is secret in the same namespace for access to remote storage + The secret is mounted into /etc/vm/creds. 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?' + 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 @@ -2725,10 +2787,10 @@ spec: description: Defines destination for backup type: string destinationDisableSuffixAdd: - description: DestinationDisableSuffixAdd - disables suffix - adding for cluster version backups each vmstorage backup - must have unique backup folder so operator adds POD_NAME - as suffix for backup destination folder. + description: |- + DestinationDisableSuffixAdd - disables suffix adding for cluster version backups + each vmstorage backup must have unique backup folder + so operator adds POD_NAME as suffix for backup destination folder. type: boolean disableDaily: description: Defines if daily backups disabled (default false) @@ -2758,16 +2820,16 @@ spec: be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables - in the container and any service environment variables. - If a variable cannot be resolved, the reference in - the input string will be unchanged. Double $$ are - reduced to a single $, which allows for escaping the - $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce - the string literal "$(VAR_NAME)". Escaped references - will never be expanded, regardless of whether the - variable exists or not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string valueFrom: description: Source for the environment variable's value. @@ -2780,10 +2842,10 @@ spec: 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?' + 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 @@ -2794,11 +2856,9 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Selects a field of the pod: supports - metadata.name, metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: description: Version of the schema the FieldPath @@ -2813,11 +2873,9 @@ spec: type: object x-kubernetes-map-type: atomic resourceFieldRef: - description: 'Selects a resource of the container: - only resources limits and requests (limits.cpu, - limits.memory, limits.ephemeral-storage, requests.cpu, - requests.memory and requests.ephemeral-storage) - are currently supported.' + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: description: 'Container name: required for volumes, @@ -2847,10 +2905,10 @@ spec: 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?' + 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 @@ -2880,7 +2938,8 @@ spec: type: string type: object logFormat: - description: LogFormat for VMSelect to be configured with. + description: |- + LogFormat for VMSelect to be configured with. default or json enum: - default @@ -2899,10 +2958,9 @@ spec: description: Port for health check connections type: string resources: - description: Resources container resource request and limits, - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - if not defined default resources from operator config will - be used + description: |- + Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + if not defined default resources from operator config will be used properties: limits: additionalProperties: @@ -2911,8 +2969,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -2921,16 +2980,17 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of - compute resources required. If Requests is omitted for - a container, it defaults to Limits if that is explicitly - specified, otherwise to an implementation-defined value. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object restore: - description: 'Restore Allows to enable restore options for - pod Read more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands' + description: |- + Restore Allows to enable restore options for pod + Read more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands properties: onStart: description: OnStart defines configuration for restore @@ -2950,44 +3010,45 @@ spec: delete type: string volumeMounts: - description: VolumeMounts allows configuration of additional - VolumeMounts on the output Deployment definition. VolumeMounts - specified will be appended to other VolumeMounts in the - vmbackupmanager container, that are generated as a result - of StorageSpec objects. + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the vmbackupmanager container, + that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the - volume should be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts - are propagated from the host to container and the - other way around. When not set, MountPropagationNone - is used. This field is beta in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's - root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves - similarly to SubPath but environment variable references - $(VAR_NAME) are expanded using the container's environment. - Defaults to "" (volume's root). SubPathExpr and SubPath - are mutually exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -3002,42 +3063,45 @@ spec: description: VMSelectPort for VMSelect connections type: string volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output Deployment definition. VolumeMounts specified - will be appended to other VolumeMounts in the VMSelect container, + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the VMSelect container, that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationNone is used. This - field is beta in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -3045,10 +3109,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes - on the output Deployment definition. Volumes specified will - be appended to other volumes that are generated as a result - of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output Deployment definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. diff --git a/config/crd/bases/operator.victoriametrics.com_vmnodescrapes.yaml b/config/crd/bases/operator.victoriametrics.com_vmnodescrapes.yaml index 0763669ab..ba85f7615 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmnodescrapes.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmnodescrapes.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmnodescrapes.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -16,19 +16,25 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: VMNodeScrape defines discovery for targets placed on kubernetes - nodes, usually its node-exporters and other host services. InternalIP is - used as __address__ for scraping. + description: |- + VMNodeScrape defines discovery for targets placed on kubernetes nodes, + usually its node-exporters and other host services. + InternalIP is used as __address__ for scraping. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -46,8 +52,10 @@ spec: 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?' + 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 @@ -65,21 +73,25 @@ spec: type: string type: object basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over basic - authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' + description: |- + BasicAuth allow an endpoint to authenticate over basic authentication + More info: https://prometheus.io/docs/operating/configuration/#endpoints 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 + 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?' + 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 @@ -93,17 +105,20 @@ spec: 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 + 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?' + 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 @@ -118,8 +133,10 @@ spec: description: File to read bearer token for scraping targets. type: string bearerTokenSecret: - description: Secret to mount to read bearer token for scraping targets. - The secret needs to be accessible by the victoria-metrics operator. + description: |- + Secret to mount to read bearer token for scraping targets. The secret + needs to be accessible by + the victoria-metrics operator. nullable: true properties: key: @@ -127,8 +144,10 @@ spec: 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?' + 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 @@ -157,9 +176,10 @@ spec: metricRelabelConfigs: description: MetricRelabelConfigs to apply to samples before ingestion. items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -189,40 +209,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -240,8 +262,10 @@ spec: 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?' + 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 @@ -259,8 +283,10 @@ spec: 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?' + 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 @@ -279,8 +305,10 @@ spec: 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?' + 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 @@ -329,12 +357,14 @@ spec: proxy through this endpoint. type: string relabelConfigs: - description: 'RelabelConfigs to apply to samples before scraping. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + description: |- + RelabelConfigs to apply to samples before scraping. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config items: - description: 'RelabelConfig allows dynamic rewriting of the label - set, being applied to samples before ingestion. It defines ``-section - of configuration. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. Default @@ -364,40 +394,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex capture - groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form of source - labels source_labels for compatibility with original relabel - config. if set both sourceLabels and source_labels, sourceLabels - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing labels. - Their content is concatenated using the configured separator - and matched against the configured regular expression for - the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of target - label - target_label for compatibility with original relabel - config. if set both targetLabel and target_label, targetLabel - has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written in - a replace action. It is mandatory for replace actions. Regex - capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -413,11 +445,17 @@ spec: - https type: string scrape_interval: - description: ScrapeInterval is the same as Interval and has priority - over it. one of scrape_interval or interval can be used + description: |- + ScrapeInterval is the same as Interval and has priority over it. + one of scrape_interval or interval can be used type: string + scrape_protocols: + description: ScrapeProtocols defines Prometheus scrape protocol. + items: + type: string + type: array scrapeTimeout: - description: Timeout after which the scrape is ended + description: ScrapeTimeout after which the scrape is ended type: string selector: description: Selector to select kubernetes Nodes. @@ -426,24 +464,24 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -456,11 +494,10 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic @@ -483,8 +520,10 @@ spec: 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?' + 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 @@ -502,8 +541,10 @@ spec: 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?' + 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 @@ -528,8 +569,10 @@ spec: 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?' + 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 @@ -547,8 +590,10 @@ spec: 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?' + 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 @@ -578,8 +623,10 @@ spec: 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?' + 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 @@ -602,10 +649,12 @@ spec: disable_keep_alive: type: boolean headers: - description: 'Headers allows sending custom headers to scrape - targets must be in of semicolon separated header with it''s - value eg: headerName: headerValue vmagent supports since 1.79.0 - version' + description: |- + Headers allows sending custom headers to scrape targets + must be in of semicolon separated header with it's value + eg: + headerName: headerValue + vmagent supports since 1.79.0 version items: type: string type: array @@ -614,26 +663,29 @@ spec: no_stale_markers: type: boolean proxy_client_config: - description: ProxyClientConfig configures proxy auth settings - for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy + description: |- + ProxyClientConfig configures proxy auth settings for scraping + See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy properties: basic_auth: description: BasicAuth allow an endpoint to authenticate over basic authentication 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 + 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?' + 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 @@ -648,18 +700,20 @@ spec: 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 + 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?' + 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 @@ -678,8 +732,10 @@ spec: 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?' + 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 @@ -706,10 +762,10 @@ spec: 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?' + 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 @@ -728,10 +784,10 @@ spec: 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?' + 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 @@ -758,10 +814,10 @@ spec: 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?' + 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 @@ -780,10 +836,10 @@ spec: 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?' + 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 @@ -814,9 +870,10 @@ spec: 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?' + 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 diff --git a/config/crd/bases/operator.victoriametrics.com_vmpodscrapes.yaml b/config/crd/bases/operator.victoriametrics.com_vmpodscrapes.yaml index e3ce02cf8..a5f2ff3b2 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmpodscrapes.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmpodscrapes.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmpodscrapes.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -16,18 +16,25 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: VMPodScrape is scrape configuration for pods, it generates vmagent's - config for scraping pod targets based on selectors. + description: |- + VMPodScrape is scrape configuration for pods, + it generates vmagent's config for scraping pod targets + based on selectors. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -42,8 +49,9 @@ spec: are discovered from. properties: any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. + description: |- + Boolean describing whether all namespaces are selected in contrast to a + list restricting them. type: boolean matchNames: description: List of namespace names. @@ -62,9 +70,9 @@ spec: service discovery properties: node: - description: 'Node instructs vmagent to add node specific - metadata from service discovery Valid for roles: pod, - endpoints, endpointslice.' + description: |- + Node instructs vmagent to add node specific metadata from service discovery + Valid for roles: pod, endpoints, endpointslice. type: boolean type: object authorization: @@ -78,8 +86,10 @@ spec: 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?' + 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 @@ -97,21 +107,25 @@ spec: type: string type: object basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' + description: |- + BasicAuth allow an endpoint to authenticate over basic authentication + More info: https://prometheus.io/docs/operating/configuration/#endpoints 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 + 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?' + 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 @@ -126,17 +140,20 @@ spec: 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 + 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?' + 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 @@ -151,9 +168,10 @@ spec: description: File to read bearer token for scraping targets. type: string bearerTokenSecret: - description: Secret to mount to read bearer token for scraping - targets. The secret needs to be in the same namespace as the - service scrape and accessible by the victoria-metrics operator. + description: |- + Secret to mount to read bearer token for scraping targets. The secret + needs to be in the same namespace as the service scrape and accessible by + the victoria-metrics operator. nullable: true properties: key: @@ -161,8 +179,10 @@ spec: 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?' + 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 @@ -173,9 +193,10 @@ spec: type: object x-kubernetes-map-type: atomic filterRunning: - description: FilterRunning applies filter with pod status == - running it prevents from scrapping metrics at failed or succeed - state pods. enabled by default + description: |- + FilterRunning applies filter with pod status == running + it prevents from scrapping metrics at failed or succeed state pods. + enabled by default type: boolean follow_redirects: description: FollowRedirects controls redirects for scraping. @@ -195,10 +216,10 @@ spec: description: MetricRelabelConfigs to apply to samples before ingestion. items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -228,41 +249,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels and - source_labels, sourceLabels has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of - target label - target_label for compatibility with original - relabel config. if set both targetLabel and target_label, - targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -281,9 +303,10 @@ spec: 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?' + 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 @@ -301,9 +324,10 @@ spec: 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?' + 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 @@ -322,8 +346,10 @@ spec: 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?' + 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 @@ -374,13 +400,14 @@ spec: to proxy through this endpoint. type: string relabelConfigs: - description: 'RelabelConfigs to apply to samples before ingestion. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + description: |- + RelabelConfigs to apply to samples before ingestion. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -410,41 +437,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels and - source_labels, sourceLabels has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of - target label - target_label for compatibility with original - relabel config. if set both targetLabel and target_label, - targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -460,12 +488,17 @@ spec: - https type: string scrape_interval: - description: ScrapeInterval is the same as Interval and has - priority over it. one of scrape_interval or interval can be - used + description: |- + ScrapeInterval is the same as Interval and has priority over it. + one of scrape_interval or interval can be used type: string + scrape_protocols: + description: ScrapeProtocols defines Prometheus scrape protocol. + items: + type: string + type: array scrapeTimeout: - description: Timeout after which the scrape is ended + description: ScrapeTimeout after which the scrape is ended type: string targetPort: anyOf: @@ -489,9 +522,10 @@ spec: 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?' + 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 @@ -509,9 +543,10 @@ spec: 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?' + 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 @@ -538,9 +573,10 @@ spec: 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?' + 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 @@ -558,9 +594,10 @@ spec: 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?' + 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 @@ -591,8 +628,10 @@ spec: 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?' + 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 @@ -615,10 +654,12 @@ spec: disable_keep_alive: type: boolean headers: - description: 'Headers allows sending custom headers to scrape - targets must be in of semicolon separated header with - it''s value eg: headerName: headerValue vmagent supports - since 1.79.0 version' + description: |- + Headers allows sending custom headers to scrape targets + must be in of semicolon separated header with it's value + eg: + headerName: headerValue + vmagent supports since 1.79.0 version items: type: string type: array @@ -627,16 +668,18 @@ spec: no_stale_markers: type: boolean proxy_client_config: - description: ProxyClientConfig configures proxy auth settings - for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy + description: |- + ProxyClientConfig configures proxy auth settings for scraping + See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy properties: basic_auth: description: BasicAuth allow an endpoint to authenticate over basic authentication properties: password: - description: The secret in the service scrape namespace - that contains the password for authentication. + 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: @@ -644,10 +687,10 @@ spec: 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?' + 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 @@ -662,8 +705,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape namespace - that contains the username for authentication. + 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: @@ -671,10 +715,10 @@ spec: 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?' + 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 @@ -693,9 +737,10 @@ spec: 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?' + 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 @@ -723,10 +768,10 @@ spec: 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?' + 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 @@ -745,10 +790,10 @@ spec: 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?' + 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 @@ -775,10 +820,10 @@ spec: 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?' + 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 @@ -797,10 +842,10 @@ spec: 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?' + 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 @@ -831,10 +876,10 @@ spec: 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?' + 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 @@ -879,24 +924,24 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -909,11 +954,10 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic diff --git a/config/crd/bases/operator.victoriametrics.com_vmprobes.yaml b/config/crd/bases/operator.victoriametrics.com_vmprobes.yaml index 4a379b345..d7dc10d64 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmprobes.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmprobes.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmprobes.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -16,19 +16,25 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: VMProbe defines a probe for targets, that will be executed with - prober, like blackbox exporter. It helps to monitor reachability of target - with various checks. + description: |- + VMProbe defines a probe for targets, that will be executed with prober, + like blackbox exporter. + It helps to monitor reachability of target with various checks. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -46,8 +52,10 @@ spec: 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?' + 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 @@ -65,21 +73,25 @@ spec: type: string type: object basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over basic - authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' + description: |- + BasicAuth allow an endpoint to authenticate over basic authentication + More info: https://prometheus.io/docs/operating/configuration/#endpoints 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 + 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?' + 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 @@ -93,17 +105,20 @@ spec: 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 + 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?' + 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 @@ -118,9 +133,10 @@ spec: description: File to read bearer token for scraping targets. type: string bearerTokenSecret: - description: Secret to mount to read bearer token for scraping targets. - The secret needs to be in the same namespace as the service scrape - and accessible by the victoria-metrics operator. + description: |- + Secret to mount to read bearer token for scraping targets. The secret + needs to be in the same namespace as the service scrape and accessible by + the victoria-metrics operator. nullable: true properties: key: @@ -128,8 +144,10 @@ spec: 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?' + 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 @@ -142,16 +160,18 @@ spec: description: FollowRedirects controls redirects for scraping. type: boolean interval: - description: Interval at which targets are probed using the configured - prober. If not specified Prometheus' global scrape interval is used. + description: |- + Interval at which targets are probed using the configured prober. + If not specified Prometheus' global scrape interval is used. type: string jobName: description: The job name assigned to scraped metrics by default. type: string module: - description: 'The module to use for probing specifying how to probe - the target. Example module configuring in the blackbox exporter: - https://github.com/prometheus/blackbox_exporter/blob/master/example.yml' + description: |- + The module to use for probing specifying how to probe the target. + Example module configuring in the blackbox exporter: + https://github.com/prometheus/blackbox_exporter/blob/master/example.yml type: string oauth2: description: OAuth2 defines auth configuration @@ -167,8 +187,10 @@ spec: 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?' + 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 @@ -186,8 +208,10 @@ spec: 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?' + 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 @@ -206,8 +230,10 @@ spec: 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?' + 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 @@ -251,8 +277,9 @@ spec: format: int64 type: integer scrape_interval: - description: ScrapeInterval is the same as Interval and has priority - over it. one of scrape_interval or interval can be used + description: |- + ScrapeInterval is the same as Interval and has priority over it. + one of scrape_interval or interval can be used type: string scrapeTimeout: description: Timeout for scraping metrics from the Prometheus exporter. @@ -269,8 +296,9 @@ spec: description: Select Ingress objects by namespace. properties: any: - description: Boolean describing whether all namespaces - are selected in contrast to a list restricting them. + description: |- + Boolean describing whether all namespaces are selected in contrast to a + list restricting them. type: boolean matchNames: description: List of namespace names. @@ -279,13 +307,14 @@ spec: type: array type: object relabelingConfigs: - description: 'RelabelConfigs to apply to samples before ingestion. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + description: |- + RelabelConfigs to apply to samples before ingestion. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config items: - description: 'RelabelConfig allows dynamic rewriting of - the label set, being applied to samples before ingestion. + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -315,42 +344,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex - replace is performed if the regular expression matches. - Regex capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels - and source_labels, sourceLabels has priority. for - details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form - of target label - target_label for compatibility with - original relabel config. if set both targetLabel - and target_label, targetLabel has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -361,8 +390,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -370,17 +399,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -392,18 +420,18 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic type: object staticConfig: - description: 'StaticConfig defines static targets which are considers - for probing. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.' + description: |- + StaticConfig defines static targets which are considers for probing. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config. properties: labels: additionalProperties: @@ -414,10 +442,10 @@ spec: relabelingConfigs: description: 'More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' items: - description: 'RelabelConfig allows dynamic rewriting of - the label set, being applied to samples before ingestion. + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -447,42 +475,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex - replace is performed if the regular expression matches. - Regex capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels - and source_labels, sourceLabels has priority. for - details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form - of target label - target_label for compatibility with - original relabel config. if set both targetLabel - and target_label, targetLabel has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -509,8 +537,10 @@ spec: 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?' + 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 @@ -528,8 +558,10 @@ spec: 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?' + 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 @@ -554,8 +586,10 @@ spec: 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?' + 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 @@ -573,8 +607,10 @@ spec: 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?' + 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 @@ -604,8 +640,10 @@ spec: 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?' + 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 @@ -628,10 +666,12 @@ spec: disable_keep_alive: type: boolean headers: - description: 'Headers allows sending custom headers to scrape - targets must be in of semicolon separated header with it''s - value eg: headerName: headerValue vmagent supports since 1.79.0 - version' + description: |- + Headers allows sending custom headers to scrape targets + must be in of semicolon separated header with it's value + eg: + headerName: headerValue + vmagent supports since 1.79.0 version items: type: string type: array @@ -640,26 +680,29 @@ spec: no_stale_markers: type: boolean proxy_client_config: - description: ProxyClientConfig configures proxy auth settings - for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy + description: |- + ProxyClientConfig configures proxy auth settings for scraping + See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy properties: basic_auth: description: BasicAuth allow an endpoint to authenticate over basic authentication 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 + 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?' + 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 @@ -674,18 +717,20 @@ spec: 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 + 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?' + 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 @@ -704,8 +749,10 @@ spec: 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?' + 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 @@ -732,10 +779,10 @@ spec: 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?' + 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 @@ -754,10 +801,10 @@ spec: 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?' + 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 @@ -784,10 +831,10 @@ spec: 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?' + 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 @@ -806,10 +853,10 @@ spec: 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?' + 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 @@ -840,9 +887,10 @@ spec: 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?' + 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 @@ -867,15 +915,19 @@ spec: type: boolean type: object vmProberSpec: - description: Specification for the prober to use for probing targets. - The prober.URL parameter is required. Targets cannot be probed if - left empty. + description: |- + Specification for the prober to use for probing targets. + The prober.URL parameter is required. Targets cannot be probed if left empty. properties: path: - description: Path to collect metrics from. Defaults to `/probe`. + description: |- + Path to collect metrics from. + Defaults to `/probe`. type: string scheme: - description: HTTP scheme to use for scraping. Defaults to `http`. + description: |- + HTTP scheme to use for scraping. + Defaults to `http`. enum: - http - https diff --git a/config/crd/bases/operator.victoriametrics.com_vmrules.yaml b/config/crd/bases/operator.victoriametrics.com_vmrules.yaml index 4a6ebc8cc..768a5ab94 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmrules.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmrules.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmrules.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -19,14 +19,19 @@ spec: description: VMRule defines rule records for vmalert application properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -45,16 +50,20 @@ spec: extra_filter_labels: additionalProperties: type: string - description: ExtraFilterLabels optional list of label filters - applied to every rule's request withing a group. Is compatible - only with VM datasource. See more details at https://docs.victoriametrics.com#prometheus-querying-api-enhancements + description: |- + ExtraFilterLabels optional list of label filters applied to every rule's + request withing a group. Is compatible only with VM datasource. + See more details at https://docs.victoriametrics.com#prometheus-querying-api-enhancements Deprecated, use params instead type: object headers: - description: 'Headers contains optional HTTP headers added to - each rule request Must be in form `header-name: value` For - example: headers: - "CustomHeader: foo" - "CustomHeader2: - bar"' + description: |- + Headers contains optional HTTP headers added to each rule request + Must be in form `header-name: value` + For example: + headers: + - "CustomHeader: foo" + - "CustomHeader2: bar" items: type: string type: array @@ -64,23 +73,28 @@ spec: labels: additionalProperties: type: string - description: Labels optional list of labels added to every rule - within a group. It has priority over the external labels. - Labels are commonly used for adding environment or tenant-specific - tag. + description: |- + Labels optional list of labels added to every rule within a group. + It has priority over the external labels. + Labels are commonly used for adding environment + or tenant-specific tag. type: object limit: - description: Limit the number of alerts an alerting rule and - series a recording rule can produce + description: |- + Limit the number of alerts an alerting rule and series a recording + rule can produce type: integer name: description: Name of group type: string notifier_headers: - description: 'NotifierHeaders contains optional HTTP headers - added to each alert request which will send to notifier Must - be in form `header-name: value` For example: headers: - "CustomHeader: - foo" - "CustomHeader2: bar"' + description: |- + NotifierHeaders contains optional HTTP headers added to each alert request which will send to notifier + Must be in form `header-name: value` + For example: + headers: + - "CustomHeader: foo" + - "CustomHeader2: bar" items: type: string type: array @@ -106,22 +120,24 @@ spec: description: Annotations will be added to rule configuration type: object debug: - description: Debug enables logging for rule it useful - for tracking + description: |- + Debug enables logging for rule + it useful for tracking type: boolean expr: description: Expr is query, that will be evaluated at dataSource type: string for: - description: For evaluation interval in time.Duration - format 30s, 1m, 1h or nanoseconds + description: |- + For evaluation interval in time.Duration format + 30s, 1m, 1h or nanoseconds type: string keep_firing_for: - description: KeepFiringFor will make alert continue firing - for this long even when the alerting expression no longer - has results. Use time.Duration format, 30s, 1m, 1h or - nanoseconds + description: |- + KeepFiringFor will make alert continue firing for this long + even when the alerting expression no longer has results. + Use time.Duration format, 30s, 1m, 1h or nanoseconds type: string labels: additionalProperties: @@ -133,19 +149,21 @@ spec: to dataSource type: string update_entries_limit: - description: UpdateEntriesLimit defines max number of - rule's state updates stored in memory. Overrides `-rule.updateEntriesLimit` - in vmalert. + description: |- + UpdateEntriesLimit defines max number of rule's state updates stored in memory. + Overrides `-rule.updateEntriesLimit` in vmalert. type: integer type: object type: array tenant: - description: Tenant id for group, can be used only with enterprise - version of vmalert See more details at https://docs.victoriametrics.com/vmalert.html#multitenancy + description: |- + Tenant id for group, can be used only with enterprise version of vmalert + See more details at https://docs.victoriametrics.com/vmalert.html#multitenancy type: string type: - description: Type defines datasource type for enterprise version - of vmalert possible values - prometheus,graphite + description: |- + Type defines datasource type for enterprise version of vmalert + possible values - prometheus,graphite type: string required: - name diff --git a/config/crd/bases/operator.victoriametrics.com_vmservicescrapes.yaml b/config/crd/bases/operator.victoriametrics.com_vmservicescrapes.yaml index 890e47d09..3710349b9 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmservicescrapes.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmservicescrapes.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmservicescrapes.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -16,19 +16,26 @@ spec: - name: v1beta1 schema: openAPIV3Schema: - description: VMServiceScrape is scrape configuration for endpoints associated - with kubernetes service, it generates scrape configuration for vmagent based - on selectors. result config will scrape service endpoints + description: |- + VMServiceScrape is scrape configuration for endpoints associated with + kubernetes service, + it generates scrape configuration for vmagent based on selectors. + result config will scrape service endpoints properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -36,10 +43,12 @@ spec: description: VMServiceScrapeSpec defines the desired state of VMServiceScrape properties: discoveryRole: - description: 'DiscoveryRole - defines kubernetes_sd role for objects - discovery. by default, its endpoints. can be changed to service - or endpointslices. note, that with service setting, you have to - use port: "name" and cannot use targetPort for endpoints.' + description: |- + DiscoveryRole - defines kubernetes_sd role for objects discovery. + by default, its endpoints. + can be changed to service or endpointslices. + note, that with service setting, you have to use port: "name" + and cannot use targetPort for endpoints. enum: - endpoints - service @@ -56,9 +65,9 @@ spec: service discovery properties: node: - description: 'Node instructs vmagent to add node specific - metadata from service discovery Valid for roles: pod, - endpoints, endpointslice.' + description: |- + Node instructs vmagent to add node specific metadata from service discovery + Valid for roles: pod, endpoints, endpointslice. type: boolean type: object authorization: @@ -72,8 +81,10 @@ spec: 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?' + 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 @@ -91,21 +102,25 @@ spec: type: string type: object basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' + description: |- + BasicAuth allow an endpoint to authenticate over basic authentication + More info: https://prometheus.io/docs/operating/configuration/#endpoints 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 + 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?' + 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 @@ -120,17 +135,20 @@ spec: 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 + 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?' + 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 @@ -145,9 +163,10 @@ spec: description: File to read bearer token for scraping targets. type: string bearerTokenSecret: - description: Secret to mount to read bearer token for scraping - targets. The secret needs to be in the same namespace as the - service scrape and accessible by the victoria-metrics operator. + description: |- + Secret to mount to read bearer token for scraping targets. The secret + needs to be in the same namespace as the service scrape and accessible by + the victoria-metrics operator. nullable: true properties: key: @@ -155,8 +174,10 @@ spec: 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?' + 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 @@ -184,10 +205,10 @@ spec: description: MetricRelabelConfigs to apply to samples before ingestion. items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -217,41 +238,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels and - source_labels, sourceLabels has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of - target label - target_label for compatibility with original - relabel config. if set both targetLabel and target_label, - targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -270,9 +292,10 @@ spec: 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?' + 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 @@ -290,9 +313,10 @@ spec: 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?' + 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 @@ -311,8 +335,10 @@ spec: 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?' + 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 @@ -363,13 +389,14 @@ spec: to proxy through this endpoint. type: string relabelConfigs: - description: 'RelabelConfigs to apply to samples before scraping. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + description: |- + RelabelConfigs to apply to samples before scraping. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -399,41 +426,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels and - source_labels, sourceLabels has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of - target label - target_label for compatibility with original - relabel config. if set both targetLabel and target_label, - targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -449,12 +477,17 @@ spec: - https type: string scrape_interval: - description: ScrapeInterval is the same as Interval and has - priority over it. one of scrape_interval or interval can be - used + description: |- + ScrapeInterval is the same as Interval and has priority over it. + one of scrape_interval or interval can be used type: string + scrape_protocols: + description: ScrapeProtocols defines Prometheus scrape protocol. + items: + type: string + type: array scrapeTimeout: - description: Timeout after which the scrape is ended + description: ScrapeTimeout after which the scrape is ended type: string targetPort: anyOf: @@ -479,9 +512,10 @@ spec: 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?' + 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 @@ -499,9 +533,10 @@ spec: 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?' + 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 @@ -528,9 +563,10 @@ spec: 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?' + 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 @@ -548,9 +584,10 @@ spec: 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?' + 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 @@ -581,8 +618,10 @@ spec: 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?' + 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 @@ -605,10 +644,12 @@ spec: disable_keep_alive: type: boolean headers: - description: 'Headers allows sending custom headers to scrape - targets must be in of semicolon separated header with - it''s value eg: headerName: headerValue vmagent supports - since 1.79.0 version' + description: |- + Headers allows sending custom headers to scrape targets + must be in of semicolon separated header with it's value + eg: + headerName: headerValue + vmagent supports since 1.79.0 version items: type: string type: array @@ -617,16 +658,18 @@ spec: no_stale_markers: type: boolean proxy_client_config: - description: ProxyClientConfig configures proxy auth settings - for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy + description: |- + ProxyClientConfig configures proxy auth settings for scraping + See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy properties: basic_auth: description: BasicAuth allow an endpoint to authenticate over basic authentication properties: password: - description: The secret in the service scrape namespace - that contains the password for authentication. + 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: @@ -634,10 +677,10 @@ spec: 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?' + 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 @@ -652,8 +695,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape namespace - that contains the username for authentication. + 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: @@ -661,10 +705,10 @@ spec: 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?' + 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 @@ -683,9 +727,10 @@ spec: 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?' + 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 @@ -713,10 +758,10 @@ spec: 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?' + 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 @@ -735,10 +780,10 @@ spec: 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?' + 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 @@ -765,10 +810,10 @@ spec: 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?' + 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 @@ -787,10 +832,10 @@ spec: 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?' + 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 @@ -821,10 +866,10 @@ spec: 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?' + 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 @@ -859,8 +904,9 @@ spec: are discovered from. properties: any: - description: Boolean describing whether all namespaces are selected - in contrast to a list restricting them. + description: |- + Boolean describing whether all namespaces are selected in contrast to a + list restricting them. type: boolean matchNames: description: List of namespace names. @@ -887,24 +933,24 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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 + 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. items: type: string @@ -917,11 +963,10 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic diff --git a/config/crd/bases/operator.victoriametrics.com_vmsingles.yaml b/config/crd/bases/operator.victoriametrics.com_vmsingles.yaml index 3fd0aadab..25d51e350 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmsingles.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmsingles.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmsingles.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -24,14 +24,19 @@ spec: description: VMSingle is fast, cost-effective and scalable time-series database. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -43,16 +48,16 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true configMaps: - description: ConfigMaps is a list of ConfigMaps in the same namespace - as the VMSingle object, which shall be mounted into the VMSingle - Pods. + description: |- + ConfigMaps is a list of ConfigMaps in the same namespace as the VMSingle + object, which shall be mounted into the VMSingle Pods. items: type: string type: array containers: - description: Containers property allows to inject additions sidecars - or to patch existing containers. It can be useful for proxies, backup, - etc. + description: |- + Containers property allows to inject additions sidecars or to patch existing containers. + It can be useful for proxies, backup, etc. items: description: A single application container that you want to run within a pod. @@ -62,22 +67,25 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array dnsConfig: - description: Specifies the DNS parameters of a pod. Parameters specified - here will be merged to the generated DNS configuration based on - DNSPolicy. + description: |- + Specifies the DNS parameters of a pod. + Parameters specified here will be merged to the generated DNS + configuration based on DNSPolicy. properties: nameservers: - description: A list of DNS name server IP addresses. This will - be appended to the base nameservers generated from DNSPolicy. + description: |- + A list of DNS name server IP addresses. + This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed. items: type: string type: array options: - description: A list of DNS resolver options. This will be merged - with the base options generated from DNSPolicy. Duplicated entries - will be removed. Resolution options given in Options will override - those that appear in the base DNSPolicy. + description: |- + A list of DNS resolver options. + This will be merged with the base options generated from DNSPolicy. + Duplicated entries will be removed. Resolution options given in Options + will override those that appear in the base DNSPolicy. items: description: PodDNSConfigOption defines DNS resolver options of a pod. @@ -90,9 +98,10 @@ spec: type: object type: array searches: - description: A list of DNS search domains for host-name lookup. - This will be appended to the base search paths generated from - DNSPolicy. Duplicated search paths will be removed. + description: |- + A list of DNS search domains for host-name lookup. + This will be appended to the base search paths generated from DNSPolicy. + Duplicated search paths will be removed. items: type: string type: array @@ -105,8 +114,9 @@ spec: extraArgs: additionalProperties: type: string - description: 'ExtraArgs that will be passed to VMSingle pod for example - remoteWrite.tmpDataPath: /tmp' + description: |- + ExtraArgs that will be passed to VMSingle pod + for example remoteWrite.tmpDataPath: /tmp type: object extraEnvs: description: ExtraEnvs that will be added to VMSingle pod @@ -118,15 +128,16 @@ spec: description: Name of the environment variable. Must be a C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded using - the previously defined environment variables in the container - and any service environment variables. If a variable cannot - be resolved, the reference in the input string will be unchanged. - Double $$ are reduced to a single $, which allows for escaping - the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the - string literal "$(VAR_NAME)". Escaped references will never - be expanded, regardless of whether the variable exists or - not. Defaults to "".' + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string required: - name @@ -134,11 +145,14 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array hostAliases: - description: HostAliases provides mapping for ip and hostname, that - would be propagated to pod, cannot be used with HostNetwork. + description: |- + HostAliases provides mapping for ip and hostname, + that would be propagated to pod, + cannot be used with HostNetwork. items: - description: HostAlias holds the mapping between IP and hostnames - that will be injected as an entry in the pod's hosts file. + description: |- + HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the + pod's hosts file. properties: hostnames: description: Hostnames for the above IP address. @@ -155,8 +169,9 @@ spec: network namespace type: boolean image: - description: Image - docker image settings for VMSingle if no specified - operator uses default config version + description: |- + Image - docker image settings for VMSingle + if no specified operator uses default config version properties: pullPolicy: description: PullPolicy describes how to pull docker image @@ -170,30 +185,32 @@ spec: type: string type: object imagePullSecrets: - description: ImagePullSecrets An optional list of references to secrets - in the same namespace to use for pulling images from registries + description: |- + ImagePullSecrets An optional list of references to secrets in the same namespace + to use for pulling images from registries see https://kubernetes.io/docs/concepts/containers/images/#referring-to-an-imagepullsecrets-on-a-pod items: - description: LocalObjectReference contains enough information to - let you locate the referenced object inside the same namespace. + description: |- + LocalObjectReference contains enough information to let you locate the + referenced object inside the same namespace. properties: 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?' + 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 type: object x-kubernetes-map-type: atomic type: array initContainers: - description: 'InitContainers allows adding initContainers to the pod - definition. Those can be used to e.g. fetch secrets for injection - into the vmSingle configuration from external sources. Any errors - during the execution of an initContainer will lead to a restart - of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - Using initContainers for any use case other then secret fetching - is entirely outside the scope of what the maintainers will support - and by doing so, you accept that this behaviour may break at any - time without notice.' + description: |- + InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. + fetch secrets for injection into the vmSingle configuration from external sources. Any + errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + Using initContainers for any use case other then secret fetching is entirely outside the scope + of what the maintainers will support and by doing so, you accept that this behaviour may break + at any time without notice. items: description: A single application container that you want to run within a pod. @@ -219,15 +236,17 @@ spec: type: string type: object license: - description: 'License allows to configure license key to be used for - enterprise features. Using license key is supported starting from - VictoriaMetrics v1.94.0. See: https://docs.victoriametrics.com/enterprise.html' + description: |- + License allows to configure license key to be used for enterprise features. + Using license key is supported starting from VictoriaMetrics v1.94.0. + See: https://docs.victoriametrics.com/enterprise.html properties: key: - description: Enterprise license key. This flag is available only - in VictoriaMetrics enterprise. Documentation - https://docs.victoriametrics.com/enterprise.html - for more information, visit https://victoriametrics.com/products/enterprise/ - . To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ + description: |- + Enterprise license key. This flag is available only in VictoriaMetrics enterprise. + Documentation - https://docs.victoriametrics.com/enterprise.html + for more information, visit https://victoriametrics.com/products/enterprise/ . + To request a trial license, go to https://victoriametrics.com/products/enterprise/trial/ type: string keyRef: description: KeyRef is reference to secret with license key for @@ -238,8 +257,10 @@ spec: 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?' + 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 @@ -283,29 +304,34 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object podSecurityPolicyName: - description: PodSecurityPolicyName - defines name for podSecurityPolicy + description: |- + PodSecurityPolicyName - defines name for podSecurityPolicy in case of empty value, prefixedName will be used. type: string port: @@ -332,17 +358,21 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true removePvcAfterDelete: - description: RemovePvcAfterDelete - if true, controller adds ownership - to pvc and after VMSingle objest deletion - pvc will be garbage - collected by controller manager + description: |- + RemovePvcAfterDelete - if true, controller adds ownership to pvc + and after VMSingle objest deletion - pvc will be garbage collected + by controller manager type: boolean replicaCount: - description: ReplicaCount is the expected size of the VMSingle it - can be 0 or 1 if you need more - use vm cluster + description: |- + ReplicaCount is the expected size of the VMSingle + it can be 0 or 1 + if you need more - use vm cluster format: int32 type: integer resources: - description: Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + description: |- + Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ if not defined default resources from operator config will be used properties: limits: @@ -352,8 +382,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute resources - allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -362,46 +393,53 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object retentionPeriod: - description: RetentionPeriod for the stored metrics Note VictoriaMetrics - has data/ and indexdb/ folders metrics from data/ removed eventually - as soon as partition leaves retention period reverse index data - at indexdb rotates once at the half of configured retention period + description: |- + RetentionPeriod for the stored metrics + Note VictoriaMetrics has data/ and indexdb/ folders + metrics from data/ removed eventually as soon as partition leaves retention period + reverse index data 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. + 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/ + description: |- + RuntimeClassName - defines runtime class for kubernetes pod. + https://kubernetes.io/docs/concepts/containers/runtime-class/ type: string schedulerName: description: SchedulerName - defines kubernetes scheduler name type: string secrets: - description: Secrets is a list of Secrets in the same namespace as - the VMSingle object, which shall be mounted into the VMSingle Pods. + description: |- + Secrets is a list of Secrets in the same namespace as the VMSingle + object, which shall be mounted into the VMSingle Pods. items: type: string type: array securityContext: - description: SecurityContext holds pod-level security attributes and - common container settings. This defaults to the default PodSecurityContext. + description: |- + SecurityContext holds pod-level security attributes and common container settings. + This defaults to the default PodSecurityContext. type: object x-kubernetes-preserve-unknown-fields: true serviceAccountName: - description: ServiceAccountName is the name of the ServiceAccount - to use to run the VMSingle Pods. + description: |- + ServiceAccountName is the name of the ServiceAccount to use to run the + VMSingle Pods. type: string serviceScrapeSpec: description: ServiceScrapeSpec that will be added to vmsingle VMServiceScrape @@ -420,32 +458,35 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map - stored with a resource that may be set by external tools - to store and retrieve arbitrary metadata. They are not queryable - and should be preserved when modifying objects. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can - be used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow - a client to request the generation of an appropriate name - automatically. Name is primarily intended for creation idempotence - and configuration definition. Cannot be updated. More info: - https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object spec: - description: 'ServiceSpec describes the attributes that a user - creates on a service. More info: https://kubernetes.io/docs/concepts/services-networking/service/' + description: |- + ServiceSpec describes the attributes that a user creates on a service. + More info: https://kubernetes.io/docs/concepts/services-networking/service/ type: object x-kubernetes-preserve-unknown-fields: true required: @@ -456,30 +497,32 @@ spec: type: object x-kubernetes-preserve-unknown-fields: true storage: - description: Storage is the definition of how storage will be used - by the VMSingle by default it`s empty dir + description: |- + Storage is the definition of how storage will be used by the VMSingle + by default it`s empty dir properties: accessModes: - description: 'accessModes contains the desired access modes the - volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1' + description: |- + accessModes contains the desired access modes the volume should have. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 items: type: string type: array dataSource: - description: 'dataSource field can be used to specify either: + description: |- + dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - * An existing PVC (PersistentVolumeClaim) If the provisioner - or an external controller can support the specified data source, - it will create a new volume based on the contents of the specified - data source. If the AnyVolumeDataSource feature gate is enabled, - this field will always have the same contents as the DataSourceRef - field.' + * An existing PVC (PersistentVolumeClaim) + If the provisioner or an external controller can support the specified data source, + it will create a new volume based on the contents of the specified data source. + If the AnyVolumeDataSource feature gate is enabled, this field will always have + the same contents as the DataSourceRef field. properties: apiGroup: - description: APIGroup is the group for the resource being - referenced. If APIGroup is not specified, the specified - Kind must be in the core API group. For any other third-party - types, APIGroup is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -493,31 +536,30 @@ spec: type: object x-kubernetes-map-type: atomic dataSourceRef: - description: 'dataSourceRef specifies the object from which to - populate the volume with data, if a non-empty volume is desired. - This may be any local object from a non-empty API group (non - core object) or a PersistentVolumeClaim object. When this field - is specified, volume binding will only succeed if the type of - the specified object matches some installed volume populator - or dynamic provisioner. This field will replace the functionality - of the DataSource field and as such if both fields are non-empty, - they must have the same value. For backwards compatibility, - both fields (DataSource and DataSourceRef) will be set to the - same value automatically if one of them is empty and the other - is non-empty. There are two important differences between DataSource - and DataSourceRef: * While DataSource only allows two specific - types of objects, DataSourceRef allows any non-core object, - as well as PersistentVolumeClaim objects. * While DataSource - ignores disallowed values (dropping them), DataSourceRef preserves - all values, and generates an error if a disallowed value is - specified. (Beta) Using this field requires the AnyVolumeDataSource - feature gate to be enabled.' + description: |- + dataSourceRef specifies the object from which to populate the volume with data, if a non-empty + volume is desired. This may be any local object from a non-empty API group (non + core object) or a PersistentVolumeClaim object. + When this field is specified, volume binding will only succeed if the type of + the specified object matches some installed volume populator or dynamic + provisioner. + This field will replace the functionality of the DataSource field and as such + if both fields are non-empty, they must have the same value. For backwards + compatibility, both fields (DataSource and DataSourceRef) will be set to the same + value automatically if one of them is empty and the other is non-empty. + There are two important differences between DataSource and DataSourceRef: + * While DataSource only allows two specific types of objects, DataSourceRef + allows any non-core object, as well as PersistentVolumeClaim objects. + * While DataSource ignores disallowed values (dropping them), DataSourceRef + preserves all values, and generates an error if a disallowed value is + specified. + (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. properties: apiGroup: - description: APIGroup is the group for the resource being - referenced. If APIGroup is not specified, the specified - Kind must be in the core API group. For any other third-party - types, APIGroup is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -531,11 +573,12 @@ spec: type: object x-kubernetes-map-type: atomic resources: - description: 'resources represents the minimum resources the volume - should have. If RecoverVolumeExpansionFailure feature is enabled - users are allowed to specify resource requirements that are - lower than previous value but must still be higher than capacity - recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' + description: |- + resources represents the minimum resources the volume should have. + If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements + that are lower than previous value but must still be higher than capacity recorded in the + status field of the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources properties: limits: additionalProperties: @@ -544,8 +587,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -554,10 +598,11 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object selector: @@ -568,25 +613,25 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - 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. + 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. items: type: string type: array @@ -598,22 +643,22 @@ spec: matchLabels: additionalProperties: type: 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. + 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. type: object type: object x-kubernetes-map-type: atomic storageClassName: - description: 'storageClassName is the name of the StorageClass - required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' + description: |- + storageClassName is the name of the StorageClass required by the claim. + More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 type: string volumeMode: - description: volumeMode defines what type of volume is required - by the claim. Value of Filesystem is implied when not included - in claim spec. + description: |- + volumeMode defines what type of volume is required by the claim. + Value of Filesystem is implied when not included in claim spec. type: string volumeName: description: volumeName is the binding reference to the PersistentVolume @@ -621,9 +666,9 @@ spec: type: string type: object storageDataPath: - description: StorageDataPath disables spec.storage option and overrides - arg for victoria-metrics binary --storageDataPath, its users responsibility - to mount proper device into given path. + description: |- + StorageDataPath disables spec.storage option and overrides arg for victoria-metrics binary --storageDataPath, + its users responsibility to mount proper device into given path. type: string storageMetadata: description: StorageMeta defines annotations and labels attached to @@ -632,25 +677,29 @@ spec: annotations: additionalProperties: type: string - description: 'Annotations is an unstructured key value map stored - with a resource that may be set by external tools to store and - retrieve arbitrary metadata. They are not queryable and should - be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations' + description: |- + Annotations is an unstructured key value map stored with a resource that may be + set by external tools to store and retrieve arbitrary metadata. They are not + queryable and should be preserved when modifying objects. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations type: object labels: additionalProperties: type: string - description: 'Labels Map of string keys and values that can be - used to organize and categorize (scope and select) objects. - May match selectors of replication controllers and services. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels' + description: |- + Labels Map of string keys and values that can be used to organize and categorize + (scope and select) objects. May match selectors of replication controllers + and services. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels type: object name: - description: 'Name must be unique within a namespace. Is required - when creating resources, although some resources may allow a - client to request the generation of an appropriate name automatically. - Name is primarily intended for creation idempotence and configuration - definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' + description: |- + Name must be unique within a namespace. Is required when creating resources, although + some resources may allow a client to request the generation of an appropriate name + automatically. Name is primarily intended for creation idempotence and configuration + definition. + Cannot be updated. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names type: string type: object streamAggrConfig: @@ -674,21 +723,27 @@ spec: config properties: by: - description: "By is an optional list of labels for grouping - input series. \n See also Without. \n If neither By nor - Without are set, then the Outputs are calculated individually - per each input time series." + description: |- + By is an optional list of labels for grouping input series. + + + See also Without. + + + If neither By nor Without are set, then the Outputs are calculated + individually per each input time series. items: type: string type: array input_relabel_configs: - description: InputRelabelConfigs is an optional relabeling - rules, which are applied on the input before aggregation. + description: |- + InputRelabelConfigs is an optional relabeling rules, which are applied on the input + before aggregation. items: - description: 'RelabelConfig allows dynamic rewriting of - the label set, being applied to samples before ingestion. + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -718,43 +773,42 @@ spec: extracted value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex - replace is performed if the regular expression matches. - Regex capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility - with original relabel config. if set both sourceLabels - and source_labels, sourceLabels has priority. for - details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from - existing labels. Their content is concatenated using - the configured separator and matched against the - configured regular expression for the replace, keep, - and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form - of target label - target_label for compatibility - with original relabel config. if set both targetLabel - and target_label, targetLabel has priority. for - details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is - written in a replace action. It is mandatory for - replace actions. Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -762,20 +816,21 @@ spec: description: Interval is the interval between aggregations. type: string match: - description: "Match is a label selector (or list of label - selectors) for filtering time series for the given selector. - \n If the match isn't set, then all the input time series - are processed." + description: |- + Match is a label selector (or list of label selectors) for filtering time series for the given selector. + + + If the match isn't set, then all the input time series are processed. x-kubernetes-preserve-unknown-fields: true output_relabel_configs: - description: OutputRelabelConfigs is an optional relabeling - rules, which are applied on the aggregated output before - being sent to remote storage. + description: |- + OutputRelabelConfigs is an optional relabeling rules, which are applied + on the aggregated output before being sent to remote storage. items: - description: 'RelabelConfig allows dynamic rewriting of - the label set, being applied to samples before ingestion. + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. It defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -805,61 +860,72 @@ spec: extracted value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex - replace is performed if the regular expression matches. - Regex capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility - with original relabel config. if set both sourceLabels - and source_labels, sourceLabels has priority. for - details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from - existing labels. Their content is concatenated using - the configured separator and matched against the - configured regular expression for the replace, keep, - and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form - of target label - target_label for compatibility - with original relabel config. if set both targetLabel - and target_label, targetLabel has priority. for - details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is - written in a replace action. It is mandatory for - replace actions. Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array outputs: - description: "Outputs is a list of output aggregate functions - to produce. \n The following names are allowed: \n - total - - aggregates input counters - increase - counts the increase - over input counters - count_series - counts the input - series - count_samples - counts the input samples - sum_samples - - sums the input samples - last - the last biggest sample - value - min - the minimum sample value - max - the maximum - sample value - avg - the average value across all the - samples - stddev - standard deviation across all the samples - - stdvar - standard variance across all the samples - - histogram_bucket - creates VictoriaMetrics histogram for - input samples - quantiles(phi1, ..., phiN) - quantiles' - estimation for phi in the range [0..1] \n The output time - series will have the following names: \n input_name:aggr__" + description: |- + Outputs is a list of output aggregate functions to produce. + + + The following names are allowed: + + + - total - aggregates input counters + - increase - counts the increase over input counters + - count_series - counts the input series + - count_samples - counts the input samples + - sum_samples - sums the input samples + - last - the last biggest sample value + - min - the minimum sample value + - max - the maximum sample value + - avg - the average value across all the samples + - stddev - standard deviation across all the samples + - stdvar - standard variance across all the samples + - histogram_bucket - creates VictoriaMetrics histogram for input samples + - quantiles(phi1, ..., phiN) - quantiles' estimation for phi in the range [0..1] + + + The output time series will have the following names: + + + input_name:aggr__ items: type: string type: array @@ -869,10 +935,15 @@ spec: been sent during it. type: string without: - description: "Without is an optional list of labels, which - must be excluded when grouping input series. \n See also - By. \n If neither By nor Without are set, then the Outputs - are calculated individually per each input time series." + description: |- + Without is an optional list of labels, which must be excluded when grouping input series. + + + See also By. + + + If neither By nor Without are set, then the Outputs are calculated + individually per each input time series. items: type: string type: array @@ -892,46 +963,46 @@ spec: tolerations: description: Tolerations If specified, the pod's tolerations. items: - description: The pod this Toleration is attached to tolerates any - taint that matches the triple using the matching - operator . + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . properties: effect: - description: Effect indicates the taint effect to match. Empty - means match all taint effects. When specified, allowed values - are NoSchedule, PreferNoSchedule and NoExecute. + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. type: string key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match all - values and all keys. + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. type: string operator: - description: Operator represents a key's relationship to the - value. Valid operators are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, so that a pod - can tolerate all taints of a particular category. + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. type: string tolerationSeconds: - description: TolerationSeconds represents the period of time - the toleration (which must be of effect NoExecute, otherwise - this field is ignored) tolerates the taint. By default, it - is not set, which means tolerate the taint forever (do not - evict). Zero and negative values will be treated as 0 (evict - immediately) by the system. + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. format: int64 type: integer value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. type: string type: object type: array topologySpreadConstraints: - description: TopologySpreadConstraints embedded kubernetes pod configuration - option, controls how pods are spread across your cluster among failure-domains + description: |- + TopologySpreadConstraints embedded kubernetes pod configuration option, + controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ items: @@ -945,17 +1016,20 @@ spec: x-kubernetes-preserve-unknown-fields: true type: array useStrictSecurity: - description: UseStrictSecurity enables strict security mode for component - it restricts disk writes access uses non-root user out of the box + description: |- + UseStrictSecurity enables strict security mode for component + it restricts disk writes access + uses non-root user out of the box drops not needed security permissions type: boolean vmBackup: description: VMBackup configuration for backup properties: acceptEULA: - description: AcceptEULA accepts enterprise feature usage, must - be set to true. otherwise backupmanager cannot be added to single/cluster - version. https://victoriametrics.com/legal/esa/ + description: |- + AcceptEULA accepts enterprise feature usage, must be set to true. + otherwise backupmanager cannot be added to single/cluster version. + https://victoriametrics.com/legal/esa/ type: boolean concurrency: description: Defines number of concurrent workers. Higher concurrency @@ -963,16 +1037,19 @@ spec: format: int32 type: integer credentialsSecret: - description: CredentialsSecret is secret in the same namespace - for access to remote storage The secret is mounted into /etc/vm/creds. + description: |- + CredentialsSecret is secret in the same namespace for access to remote storage + The secret is mounted into /etc/vm/creds. 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?' + 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 @@ -990,10 +1067,10 @@ spec: description: Defines destination for backup type: string destinationDisableSuffixAdd: - description: DestinationDisableSuffixAdd - disables suffix adding - for cluster version backups each vmstorage backup must have - unique backup folder so operator adds POD_NAME as suffix for - backup destination folder. + description: |- + DestinationDisableSuffixAdd - disables suffix adding for cluster version backups + each vmstorage backup must have unique backup folder + so operator adds POD_NAME as suffix for backup destination folder. type: boolean disableDaily: description: Defines if daily backups disabled (default false) @@ -1022,15 +1099,16 @@ spec: C_IDENTIFIER. type: string value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. If - a variable cannot be resolved, the reference in the input - string will be unchanged. Double $$ are reduced to a single - $, which allows for escaping the $(VAR_NAME) syntax: i.e. + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless - of whether the variable exists or not. Defaults to "".' + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". type: string valueFrom: description: Source for the environment variable's value. @@ -1043,9 +1121,10 @@ spec: 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?' + 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 @@ -1056,11 +1135,9 @@ spec: type: object x-kubernetes-map-type: atomic fieldRef: - description: 'Selects a field of the pod: supports metadata.name, - metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: description: Version of the schema the FieldPath @@ -1075,10 +1152,9 @@ spec: type: object x-kubernetes-map-type: atomic resourceFieldRef: - description: 'Selects a resource of the container: only - resources limits and requests (limits.cpu, limits.memory, - limits.ephemeral-storage, requests.cpu, requests.memory - and requests.ephemeral-storage) are currently supported.' + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: description: 'Container name: required for volumes, @@ -1108,9 +1184,10 @@ spec: 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?' + 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 @@ -1140,8 +1217,9 @@ spec: type: string type: object logFormat: - description: LogFormat for VMSelect to be configured with. default - or json + description: |- + LogFormat for VMSelect to be configured with. + default or json enum: - default - json @@ -1159,10 +1237,9 @@ spec: description: Port for health check connections type: string resources: - description: Resources container resource request and limits, - https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - if not defined default resources from operator config will be - used + description: |- + Resources container resource request and limits, https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ + if not defined default resources from operator config will be used properties: limits: additionalProperties: @@ -1171,8 +1248,9 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Limits describes the maximum amount of compute resources allowed. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object requests: additionalProperties: @@ -1181,15 +1259,17 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + description: |- + Requests describes the minimum amount of compute resources required. + If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, + otherwise to an implementation-defined value. + More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ type: object type: object restore: - description: 'Restore Allows to enable restore options for pod - Read more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands' + description: |- + Restore Allows to enable restore options for pod + Read more: https://docs.victoriametrics.com/vmbackupmanager.html#restore-commands properties: onStart: description: OnStart defines configuration for restore on @@ -1207,42 +1287,45 @@ spec: description: SnapShotDeleteURL overwrites url for snapshot delete type: string volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output Deployment definition. VolumeMounts specified - will be appended to other VolumeMounts in the vmbackupmanager - container, that are generated as a result of StorageSpec objects. + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the vmbackupmanager container, + that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume - should be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are - propagated from the host to container and the other way - around. When not set, MountPropagationNone is used. This - field is beta in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which - the container's volume should be mounted. Behaves similarly - to SubPath but environment variable references $(VAR_NAME) - are expanded using the container's environment. Defaults - to "" (volume's root). SubPathExpr and SubPath are mutually - exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -1251,41 +1334,45 @@ spec: type: array type: object volumeMounts: - description: VolumeMounts allows configuration of additional VolumeMounts - on the output Deployment definition. VolumeMounts specified will - be appended to other VolumeMounts in the VMSingle container, that - are generated as a result of StorageSpec objects. + description: |- + VolumeMounts allows configuration of additional VolumeMounts on the output Deployment definition. + VolumeMounts specified will be appended to other VolumeMounts in the VMSingle container, + that are generated as a result of StorageSpec objects. items: description: VolumeMount describes a mounting of a Volume within a container. properties: mountPath: - description: Path within the container at which the volume should - be mounted. Must not contain ':'. + description: |- + Path within the container at which the volume should be mounted. Must + not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated - from the host to container and the other way around. When - not set, MountPropagationNone is used. This field is beta - in 1.10. + description: |- + mountPropagation determines how mounts are propagated from the host + to container and the other way around. + When not set, MountPropagationNone is used. + This field is beta in 1.10. type: string name: description: This must match the Name of a Volume. type: string readOnly: - description: Mounted read-only if true, read-write otherwise - (false or unspecified). Defaults to false. + description: |- + Mounted read-only if true, read-write otherwise (false or unspecified). + Defaults to false. type: boolean subPath: - description: Path within the volume from which the container's - volume should be mounted. Defaults to "" (volume's root). + description: |- + Path within the volume from which the container's volume should be mounted. + Defaults to "" (volume's root). type: string subPathExpr: - description: Expanded path within the volume from which the - container's volume should be mounted. Behaves similarly to - SubPath but environment variable references $(VAR_NAME) are - expanded using the container's environment. Defaults to "" - (volume's root). SubPathExpr and SubPath are mutually exclusive. + description: |- + Expanded path within the volume from which the container's volume should be mounted. + Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. + Defaults to "" (volume's root). + SubPathExpr and SubPath are mutually exclusive. type: string required: - mountPath @@ -1293,9 +1380,10 @@ spec: type: object type: array volumes: - description: Volumes allows configuration of additional volumes on - the output deploy definition. Volumes specified will be appended - to other volumes that are generated as a result of StorageSpec objects. + description: |- + Volumes allows configuration of additional volumes on the output deploy definition. + Volumes specified will be appended to other volumes that are generated as a result of + StorageSpec objects. items: description: Volume represents a named volume in a pod that may be accessed by any container in the pod. diff --git a/config/crd/bases/operator.victoriametrics.com_vmstaticscrapes.yaml b/config/crd/bases/operator.victoriametrics.com_vmstaticscrapes.yaml index c66bb53ca..50381930b 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmstaticscrapes.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmstaticscrapes.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmstaticscrapes.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -19,14 +19,19 @@ spec: description: VMStaticScrape defines static targets configuration for scraping. properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -57,8 +62,10 @@ spec: 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?' + 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 @@ -76,21 +83,25 @@ spec: type: string type: object basicAuth: - description: 'BasicAuth allow an endpoint to authenticate over - basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints' + description: |- + BasicAuth allow an endpoint to authenticate over basic authentication + More info: https://prometheus.io/docs/operating/configuration/#endpoints 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 + 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?' + 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 @@ -105,17 +116,20 @@ spec: 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 + 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?' + 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 @@ -130,9 +144,10 @@ spec: description: File to read bearer token for scraping targets. type: string bearerTokenSecret: - description: Secret to mount to read bearer token for scraping - targets. The secret needs to be in the same namespace as the - service scrape and accessible by the victoria-metrics operator. + description: |- + Secret to mount to read bearer token for scraping targets. The secret + needs to be in the same namespace as the service scrape and accessible by + the victoria-metrics operator. nullable: true properties: key: @@ -140,8 +155,10 @@ spec: 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?' + 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 @@ -174,10 +191,10 @@ spec: description: MetricRelabelConfigs to apply to samples before ingestion. items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -207,41 +224,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels and - source_labels, sourceLabels has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of - target label - target_label for compatibility with original - relabel config. if set both targetLabel and target_label, - targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -260,9 +278,10 @@ spec: 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?' + 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 @@ -280,9 +299,10 @@ spec: 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?' + 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 @@ -301,8 +321,10 @@ spec: 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?' + 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 @@ -352,13 +374,14 @@ spec: to proxy through this endpoint. type: string relabelConfigs: - description: 'RelabelConfigs to apply to samples before scraping. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config' + description: |- + RelabelConfigs to apply to samples before scraping. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config items: - description: 'RelabelConfig allows dynamic rewriting of the - label set, being applied to samples before ingestion. It - defines ``-section of configuration. - More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs' + description: |- + RelabelConfig allows dynamic rewriting of the label set, being applied to samples before ingestion. + It defines ``-section of configuration. + More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs properties: action: description: Action to perform based on regex matching. @@ -388,41 +411,42 @@ spec: value is matched. Default is '(.*)' type: string replacement: - description: Replacement value against which a regex replace - is performed if the regular expression matches. Regex - capture groups are available. Default is '$1' + description: |- + Replacement value against which a regex replace is performed if the + regular expression matches. Regex capture groups are available. Default is '$1' type: string separator: description: Separator placed between concatenated source label values. default is ';'. type: string source_labels: - description: UnderScoreSourceLabels - additional form - of source labels source_labels for compatibility with - original relabel config. if set both sourceLabels and - source_labels, sourceLabels has priority. for details - https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreSourceLabels - additional form of source labels source_labels + for compatibility with original relabel config. + if set both sourceLabels and source_labels, sourceLabels has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 items: type: string type: array sourceLabels: - description: The source labels select values from existing - labels. Their content is concatenated using the configured - separator and matched against the configured regular - expression for the replace, keep, and drop actions. + description: |- + The source labels select values from existing labels. Their content is concatenated + using the configured separator and matched against the configured regular expression + for the replace, keep, and drop actions. items: type: string type: array target_label: - description: UnderScoreTargetLabel - additional form of - target label - target_label for compatibility with original - relabel config. if set both targetLabel and target_label, - targetLabel has priority. for details https://github.com/VictoriaMetrics/operator/issues/131 + description: |- + UnderScoreTargetLabel - additional form of target label - target_label + for compatibility with original relabel config. + if set both targetLabel and target_label, targetLabel has priority. + for details https://github.com/VictoriaMetrics/operator/issues/131 type: string targetLabel: - description: Label to which the resulting value is written - in a replace action. It is mandatory for replace actions. - Regex capture groups are available. + description: |- + Label to which the resulting value is written in a replace action. + It is mandatory for replace actions. Regex capture groups are available. type: string type: object type: array @@ -438,12 +462,17 @@ spec: - https type: string scrape_interval: - description: ScrapeInterval is the same as Interval and has - priority over it. one of scrape_interval or interval can be - used + description: |- + ScrapeInterval is the same as Interval and has priority over it. + one of scrape_interval or interval can be used type: string + scrape_protocols: + description: ScrapeProtocols defines Prometheus scrape protocol. + items: + type: string + type: array scrapeTimeout: - description: Timeout after which the scrape is ended + description: ScrapeTimeout after which the scrape is ended type: string targets: description: Targets static targets addresses in form of ["192.122.55.55:9100","some-name:9100"]. @@ -467,9 +496,10 @@ spec: 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?' + 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 @@ -487,9 +517,10 @@ spec: 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?' + 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 @@ -516,9 +547,10 @@ spec: 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?' + 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 @@ -536,9 +568,10 @@ spec: 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?' + 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 @@ -569,8 +602,10 @@ spec: 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?' + 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 @@ -593,10 +628,12 @@ spec: disable_keep_alive: type: boolean headers: - description: 'Headers allows sending custom headers to scrape - targets must be in of semicolon separated header with - it''s value eg: headerName: headerValue vmagent supports - since 1.79.0 version' + description: |- + Headers allows sending custom headers to scrape targets + must be in of semicolon separated header with it's value + eg: + headerName: headerValue + vmagent supports since 1.79.0 version items: type: string type: array @@ -605,16 +642,18 @@ spec: no_stale_markers: type: boolean proxy_client_config: - description: ProxyClientConfig configures proxy auth settings - for scraping See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy + description: |- + ProxyClientConfig configures proxy auth settings for scraping + See feature description https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy properties: basic_auth: description: BasicAuth allow an endpoint to authenticate over basic authentication properties: password: - description: The secret in the service scrape namespace - that contains the password for authentication. + 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: @@ -622,10 +661,10 @@ spec: 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?' + 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 @@ -640,8 +679,9 @@ spec: file at disk type: string username: - description: The secret in the service scrape namespace - that contains the username for authentication. + 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: @@ -649,10 +689,10 @@ spec: 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?' + 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 @@ -671,9 +711,10 @@ spec: 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?' + 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 @@ -701,10 +742,10 @@ spec: 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?' + 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 @@ -723,10 +764,10 @@ spec: 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?' + 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 @@ -753,10 +794,10 @@ spec: 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?' + 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 @@ -775,10 +816,10 @@ spec: 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?' + 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 @@ -809,10 +850,10 @@ spec: 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?' + 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 diff --git a/config/crd/bases/operator.victoriametrics.com_vmusers.yaml b/config/crd/bases/operator.victoriametrics.com_vmusers.yaml index 86aa57218..c6a1bbf58 100644 --- a/config/crd/bases/operator.victoriametrics.com_vmusers.yaml +++ b/config/crd/bases/operator.victoriametrics.com_vmusers.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.14.0 name: vmusers.operator.victoriametrics.com spec: group: operator.victoriametrics.com @@ -19,14 +19,19 @@ spec: description: VMUser is the Schema for the vmusers API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -38,7 +43,8 @@ spec: protected endpoint. type: string default_url: - description: DefaultURLs backend url for non-matching paths filter + description: |- + DefaultURLs backend url for non-matching paths filter usually used for default backend with error message items: type: string @@ -48,26 +54,30 @@ spec: 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. + 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. + description: |- + GeneratePassword instructs operator to generate password for user + if spec.password if empty. type: boolean headers: - description: 'Headers represent additional http headers, that vmauth - uses in form of ["header_key: header_value"] multiple values for - header key: ["header_key: value1,value2"] it''s available since - 1.68.0 version of vmauth' + description: |- + Headers represent additional http headers, that vmauth uses + in form of ["header_key: header_value"] + multiple values for header key: + ["header_key: value1,value2"] + it's available since 1.68.0 version of vmauth items: type: string type: array ip_filters: - description: IPFilters defines per target src ip filters supported - only with enterprise version of vmauth https://docs.victoriametrics.com/vmauth.html#ip-filters + description: |- + IPFilters defines per target src ip filters + supported only with enterprise version of vmauth + https://docs.victoriametrics.com/vmauth.html#ip-filters properties: allow_list: items: @@ -79,17 +89,18 @@ spec: 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")' + 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 + description: |- + MaxConcurrentRequests defines max concurrent requests per user + 300 is default value for vmauth type: integer metric_labels: additionalProperties: @@ -113,8 +124,10 @@ spec: 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?' + 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 @@ -124,33 +137,40 @@ spec: type: object x-kubernetes-map-type: atomic response_headers: - description: 'ResponseHeaders represent additional http headers, that - vmauth adds for request response in form of ["header_key: header_value"] - multiple values for header key: ["header_key: value1,value2"] it''s - available since 1.93.0 version of vmauth' + description: |- + ResponseHeaders represent additional http headers, that vmauth adds for request response + in form of ["header_key: header_value"] + multiple values for header key: + ["header_key: value1,value2"] + it's available since 1.93.0 version of vmauth items: type: string type: array retry_status_codes: - description: RetryStatusCodes defines http status codes in numeric - format for request retries e.g. [429,503] + description: |- + RetryStatusCodes defines http status codes in numeric format for request retries + e.g. [429,503] items: type: integer type: array targetRefs: description: TargetRefs - reference to endpoints, which user may access. items: - description: 'TargetRef describes target for user traffic forwarding. - one of target types can be chosen: crd or static per targetRef. - user can define multiple targetRefs with different ref Types.' + description: |- + TargetRef describes target for user traffic forwarding. + one of target types can be chosen: + crd or static per targetRef. + user can define multiple targetRefs with different ref Types. properties: crd: - description: CRD describes exist operator's CRD object, operator - generates access url based on CRD params. + description: |- + CRD describes exist operator's CRD object, + operator generates access url based on CRD params. properties: kind: - description: 'Kind one of: VMAgent VMAlert VMCluster VMSingle - or VMAlertManager' + description: |- + Kind one of: + VMAgent VMAlert VMCluster VMSingle or VMAlertManager type: string name: description: Name target CRD object name @@ -164,16 +184,17 @@ spec: - 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. + 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 - values for header key: ["header_key: value1,value2"] it''s - available since 1.68.0 version of vmauth' + description: |- + Headers represent additional http headers, that vmauth uses + in form of ["header_key: header_value"] + multiple values for header key: + ["header_key: value1,value2"] + it's available since 1.68.0 version of vmauth items: type: string type: array @@ -182,10 +203,10 @@ spec: 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")' + 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 @@ -196,22 +217,26 @@ spec: type: string type: array response_headers: - description: 'ResponseHeaders represent additional http headers, - that vmauth adds for request response in form of ["header_key: - header_value"] multiple values for header key: ["header_key: - value1,value2"] it''s available since 1.93.0 version of vmauth' + description: |- + ResponseHeaders represent additional http headers, that vmauth adds for request response + in form of ["header_key: header_value"] + multiple values for header key: + ["header_key: value1,value2"] + it's available since 1.93.0 version of vmauth items: type: string type: array retry_status_codes: - description: RetryStatusCodes defines http status codes in numeric - format for request retries Can be defined per target or at - VMUser.spec level e.g. [429,503] + description: |- + RetryStatusCodes defines http status codes in numeric format for request retries + Can be defined per target or at VMUser.spec level + e.g. [429,503] items: type: integer type: array static: - description: Static - user defined url for traffic forward, + description: |- + Static - user defined url for traffic forward, for instance http://vmsingle:8429 properties: url: @@ -225,16 +250,18 @@ spec: type: array type: object target_path_suffix: - description: QueryParams []string `json:"queryParams,omitempty"` + description: |- + QueryParams []string `json:"queryParams,omitempty"` TargetPathSuffix allows to add some suffix to the target path - It allows to hide tenant configuration from user with crd - as ref. it also may contain any url encoded params. + It allows to hide tenant configuration from user with crd as ref. + it also may contain any url encoded params. 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 + 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 @@ -245,8 +272,10 @@ spec: 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?' + 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 @@ -256,8 +285,9 @@ spec: type: object x-kubernetes-map-type: atomic username: - description: UserName basic auth user name for accessing protected - endpoint, will be replaced with metadata.name of VMUser if omitted. + description: |- + UserName basic auth user name for accessing protected endpoint, + will be replaced with metadata.name of VMUser if omitted. type: string required: - targetRefs diff --git a/controllers/factory/scrapes_build.go b/controllers/factory/scrapes_build.go index c8747a54a..f5abc8bdd 100644 --- a/controllers/factory/scrapes_build.go +++ b/controllers/factory/scrapes_build.go @@ -334,6 +334,9 @@ func generatePodScrapeConfig( if scrapeInterval != "" { cfg = append(cfg, yaml.MapItem{Key: "scrape_interval", Value: scrapeInterval}) } + if len(ep.ScrapeProtocols) != 0 { + cfg = append(cfg, yaml.MapItem{Key: "scrape_protocols", Value: ep.ScrapeProtocols}) + } if ep.ScrapeTimeout != "" { cfg = append(cfg, yaml.MapItem{Key: "scrape_timeout", Value: ep.ScrapeTimeout}) } @@ -617,6 +620,9 @@ func generateServiceScrapeConfig( if scrapeInterval != "" { cfg = append(cfg, yaml.MapItem{Key: "scrape_interval", Value: scrapeInterval}) } + if len(ep.ScrapeProtocols) != 0 { + cfg = append(cfg, yaml.MapItem{Key: "scrape_protocols", Value: ep.ScrapeProtocols}) + } if ep.ScrapeTimeout != "" { cfg = append(cfg, yaml.MapItem{Key: "scrape_timeout", Value: ep.ScrapeTimeout}) } @@ -945,7 +951,9 @@ func generateNodeScrapeConfig( if scrapeInterval != "" { cfg = append(cfg, yaml.MapItem{Key: "scrape_interval", Value: scrapeInterval}) } - + if len(nodeSpec.ScrapeProtocols) != 0 { + cfg = append(cfg, yaml.MapItem{Key: "scrape_protocols", Value: nodeSpec.ScrapeProtocols}) + } if nodeSpec.ScrapeTimeout != "" { cfg = append(cfg, yaml.MapItem{Key: "scrape_timeout", Value: nodeSpec.ScrapeTimeout}) } diff --git a/controllers/factory/static_targets_build.go b/controllers/factory/static_targets_build.go index 19a890a36..c1e93ab21 100644 --- a/controllers/factory/static_targets_build.go +++ b/controllers/factory/static_targets_build.go @@ -49,6 +49,10 @@ func generateStaticScrapeConfig( cfg = append(cfg, yaml.MapItem{Key: "scrape_interval", Value: scrapeInterval}) } + if len(ep.ScrapeProtocols) != 0 { + cfg = append(cfg, yaml.MapItem{Key: "scrape_protocols", Value: ep.ScrapeProtocols}) + } + if ep.ScrapeTimeout != "" { cfg = append(cfg, yaml.MapItem{Key: "scrape_timeout", Value: ep.ScrapeTimeout}) }