diff --git a/docs/operator/CHANGELOG.md b/docs/operator/CHANGELOG.md
index 2625512b3..cae00db1f 100644
--- a/docs/operator/CHANGELOG.md
+++ b/docs/operator/CHANGELOG.md
@@ -27,6 +27,7 @@ aliases:
- [operator](https://docs.victoriametrics.com/operator/): enables client cache back for `secrets` and `configmaps`. Adds new flag `-controller.disableCacheFor=seccret,configmap` to disable it if needed.
- [operator](https://docs.victoriametrics.com/operator/): made webhook port configurable. See [this issue](https://github.com/VictoriaMetrics/operator/issues/1106) for details.
- [operator](https://docs.victoriametrics.com/operator/): operator trims spaces from `Secret` and `Configmap` values by default. This behaviour could be changed with flag `disableSecretKeySpaceTrim`. Related [issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6986).
+- [operator](#https://docs.victoriametrics.com/operator/): expose again only command-line flags related to the operator. Release [v0.45.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.45.0) added regression with incorrectly exposed flags.
## [v0.47.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.47.3) - 28 Aug 2024
diff --git a/docs/operator/api.md b/docs/operator/api.md
index f98fddba1..c5bc809a1 100644
--- a/docs/operator/api.md
+++ b/docs/operator/api.md
@@ -51,6 +51,14 @@ APIServerConfig defines a host and auth methods to access apiserver.
_Appears in:_
- [VMAgentSpec](#vmagentspec)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `authorization` | | _[Authorization](#authorization)_ | false |
+| `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false |
+| `bearerToken` | Bearer token for accessing apiserver. | _string_ | false |
+| `bearerTokenFile` | File to read bearer token for accessing apiserver. | _string_ | false |
+| `host` | Host of apiserver.
A valid string consisting of a hostname or IP followed by an optional port number | _string_ | true |
+| `tlsConfig` | TLSConfig Config to use for accessing apiserver. | _[TLSConfig](#tlsconfig)_ | false |
#### AdditionalServiceSpec
@@ -71,10 +79,33 @@ _Appears in:_
- [VMAlertSpec](#vmalertspec)
- [VMAlertmanagerSpec](#vmalertmanagerspec)
- [VMAuthSpec](#vmauthspec)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
- [VMSingleSpec](#vmsinglespec)
+- [VMStorage](#vmstorage)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false |
+| `spec` | ServiceSpec describes the attributes that a user creates on a service.
More info: https://kubernetes.io/docs/concepts/services-networking/service/ | _[ServiceSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#servicespec-v1-core)_ | true |
+| `useAsDefault` | UseAsDefault applies changes from given service definition to the main object Service
Changing from headless service to clusterIP or loadbalancer may break cross-component communication | _boolean_ | false |
+
+
+#### AlertmanagerGossipConfig
+AlertmanagerGossipConfig defines Gossip TLS configuration for alertmanager
+
+
+
+_Appears in:_
+- [VMAlertmanagerSpec](#vmalertmanagerspec)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `tls_client_config` | TLSClientConfig defines client TLS configuration for alertmanager | _[TLSClientConfig](#tlsclientconfig)_ | true |
+| `tls_server_config` | TLSServerConfig defines server TLS configuration for alertmanager | _[TLSServerConfig](#tlsserverconfig)_ | true |
#### AlertmanagerHTTPConfig
@@ -94,6 +125,22 @@ _Appears in:_
| `http2` | HTTP2 enables HTTP/2 support. Note that HTTP/2 is only supported with TLS.
This can not be changed on the fly. | _boolean_ | false |
+#### AlertmanagerWebConfig
+
+
+
+AlertmanagerWebConfig defines web server configuration for alertmanager
+
+
+
+_Appears in:_
+- [VMAlertmanagerSpec](#vmalertmanagerspec)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `basic_auth_users` | BasicAuthUsers Usernames and hashed passwords that have full access to the web server
Passwords must be hashed with bcrypt | _object (keys:string, values:string)_ | false |
+| `http_server_config` | HTTPServerConfig defines http server configuration for alertmanager web server | _[AlertmanagerHTTPConfig](#alertmanagerhttpconfig)_ | false |
+| `tls_server_config` | TLSServerConfig defines server TLS configuration for alertmanager | _[TLSServerConfig](#tlsserverconfig)_ | false |
#### ArbitraryFSAccessThroughSMsConfig
@@ -133,6 +180,7 @@ _Appears in:_
- [KubernetesSDConfig](#kubernetessdconfig)
- [PodMetricsEndpoint](#podmetricsendpoint)
- [VMPodScrapeSpec](#vmpodscrapespec)
+- [VMServiceScrapeSpec](#vmservicescrapespec)
| Field | Description | Scheme | Required |
| --- | --- | --- | --- |
@@ -148,6 +196,7 @@ Authorization configures generic authorization params
_Appears in:_
+- [APIServerConfig](#apiserverconfig)
- [ConsulSDConfig](#consulsdconfig)
- [DigitalOceanSDConfig](#digitaloceansdconfig)
- [Endpoint](#endpoint)
@@ -201,15 +250,22 @@ BasicAuth allow an endpoint to authenticate over basic authentication
_Appears in:_
+- [APIServerConfig](#apiserverconfig)
- [ConsulSDConfig](#consulsdconfig)
- [Endpoint](#endpoint)
- [EndpointAuth](#endpointauth)
+- [HTTPAuth](#httpauth)
- [HTTPConfig](#httpconfig)
- [HTTPSDConfig](#httpsdconfig)
- [KubernetesSDConfig](#kubernetessdconfig)
- [PodMetricsEndpoint](#podmetricsendpoint)
- [ProxyAuth](#proxyauth)
- [TargetEndpoint](#targetendpoint)
+- [VMAgentRemoteWriteSpec](#vmagentremotewritespec)
+- [VMAlertDatasourceSpec](#vmalertdatasourcespec)
+- [VMAlertNotifierSpec](#vmalertnotifierspec)
+- [VMAlertRemoteReadSpec](#vmalertremotereadspec)
+- [VMAlertRemoteWriteSpec](#vmalertremotewritespec)
- [VMNodeScrapeSpec](#vmnodescrapespec)
- [VMProbeSpec](#vmprobespec)
- [VMScrapeConfigSpec](#vmscrapeconfigspec)
@@ -221,6 +277,25 @@ _Appears in:_
| `username` | Username defines reference for secret with username value
The secret needs to be in the same namespace as scrape object | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false |
+#### BearerAuth
+
+
+
+BearerAuth defines auth with bearer token
+
+
+
+_Appears in:_
+- [HTTPAuth](#httpauth)
+- [VMAlertDatasourceSpec](#vmalertdatasourcespec)
+- [VMAlertNotifierSpec](#vmalertnotifierspec)
+- [VMAlertRemoteReadSpec](#vmalertremotereadspec)
+- [VMAlertRemoteWriteSpec](#vmalertremotewritespec)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `bearerTokenFile` | Path to bearer token file | _string_ | false |
+| `bearerTokenSecret` | Optional bearer auth token to use for -remoteWrite.url | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false |
@@ -278,7 +353,10 @@ _Appears in:_
- [VMAlertSpec](#vmalertspec)
- [VMAlertmanagerSpec](#vmalertmanagerspec)
- [VMAuthSpec](#vmauthspec)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
- [VMSingleSpec](#vmsinglespec)
+- [VMStorage](#vmstorage)
| Field | Description | Scheme | Required |
| --- | --- | --- | --- |
@@ -306,7 +384,7 @@ _Appears in:_
| `secrets` | Secrets is a list of Secrets in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/secrets/SECRET_NAME folder | _string array_ | false |
| `securityContext` | SecurityContext holds pod-level security attributes and common container settings.
This defaults to the default PodSecurityContext. | _[SecurityContext](#securitycontext)_ | false |
| `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the pods | _string_ | false |
-| `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](#int64)_ | false |
+| `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _integer_ | false |
| `tolerations` | Tolerations If specified, the pod's tolerations. | _[Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#toleration-v1-core) array_ | false |
| `topologySpreadConstraints` | 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/ | _[TopologySpreadConstraint](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#topologyspreadconstraint-v1-core) array_ | false |
| `volumeMounts` | VolumeMounts allows configuration of additional VolumeMounts on the output Deployment/StatefulSet definition.
VolumeMounts specified will be appended to other VolumeMounts in the Application container | _[VolumeMount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volumemount-v1-core) array_ | false |
@@ -350,7 +428,10 @@ _Appears in:_
- [VMAlertSpec](#vmalertspec)
- [VMAlertmanagerSpec](#vmalertmanagerspec)
- [VMAuthSpec](#vmauthspec)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
- [VMSingleSpec](#vmsinglespec)
+- [VMStorage](#vmstorage)
| Field | Description | Scheme | Required |
| --- | --- | --- | --- |
@@ -362,6 +443,21 @@ _Appears in:_
| `useStrictSecurity` | 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 | _boolean_ | false |
+#### ConfigMapKeyReference
+
+
+
+ConfigMapKeyReference refers to a key in a ConfigMap.
+
+
+
+_Appears in:_
+- [VMAlertmanagerSpec](#vmalertmanagerspec)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `key` | The ConfigMap key to refer to. | _string_ | true |
+| `name` | Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | _string_ | false |
#### ConsulSDConfig
@@ -483,6 +579,21 @@ _Appears in:_
| `webhook_url_secret` | URLSecret defines secret name and key at the CRD namespace.
It must contain the webhook URL.
one of `urlSecret` and `url` must be defined. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false |
+#### DiscoverySelector
+
+
+
+DiscoverySelector can be used at CRD components discovery
+
+
+
+_Appears in:_
+- [VMAlertNotifierSpec](#vmalertnotifierspec)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `labelSelector` | | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | true |
+| `namespaceSelector` | | _[NamespaceSelector](#namespaceselector)_ | true |
#### EC2Filter
@@ -555,6 +666,25 @@ _Appears in:_
| `to` | The email address to send notifications to. | _string_ | false |
+#### EmbeddedHPA
+
+
+
+EmbeddedHPA embeds HorizontalPodAutoScaler spec v2.
+https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2/
+
+
+
+_Appears in:_
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `behaviour` | | _[HorizontalPodAutoscalerBehavior](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#horizontalpodautoscalerbehavior-v2beta2-autoscaling)_ | true |
+| `maxReplicas` | | _integer_ | true |
+| `metrics` | | _[MetricSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#metricspec-v2beta2-autoscaling) array_ | true |
+| `minReplicas` | | _integer_ | true |
#### EmbeddedIngress
@@ -568,6 +698,17 @@ EmbeddedIngress describes ingress configuration options.
_Appears in:_
- [VMAuthSpec](#vmauthspec)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `annotations` | 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 | _object (keys:string, values:string)_ | false |
+| `class_name` | ClassName defines ingress class name for VMAuth | _string_ | false |
+| `extraRules` | ExtraRules - additional rules for ingress,
must be checked for correctness by user. | _[IngressRule](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#ingressrule-v1-networking) array_ | false |
+| `extraTls` | ExtraTLS - additional TLS configuration for ingress
must be checked for correctness by user. | _[IngressTLS](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#ingresstls-v1-networking) array_ | false |
+| `host` | Host defines ingress host parameter for default rule
It will be used, only if TlsHosts is empty | _string_ | false |
+| `labels` | 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 | _object (keys:string, values:string)_ | false |
+| `name` | 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 | _string_ | false |
+| `tlsHosts` | TlsHosts configures TLS access for ingress, tlsSecretName must be defined for it. | _string array_ | true |
+| `tlsSecretName` | TlsSecretName defines secretname at the VMAuth namespace with cert and key
https://kubernetes.io/docs/concepts/services-networking/ingress/#tls | _string_ | false |
#### EmbeddedObjectMetadata
@@ -580,16 +721,42 @@ Only fields which are relevant to embedded resources are included.
_Appears in:_
+- [AdditionalServiceSpec](#additionalservicespec)
+- [EmbeddedIngress](#embeddedingress)
- [EmbeddedPersistentVolumeClaim](#embeddedpersistentvolumeclaim)
- [VLogsSpec](#vlogsspec)
- [VMAgentSpec](#vmagentspec)
- [VMAlertSpec](#vmalertspec)
- [VMAlertmanagerSpec](#vmalertmanagerspec)
- [VMAuthSpec](#vmauthspec)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
- [VMSingleSpec](#vmsinglespec)
+- [VMStorage](#vmstorage)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `annotations` | 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 | _object (keys:string, values:string)_ | false |
+| `labels` | 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 | _object (keys:string, values:string)_ | false |
+| `name` | 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 | _string_ | false |
+
+
+#### EmbeddedPersistentVolumeClaim
+EmbeddedPersistentVolumeClaim is an embedded version of k8s.io/api/core/v1.PersistentVolumeClaim.
+It contains TypeMeta and a reduced ObjectMeta.
+
+
+
+_Appears in:_
+- [StorageSpec](#storagespec)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false |
+| `spec` | Spec defines the desired characteristics of a volume requested by a pod author.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims | _[PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaimspec-v1-core)_ | false |
#### EmbeddedPodDisruptionBudgetSpec
@@ -605,7 +772,15 @@ _Appears in:_
- [VMAlertSpec](#vmalertspec)
- [VMAlertmanagerSpec](#vmalertmanagerspec)
- [VMAuthSpec](#vmauthspec)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
+- [VMStorage](#vmstorage)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `maxUnavailable` | 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". | _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#intorstring-intstr-util)_ | false |
+| `minAvailable` | 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%". | _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#intorstring-intstr-util)_ | false |
+| `selectorLabels` | replaces default labels selector generated by operator
it's useful when you need to create custom budget | _object (keys:string, values:string)_ | false |
#### EmbeddedProbes
@@ -624,10 +799,56 @@ _Appears in:_
- [VMAlertSpec](#vmalertspec)
- [VMAlertmanagerSpec](#vmalertmanagerspec)
- [VMAuthSpec](#vmauthspec)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
- [VMSingleSpec](#vmsinglespec)
+- [VMStorage](#vmstorage)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `livenessProbe` | LivenessProbe that will be added CRD pod | _[Probe](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#probe-v1-core)_ | false |
+| `readinessProbe` | ReadinessProbe that will be added CRD pod | _[Probe](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#probe-v1-core)_ | false |
+| `startupProbe` | StartupProbe that will be added to CRD pod | _[Probe](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#probe-v1-core)_ | false |
+
+
+#### Endpoint
+Endpoint defines a scrapeable endpoint serving metrics.
+
+
+
+_Appears in:_
+- [VMServiceScrapeSpec](#vmservicescrapespec)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `attach_metadata` | AttachMetadata configures metadata attaching from service discovery | _[AttachMetadata](#attachmetadata)_ | false |
+| `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false |
+| `basicAuth` | BasicAuth allow an endpoint to authenticate over basic authentication | _[BasicAuth](#basicauth)_ | false |
+| `bearerTokenFile` | File to read bearer token for scraping targets. | _string_ | false |
+| `bearerTokenSecret` | Secret to mount to read bearer token for scraping targets. The secret
needs to be in the same namespace as the scrape object and accessible by
the victoria-metrics operator. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false |
+| `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false |
+| `honorLabels` | HonorLabels chooses the metric's labels on collisions with target labels. | _boolean_ | false |
+| `honorTimestamps` | HonorTimestamps controls whether vmagent respects the timestamps present in scraped data. | _boolean_ | false |
+| `interval` | Interval at which metrics should be scraped | _string_ | false |
+| `max_scrape_size` | MaxScrapeSize defines a maximum size of scraped data for a job | _string_ | false |
+| `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false |
+| `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false |
+| `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false |
+| `path` | HTTP path to scrape for metrics. | _string_ | false |
+| `port` | Name of the port exposed at Service. | _string_ | false |
+| `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false |
+| `relabelConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | false |
+| `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false |
+| `scheme` | HTTP scheme to use for scraping. | _string_ | false |
+| `scrapeTimeout` | Timeout after which the scrape is ended | _string_ | false |
+| `scrape_interval` | ScrapeInterval is the same as Interval and has priority over it.
one of scrape_interval or interval can be used | _string_ | false |
+| `seriesLimit` | SeriesLimit defines per-scrape limit on number of unique time series
a single target can expose during all the scrapes on the time window of 24h. | _integer_ | false |
+| `targetPort` | TargetPort
Name or number of the pod port this endpoint refers to. Mutually exclusive with port. | _[IntOrString](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#intorstring-intstr-util)_ | false |
+| `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false |
+| `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false |
#### EndpointAuth
@@ -766,7 +987,16 @@ HTTPAuth generic auth used with http protocols
_Appears in:_
- [VMAlertDatasourceSpec](#vmalertdatasourcespec)
+- [VMAlertNotifierSpec](#vmalertnotifierspec)
+- [VMAlertRemoteReadSpec](#vmalertremotereadspec)
+- [VMAlertRemoteWriteSpec](#vmalertremotewritespec)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `basicAuth` | | _[BasicAuth](#basicauth)_ | false |
+| `headers` | 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 | _string array_ | false |
+| `oauth2` | | _[OAuth2](#oauth2)_ | false |
+| `tlsConfig` | | _[TLSConfig](#tlsconfig)_ | false |
#### HTTPConfig
@@ -841,8 +1071,16 @@ _Appears in:_
- [VMAlertmanagerSpec](#vmalertmanagerspec)
- [VMAuthSpec](#vmauthspec)
- [VMBackup](#vmbackup)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
- [VMSingleSpec](#vmsinglespec)
+- [VMStorage](#vmstorage)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `pullPolicy` | PullPolicy describes how to pull docker image | _[PullPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#pullpolicy-v1-core)_ | true |
+| `repository` | Repository contains name of docker image + it's repository if needed | _string_ | true |
+| `tag` | Tag contains desired docker image version | _string_ | true |
#### ImageConfig
@@ -896,8 +1134,15 @@ _Appears in:_
_Appears in:_
- [VMAgentSpec](#vmagentspec)
+- [VMInsert](#vminsert)
- [VMSingleSpec](#vmsinglespec)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `graphitePort` | GraphitePort listen port | _string_ | false |
+| `influxPort` | InfluxPort listen port | _string_ | false |
+| `openTSDBHTTPPort` | OpenTSDBHTTPPort for http connections. | _string_ | false |
+| `openTSDBPort` | OpenTSDBPort for tcp and udp listen | _string_ | false |
#### K8SSelectorConfig
@@ -965,6 +1210,10 @@ _Appears in:_
- [VMClusterSpec](#vmclusterspec)
- [VMSingleSpec](#vmsinglespec)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `key` | Enterprise license key. This flag is available only in [VictoriaMetrics enterprise](https://docs.victoriametrics.com/enterprise).
To request a trial license, [go to](https://victoriametrics.com/products/enterprise/trial) | _string_ | true |
+| `keyRef` | KeyRef is reference to secret with license key for enterprise features. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true |
#### LinkConfig
@@ -1038,6 +1287,7 @@ _Appears in:_
- [DiscoverySelector](#discoveryselector)
- [ProbeTargetIngress](#probetargetingress)
- [VMPodScrapeSpec](#vmpodscrapespec)
+- [VMServiceScrapeSpec](#vmservicescrapespec)
| Field | Description | Scheme | Required |
| --- | --- | --- | --- |
@@ -1058,10 +1308,16 @@ _Appears in:_
- [DigitalOceanSDConfig](#digitaloceansdconfig)
- [Endpoint](#endpoint)
- [EndpointAuth](#endpointauth)
+- [HTTPAuth](#httpauth)
- [HTTPConfig](#httpconfig)
- [KubernetesSDConfig](#kubernetessdconfig)
- [PodMetricsEndpoint](#podmetricsendpoint)
- [TargetEndpoint](#targetendpoint)
+- [VMAgentRemoteWriteSpec](#vmagentremotewritespec)
+- [VMAlertDatasourceSpec](#vmalertdatasourcespec)
+- [VMAlertNotifierSpec](#vmalertnotifierspec)
+- [VMAlertRemoteReadSpec](#vmalertremotereadspec)
+- [VMAlertRemoteWriteSpec](#vmalertremotewritespec)
- [VMNodeScrapeSpec](#vmnodescrapespec)
- [VMProbeSpec](#vmprobespec)
- [VMScrapeConfigSpec](#vmscrapeconfigspec)
@@ -1349,6 +1605,7 @@ _Appears in:_
- [ProbeTargetIngress](#probetargetingress)
- [StreamAggrRule](#streamaggrrule)
- [TargetEndpoint](#targetendpoint)
+- [VMAgentRemoteWriteSpec](#vmagentremotewritespec)
- [VMAgentSpec](#vmagentspec)
- [VMNodeScrapeSpec](#vmnodescrapespec)
- [VMProbeSpec](#vmprobespec)
@@ -1473,6 +1730,27 @@ _Appears in:_
+#### SecurityContext
+
+
+
+SecurityContext extends PodSecurityContext with ContainerSecurityContext
+It allows to globally configure security params for pod and all containers
+
+
+
+_Appears in:_
+- [CommonApplicationDeploymentParams](#commonapplicationdeploymentparams)
+- [VLogsSpec](#vlogsspec)
+- [VMAgentSpec](#vmagentspec)
+- [VMAlertSpec](#vmalertspec)
+- [VMAlertmanagerSpec](#vmalertmanagerspec)
+- [VMAuthSpec](#vmauthspec)
+- [VMInsert](#vminsert)
+- [VMSelect](#vmselect)
+- [VMSingleSpec](#vmsinglespec)
+- [VMStorage](#vmstorage)
+
#### Sigv4Config
@@ -1673,7 +1951,14 @@ If neither `emptyDir` nor `volumeClaimTemplate` is specified, then by default an
_Appears in:_
- [VMAgentSpec](#vmagentspec)
- [VMAlertmanagerSpec](#vmalertmanagerspec)
+- [VMSelect](#vmselect)
+- [VMStorage](#vmstorage)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `disableMountSubPath` | 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. | _boolean_ | false |
+| `emptyDir` | 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 | _[EmptyDirVolumeSource](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#emptydirvolumesource-v1-core)_ | false |
+| `volumeClaimTemplate` | A PVC spec to be used by the VMAlertManager StatefulSets. | _[EmbeddedPersistentVolumeClaim](#embeddedpersistentvolumeclaim)_ | false |
#### StreamAggrConfig
@@ -1685,11 +1970,50 @@ StreamAggrConfig defines the stream aggregation config
_Appears in:_
+- [VMAgentRemoteWriteSpec](#vmagentremotewritespec)
- [VMAgentSpec](#vmagentspec)
- [VMSingleSpec](#vmsinglespec)
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `configmap` | ConfigMap with stream aggregation rules | _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#configmapkeyselector-v1-core)_ | false |
+| `dedupInterval` | Allows setting different de-duplication intervals per each configured remote storage | _string_ | false |
+| `dropInput` | Allow drop all the input samples after the aggregation | _boolean_ | false |
+| `dropInputLabels` | labels to drop from samples for aggregator before stream de-duplication and aggregation | _string array_ | false |
+| `ignoreFirstIntervals` | IgnoreFirstIntervals instructs to ignore first interval | _integer_ | false |
+| `ignoreOldSamples` | IgnoreOldSamples instructs to ignore samples with old timestamps outside the current aggregation interval. | _boolean_ | false |
+| `keepInput` | Allows writing both raw and aggregate data | _boolean_ | false |
+| `rules` | Stream aggregation rules | _[StreamAggrRule](#streamaggrrule) array_ | false |
+#### StreamAggrRule
+
+
+
+StreamAggrRule defines the rule in stream aggregation config
+
+
+
+_Appears in:_
+- [StreamAggrConfig](#streamaggrconfig)
+
+| Field | Description | Scheme | Required |
+| --- | --- | --- | --- |
+| `by` | 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. | _string array_ | false |
+| `dedup_interval` | DedupInterval is an optional interval for deduplication. | _string_ | false |
+| `drop_input_labels` | DropInputLabels is an optional list with labels, which must be dropped before further processing of input samples.
Labels are dropped before de-duplication and aggregation. | _string_ | false |
+| `flush_on_shutdown` | FlushOnShutdown defines whether to flush the aggregation state on process termination
or config reload. Is `false` by default.
It is not recommended changing this setting, unless unfinished aggregations states
are preferred to missing data points. | _boolean_ | false |
+| `ignore_first_intervals` | | _integer_ | true |
+| `ignore_old_samples` | IgnoreOldSamples instructs to ignore samples with old timestamps outside the current aggregation interval. | _boolean_ | false |
+| `input_relabel_configs` | InputRelabelConfigs is an optional relabeling rules, which are applied on the input
before aggregation. | _[RelabelConfig](#relabelconfig) array_ | false |
+| `interval` | Interval is the interval between aggregations. | _string_ | true |
+| `keep_metric_names` | KeepMetricNames instructs to leave metric names as is for the output time series without adding any suffix. | _boolean_ | false |
+| `match` | 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. | _[StringOrArray](#stringorarray)_ | false |
+| `no_align_flush_to_interval` | NoAlignFlushToInterval disables aligning of flushes to multiples of Interval.
By default flushes are aligned to Interval. | _boolean_ | false |
+| `output_relabel_configs` | OutputRelabelConfigs is an optional relabeling rules, which are applied
on the aggregated output before being sent to remote storage. | _[RelabelConfig](#relabelconfig) array_ | false |
+| `outputs` | 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__