--- weight: 12 title: API Docs menu: docs: parent: operator weight: 12 aliases: - /operator/api/ - /operator/api/index.html - /operator/api.html --- ## Packages - [operator.victoriametrics.com/v1beta1](#operatorvictoriametricscomv1beta1) ## operator.victoriametrics.com/v1beta1 Package v1beta1 contains API Schema definitions for the victoriametrics v1beta1 API group ### Resource Types - [VLogs](#vlogs) - [VMAgent](#vmagent) - [VMAlert](#vmalert) - [VMAlertmanager](#vmalertmanager) - [VMAlertmanagerConfig](#vmalertmanagerconfig) - [VMAuth](#vmauth) - [VMCluster](#vmcluster) - [VMNodeScrape](#vmnodescrape) - [VMPodScrape](#vmpodscrape) - [VMProbe](#vmprobe) - [VMRule](#vmrule) - [VMScrapeConfig](#vmscrapeconfig) - [VMServiceScrape](#vmservicescrape) - [VMSingle](#vmsingle) - [VMStaticScrape](#vmstaticscrape) - [VMUser](#vmuser) #### APIServerConfig _Underlying type:_ _[struct{Host string "json:\"host\""; BasicAuth *BasicAuth "json:\"basicAuth,omitempty\""; BearerToken string "json:\"bearerToken,omitempty\""; BearerTokenFile string "json:\"bearerTokenFile,omitempty\""; TLSConfig *TLSConfig "json:\"tlsConfig,omitempty\""; Authorization *Authorization "json:\"authorization,omitempty\""}](#struct{host-string-"json:\"host\"";-basicauth-*basicauth-"json:\"basicauth,omitempty\"";-bearertoken-string-"json:\"bearertoken,omitempty\"";-bearertokenfile-string-"json:\"bearertokenfile,omitempty\"";-tlsconfig-*tlsconfig-"json:\"tlsconfig,omitempty\"";-authorization-*authorization-"json:\"authorization,omitempty\""})_ APIServerConfig defines a host and auth methods to access apiserver. _Appears in:_ - [VMAgentSpec](#vmagentspec) #### AdditionalServiceSpec _Underlying type:_ _[struct{UseAsDefault bool "json:\"useAsDefault,omitempty\""; EmbeddedObjectMetadata "json:\"metadata,omitempty\""; Spec k8s.io/api/core/v1.ServiceSpec "json:\"spec\""}](#struct{useasdefault-bool-"json:\"useasdefault,omitempty\"";-embeddedobjectmetadata-"json:\"metadata,omitempty\"";-spec-k8sioapicorev1servicespec-"json:\"spec\""})_ ServiceSpec defines additional service for CRD with user-defined params. by default, some of fields can be inherited from default service definition for the CRD: labels,selector, ports. if metadata.name is not defined, service will have format {{CRD_TYPE}}-{{CRD_NAME}}-additional-service. if UseAsDefault is set to true, changes applied to the main service without additional service creation _Appears in:_ - [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) - [VMSingleSpec](#vmsinglespec) #### AlertmanagerHTTPConfig AlertmanagerHTTPConfig defines http server configuration for alertmanager _Appears in:_ - [AlertmanagerWebConfig](#alertmanagerwebconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `headers` | Headers defines list of headers that can be added to HTTP responses. | _object (keys:string, values:string)_ | true | | `http2` | HTTP2 enables HTTP/2 support. Note that HTTP/2 is only supported with TLS.
This can not be changed on the fly. | _boolean_ | true | #### ArbitraryFSAccessThroughSMsConfig ArbitraryFSAccessThroughSMsConfig enables users to configure, whether a service scrape selected by the vmagent instance is allowed to use arbitrary files on the file system of the vmagent container. This is the case when e.g. a service scrape specifies a BearerTokenFile in an endpoint. A malicious user could create a service scrape selecting arbitrary secret files in the vmagent container. Those secrets would then be sent with a scrape request by vmagent to a malicious target. Denying the above would prevent the attack, users can instead use the BearerTokenSecret field. _Appears in:_ - [VMAgentSecurityEnforcements](#vmagentsecurityenforcements) - [VMAgentSpec](#vmagentspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `deny` | | _boolean_ | true | #### AttachMetadata AttachMetadata configures metadata attachment _Appears in:_ - [Endpoint](#endpoint) - [KubernetesSDConfig](#kubernetessdconfig) - [PodMetricsEndpoint](#podmetricsendpoint) - [VMPodScrapeSpec](#vmpodscrapespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `node` | Node instructs vmagent to add node specific metadata from service discovery
Valid for roles: pod, endpoints, endpointslice. | _boolean_ | false | #### Authorization Authorization configures generic authorization params _Appears in:_ - [ConsulSDConfig](#consulsdconfig) - [DigitalOceanSDConfig](#digitaloceansdconfig) - [Endpoint](#endpoint) - [EndpointAuth](#endpointauth) - [HTTPConfig](#httpconfig) - [HTTPSDConfig](#httpsdconfig) - [KubernetesSDConfig](#kubernetessdconfig) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `credentials` | Reference to the secret with value for authorization | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `credentialsFile` | File with value for authorization | _string_ | false | | `type` | Type of authorization, default to bearer | _string_ | false | #### AzureSDConfig AzureSDConfig allow retrieving scrape targets from Azure VMs. See [here](https://docs.victoriametrics.com/sd_configs#azure_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `authenticationMethod` | # The authentication method, either OAuth or ManagedIdentity.
See https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview | _string_ | false | | `clientID` | Optional client ID. Only required with the OAuth authentication method. | _string_ | false | | `clientSecret` | Optional client secret. Only required with the OAuth authentication method. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `environment` | The Azure environment. | _string_ | false | | `port` | The port to scrape metrics from. If using the public IP address, this must
instead be specified in the relabeling rule. | _integer_ | false | | `resourceGroup` | Optional resource group name. Limits discovery to this resource group. | _string_ | false | | `subscriptionID` | The subscription ID. Always required. | _string_ | true | | `tenantID` | Optional tenant ID. Only required with the OAuth authentication method. | _string_ | false | #### BasicAuth BasicAuth allow an endpoint to authenticate over basic authentication _Appears in:_ - [ConsulSDConfig](#consulsdconfig) - [Endpoint](#endpoint) - [EndpointAuth](#endpointauth) - [HTTPConfig](#httpconfig) - [HTTPSDConfig](#httpsdconfig) - [KubernetesSDConfig](#kubernetessdconfig) - [PodMetricsEndpoint](#podmetricsendpoint) - [ProxyAuth](#proxyauth) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `password` | Password defines reference for secret with password 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 | | `password_file` | PasswordFile defines path to password file at disk
must be pre-mounted | _string_ | false | | `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 | #### CRDRef CRDRef describe CRD target reference. _Appears in:_ - [TargetRef](#targetref) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `kind` | Kind one of:
VMAgent,VMAlert, VMSingle, VMCluster/vmselect, VMCluster/vmstorage,VMCluster/vminsert or VMAlertManager | _string_ | true | | `name` | Name target CRD object name | _string_ | true | | `namespace` | Namespace target CRD object namespace. | _string_ | true | #### Certs Certs defines TLS certs configuration _Appears in:_ - [TLSClientConfig](#tlsclientconfig) - [TLSServerConfig](#tlsserverconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `cert_file` | CertFile defines path to the pre-mounted file with certificate
mutually exclusive with CertSecretRef | _string_ | true | | `cert_secret_ref` | | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `key_file` | KeyFile defines path to the pre-mounted file with certificate key
mutually exclusive with KeySecretRef | _string_ | true | | `key_secret_ref` | Key defines reference for secret with certificate key content under given key
mutually exclusive with KeyFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | #### CommonApplicationDeploymentParams CommonApplicationDeploymentParams defines common params for deployment and statefulset specifications _Appears in:_ - [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) - [VMSingleSpec](#vmsinglespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/configs/CONFIGMAP_NAME folder | _string array_ | false | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | | `extraArgs` | ExtraArgs that will be passed to the application container
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be passed to the application container | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliasesUnderScore provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork.
Has Priority over hostAliases field | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition.
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/ | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state
Has no effect for VLogs and VMSingle | _integer_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `priorityClassName` | PriorityClassName class assigned to the Pods | _string_ | false | | `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | | `replicaCount` | ReplicaCount is the expected size of the Application. | _integer_ | false | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the Deployment revision history.
Has no effect at StatefulSets
Defaults to 10. | _integer_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | | `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 | | `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 | | `volumes` | Volumes allows configuration of additional volumes on the output Deployment/StatefulSet definition.
Volumes specified will be appended to other volumes that are generated.
/ +optional | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | true | #### CommonConfigReloaderParams _Appears in:_ - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `configReloaderExtraArgs` | ConfigReloaderExtraArgs that will be passed to VMAuths config-reloader container
for example resyncInterval: "30s" | _object (keys:string, values:string)_ | false | | `configReloaderImageTag` | ConfigReloaderImageTag defines image:tag for config-reloader container | _string_ | true | | `configReloaderResources` | ConfigReloaderResources config-reloader 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | true | | `useVMConfigReloader` | UseVMConfigReloader replaces prometheus-like config-reloader
with vm one. It uses secrets watch instead of file watch
which greatly increases speed of config updates | _boolean_ | true | #### CommonDefaultableParams CommonDefaultableParams contains Application settings with known values populated from operator configuration _Appears in:_ - [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) - [VMSingleSpec](#vmsinglespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `disableSelfServiceScrape` | DisableSelfServiceScrape controls creation of VMServiceScrape by operator
for the application.
Has priority over `VM_DISABLESELFSERVICESCRAPECREATION` operator env variable | _boolean_ | true | | `image` | Image - docker image settings
if no specified operator uses default version from operator config | _[Image](#image)_ | false | | `port` | Port listen address | _string_ | false | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `useDefaultResources` | UseDefaultResources controls resource settings
By default, operator sets built-in resource requirements | _boolean_ | false | | `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 | #### ConsulSDConfig ConsulSDConfig defines a Consul service discovery configuration. See [here](https://docs.victoriametrics.com/sd_configs/#consul_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `allowStale` | Allow stale Consul results (see https://developer.hashicorp.com/consul/api-docs/features/consistency). Will reduce load on Consul.
If unset, use its default value. | _boolean_ | false | | `authorization` | Authorization header to use on every scrape request. | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth information to use on every scrape request. | _[BasicAuth](#basicauth)_ | false | | `datacenter` | Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter. | _string_ | false | | `followRedirects` | Configure whether HTTP requests follow HTTP 3xx redirects.
If unset, use its default value. | _boolean_ | false | | `namespace` | Namespaces are only supported in Consul Enterprise. | _string_ | false | | `nodeMeta` | Node metadata key/value pairs to filter nodes for a given service. | _object (keys:string, values:string)_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `partition` | Admin Partitions are only supported in Consul Enterprise. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `scheme` | HTTP Scheme default "http" | _string_ | false | | `server` | A valid string consisting of a hostname or IP followed by an optional port number. | _string_ | true | | `services` | A list of services for which targets are retrieved. If omitted, all services are scraped. | _string array_ | false | | `tagSeparator` | The string by which Consul tags are joined into the tag label.
If unset, use its default value. | _string_ | false | | `tags` | An optional list of tags used to filter nodes for a given service. Services must contain all tags in the list. | _string array_ | false | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | | `tokenRef` | Consul ACL TokenRef, if not provided it will use the ACL from the local Consul Agent. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | #### ContainerSecurityContext ContainerSecurityContext defines security context for each application container _Appears in:_ - [SecurityContext](#securitycontext) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `allowPrivilegeEscalation` | AllowPrivilegeEscalation controls whether a process can gain more
privileges than its parent process. This bool directly controls if
the no_new_privs flag will be set on the container process.
AllowPrivilegeEscalation is true always when the container is:
1) run as Privileged
2) has CAP_SYS_ADMIN
Note that this field cannot be set when spec.os.name is windows. | _boolean_ | false | | `capabilities` | The capabilities to add/drop when running containers.
Defaults to the default set of capabilities granted by the container runtime.
Note that this field cannot be set when spec.os.name is windows. | _[Capabilities](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#capabilities-v1-core)_ | false | | `privileged` | Run containers in privileged mode.
Processes in privileged containers are essentially equivalent to root on the host.
Note that this field cannot be set when spec.os.name is windows. | _boolean_ | false | | `procMount` | procMount denotes the type of proc mount to use for the containers.
The default is DefaultProcMount which uses the container runtime defaults for
readonly paths and masked paths.
This requires the ProcMountType feature flag to be enabled.
Note that this field cannot be set when spec.os.name is windows. | _[ProcMountType](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#procmounttype-v1-core)_ | false | | `readOnlyRootFilesystem` | Whether this containers has a read-only root filesystem.
Default is false.
Note that this field cannot be set when spec.os.name is windows. | _boolean_ | false | #### DNSSDConfig DNSSDConfig allows specifying a set of DNS domain names which are periodically queried to discover a list of targets. The DNS servers to be contacted are read from /etc/resolv.conf. See [here](https://docs.victoriametrics.com/sd_configs#dns_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `names` | A list of DNS domain names to be queried. | _string array_ | true | | `port` | The port number used if the query type is not SRV
Ignored for SRV records | _integer_ | false | | `type` | | _string_ | false | #### DigitalOceanSDConfig DigitalOceanSDConfig allow retrieving scrape targets from DigitalOcean's Droplets API. This service discovery uses the public IPv4 address by default, by that can be changed with relabeling. See [here](https://docs.victoriametrics.com/sd_configs#digitalocean_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `authorization` | Authorization header to use on every scrape request. | _[Authorization](#authorization)_ | false | | `followRedirects` | Configure whether HTTP requests follow HTTP 3xx redirects. | _boolean_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `port` | The port to scrape metrics from. | _integer_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | #### DiscordConfig _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | The message body template | _string_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `title` | The message title template | _string_ | false | | `webhook_url` | The discord webhook URL
one of `urlSecret` and `url` must be defined. | _string_ | false | | `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 | #### EC2Filter EC2Filter is the configuration for filtering EC2 instances. _Appears in:_ - [EC2SDConfig](#ec2sdconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `name` | | _string_ | true | | `values` | | _string array_ | true | #### EC2SDConfig EC2SDConfig allow retrieving scrape targets from AWS EC2 instances. The private IP address is used by default, but may be changed to the public IP address with relabeling. The IAM credentials used must have the ec2:DescribeInstances permission to discover scrape targets. See [here](https://docs.victoriametrics.com/sd_configs#ec2_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `accessKey` | AccessKey is the AWS API key. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `filters` | Filters can be used optionally to filter the instance list by other criteria.
Available filter criteria can be found here:
https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html
Filter API documentation: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Filter.html | _[EC2Filter](#ec2filter) array_ | false | | `port` | The port to scrape metrics from. If using the public IP address, this must
instead be specified in the relabeling rule. | _integer_ | false | | `region` | The AWS region | _string_ | false | | `roleARN` | AWS Role ARN, an alternative to using AWS API keys. | _string_ | false | | `secretKey` | SecretKey is the AWS API secret. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | #### EmailConfig EmailConfig configures notifications via Email. _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `auth_identity` | The identity to use for authentication. | _string_ | false | | `auth_password` | AuthPassword defines secret name and key at CRD namespace. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `auth_secret` | AuthSecret defines secrent name and key at CRD namespace.
It must contain the CRAM-MD5 secret. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `auth_username` | The username to use for authentication. | _string_ | false | | `from` | The sender address.
fallback to global setting if empty | _string_ | false | | `headers` | Further headers email header key/value pairs. Overrides any headers
previously set by the notification implementation. | _object (keys:string, values:string)_ | true | | `hello` | The hostname to identify to the SMTP server. | _string_ | false | | `html` | The HTML body of the email notification. | _string_ | false | | `require_tls` | The SMTP TLS requirement.
Note that Go does not support unencrypted connections to remote SMTP endpoints. | _boolean_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `smarthost` | The SMTP host through which emails are sent.
fallback to global setting if empty | _string_ | false | | `text` | The text body of the email notification. | _string_ | false | | `tls_config` | TLS configuration | _[TLSConfig](#tlsconfig)_ | false | | `to` | The email address to send notifications to. | _string_ | false | #### EmbeddedIngress _Underlying type:_ _[struct{ClassName *string "json:\"class_name,omitempty\""; EmbeddedObjectMetadata "json:\",inline\""; TlsHosts []string "json:\"tlsHosts,omitempty\""; TlsSecretName string "json:\"tlsSecretName,omitempty\""; ExtraRules []k8s.io/api/networking/v1.IngressRule "json:\"extraRules,omitempty\""; ExtraTLS []k8s.io/api/networking/v1.IngressTLS "json:\"extraTls,omitempty\""; Host string "json:\"host,omitempty\""}](#struct{classname-*string-"json:\"class_name,omitempty\"";-embeddedobjectmetadata-"json:\",inline\"";-tlshosts-[]string-"json:\"tlshosts,omitempty\"";-tlssecretname-string-"json:\"tlssecretname,omitempty\"";-extrarules-[]k8sioapinetworkingv1ingressrule-"json:\"extrarules,omitempty\"";-extratls-[]k8sioapinetworkingv1ingresstls-"json:\"extratls,omitempty\"";-host-string-"json:\"host,omitempty\""})_ EmbeddedIngress describes ingress configuration options. _Appears in:_ - [VMAuthSpec](#vmauthspec) #### EmbeddedObjectMetadata _Underlying type:_ _[struct{Name string "json:\"name,omitempty\" protobuf:\"bytes,1,opt,name=name\""; Labels map[string]string "json:\"labels,omitempty\" protobuf:\"bytes,11,rep,name=labels\""; Annotations map[string]string "json:\"annotations,omitempty\" protobuf:\"bytes,12,rep,name=annotations\""}](#struct{name-string-"json:\"name,omitempty\"-protobuf:\"bytes,1,opt,name=name\"";-labels-map[string]string-"json:\"labels,omitempty\"-protobuf:\"bytes,11,rep,name=labels\"";-annotations-map[string]string-"json:\"annotations,omitempty\"-protobuf:\"bytes,12,rep,name=annotations\""})_ EmbeddedObjectMetadata contains a subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta Only fields which are relevant to embedded resources are included. _Appears in:_ - [EmbeddedPersistentVolumeClaim](#embeddedpersistentvolumeclaim) - [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) - [VMSingleSpec](#vmsinglespec) #### EmbeddedPodDisruptionBudgetSpec _Underlying type:_ _[struct{MinAvailable *k8s.io/apimachinery/pkg/util/intstr.IntOrString "json:\"minAvailable,omitempty\""; MaxUnavailable *k8s.io/apimachinery/pkg/util/intstr.IntOrString "json:\"maxUnavailable,omitempty\""; SelectorLabels map[string]string "json:\"selectorLabels,omitempty\""}](#struct{minavailable-*k8sioapimachinerypkgutilintstrintorstring-"json:\"minavailable,omitempty\"";-maxunavailable-*k8sioapimachinerypkgutilintstrintorstring-"json:\"maxunavailable,omitempty\"";-selectorlabels-map[string]string-"json:\"selectorlabels,omitempty\""})_ _Appears in:_ - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) #### EmbeddedProbes _Underlying type:_ _[struct{LivenessProbe *k8s.io/api/core/v1.Probe "json:\"livenessProbe,omitempty\""; ReadinessProbe *k8s.io/api/core/v1.Probe "json:\"readinessProbe,omitempty\""; StartupProbe *k8s.io/api/core/v1.Probe "json:\"startupProbe,omitempty\""}](#struct{livenessprobe-*k8sioapicorev1probe-"json:\"livenessprobe,omitempty\"";-readinessprobe-*k8sioapicorev1probe-"json:\"readinessprobe,omitempty\"";-startupprobe-*k8sioapicorev1probe-"json:\"startupprobe,omitempty\""})_ EmbeddedProbes - it allows to override some probe params. its not necessary to specify all options, operator will replace missing spec with default values. _Appears in:_ - [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) - [VMSingleSpec](#vmsinglespec) #### EndpointAuth EndpointAuth defines target endpoint authorization options for scrapping _Appears in:_ - [Endpoint](#endpoint) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `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 | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | #### EndpointRelabelings EndpointRelabelings defines service discovery and metrics relabeling configuration for endpoints _Appears in:_ - [Endpoint](#endpoint) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `metricRelabelConfigs` | MetricRelabelConfigs to apply to samples after scrapping. | _[RelabelConfig](#relabelconfig) array_ | false | | `relabelConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | false | #### EndpointScrapeParams ScrapeTargetParams defines common configuration params for all scrape endpoint targets _Appears in:_ - [Endpoint](#endpoint) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `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 | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | | `path` | HTTP path to scrape for metrics. | _string_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | 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 | | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | #### FileSDConfig FileSDConfig defines a file service discovery configuration. See [here](https://docs.victoriametrics.com/sd_configs#file_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `files` | List of files to be used for file discovery. | _string array_ | true | #### GCESDConfig GCESDConfig configures scrape targets from GCP GCE instances. The private IP address is used by default, but may be changed to the public IP address with relabeling. See [here](https://docs.victoriametrics.com/sd_configs#gce_sd_configs) The GCE service discovery will load the Google Cloud credentials from the file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable. See https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `filter` | Filter can be used optionally to filter the instance list by other criteria
Syntax of this filter is described in the filter query parameter section:
https://cloud.google.com/compute/docs/reference/latest/instances/list | _string_ | false | | `port` | The port to scrape metrics from. If using the public IP address, this must
instead be specified in the relabeling rule. | _integer_ | false | | `project` | The Google Cloud Project ID | _string_ | true | | `tagSeparator` | The tag separator is used to separate the tags on concatenation | _string_ | false | | `zone` | The zone of the scrape targets. If you need multiple zones use multiple GCESDConfigs. | _string_ | true | #### HTTPAuth _Underlying type:_ _[struct{BasicAuth *BasicAuth "json:\"basicAuth,omitempty\""; OAuth2 *OAuth2 "json:\"oauth2,omitempty\""; TLSConfig *TLSConfig "json:\"tlsConfig,omitempty\""; *BearerAuth "json:\",inline,omitempty\""; Headers []string "json:\"headers,omitempty\""}](#struct{basicauth-*basicauth-"json:\"basicauth,omitempty\"";-oauth2-*oauth2-"json:\"oauth2,omitempty\"";-tlsconfig-*tlsconfig-"json:\"tlsconfig,omitempty\"";-*bearerauth-"json:\",inline,omitempty\"";-headers-[]string-"json:\"headers,omitempty\""})_ HTTPAuth generic auth used with http protocols _Appears in:_ - [VMAlertDatasourceSpec](#vmalertdatasourcespec) #### HTTPConfig HTTPConfig defines a client HTTP configuration for VMAlertmanagerConfig objects See https://prometheus.io/docs/alerting/latest/configuration/#http_config _Appears in:_ - [DiscordConfig](#discordconfig) - [MSTeamsConfig](#msteamsconfig) - [OpsGenieConfig](#opsgenieconfig) - [PagerDutyConfig](#pagerdutyconfig) - [PushoverConfig](#pushoverconfig) - [SlackConfig](#slackconfig) - [SnsConfig](#snsconfig) - [TelegramConfig](#telegramconfig) - [VictorOpsConfig](#victoropsconfig) - [WeChatConfig](#wechatconfig) - [WebexConfig](#webexconfig) - [WebhookConfig](#webhookconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `authorization` | Authorization header configuration for the client.
This is mutually exclusive with BasicAuth and is only available starting from Alertmanager v0.22+. | _[Authorization](#authorization)_ | false | | `basic_auth` | BasicAuth for the client. | _[BasicAuth](#basicauth)_ | false | | `bearer_token_file` | BearerTokenFile defines filename for bearer token, it must be mounted to pod. | _string_ | false | | `bearer_token_secret` | The secret's key that contains the bearer token
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `oauth2` | OAuth2 client credentials used to fetch a token for the targets. | _[OAuth2](#oauth2)_ | false | | `proxyURL` | Optional proxy URL. | _string_ | false | | `tls_config` | TLS configuration for the client. | _[TLSConfig](#tlsconfig)_ | false | #### HTTPSDConfig HTTPSDConfig defines a HTTP service discovery configuration. See [here](https://docs.victoriametrics.com/sd_configs#http_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `authorization` | Authorization header to use on every scrape request. | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth information to use on every scrape request. | _[BasicAuth](#basicauth)_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | | `url` | URL from which the targets are fetched. | _string_ | true | #### Image _Underlying type:_ _[struct{Repository string "json:\"repository,omitempty\""; Tag string "json:\"tag,omitempty\""; PullPolicy k8s.io/api/core/v1.PullPolicy "json:\"pullPolicy,omitempty\""}](#struct{repository-string-"json:\"repository,omitempty\"";-tag-string-"json:\"tag,omitempty\"";-pullpolicy-k8sioapicorev1pullpolicy-"json:\"pullpolicy,omitempty\""})_ Image defines docker image settings _Appears in:_ - [CommonDefaultableParams](#commondefaultableparams) - [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) - [VMBackup](#vmbackup) - [VMSingleSpec](#vmsinglespec) #### ImageConfig 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. _Appears in:_ - [PagerDutyConfig](#pagerdutyconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `alt` | | _string_ | false | | `href` | | _string_ | false | | `source` | | _string_ | true | #### InhibitRule 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 _Appears in:_ - [VMAlertmanagerConfigSpec](#vmalertmanagerconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `equal` | Labels that must have an equal value in the source and target alert for
the inhibition to take effect. | _string array_ | false | | `source_matchers` | SourceMatchers defines a list of matchers for which one or more alerts have
to exist for the inhibition to take effect. | _string array_ | false | | `target_matchers` | TargetMatchers defines a list of matchers that have to be fulfilled by the target
alerts to be muted. | _string array_ | false | #### InsertPorts _Underlying type:_ _[struct{GraphitePort string "json:\"graphitePort,omitempty\""; InfluxPort string "json:\"influxPort,omitempty\""; OpenTSDBHTTPPort string "json:\"openTSDBHTTPPort,omitempty\""; OpenTSDBPort string "json:\"openTSDBPort,omitempty\""}](#struct{graphiteport-string-"json:\"graphiteport,omitempty\"";-influxport-string-"json:\"influxport,omitempty\"";-opentsdbhttpport-string-"json:\"opentsdbhttpport,omitempty\"";-opentsdbport-string-"json:\"opentsdbport,omitempty\""})_ _Appears in:_ - [VMAgentSpec](#vmagentspec) - [VMSingleSpec](#vmsinglespec) #### K8SSelectorConfig K8SSelectorConfig is Kubernetes Selector Config _Appears in:_ - [KubernetesSDConfig](#kubernetessdconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `field` | | _string_ | true | | `label` | | _string_ | true | | `role` | | _string_ | true | #### KubernetesSDConfig KubernetesSDConfig allows retrieving scrape targets from Kubernetes' REST API. See [here](https://docs.victoriametrics.com/sd_configs#kubernetes_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiServer` | The API server address consisting of a hostname or IP address followed
by an optional port number.
If left empty, assuming process is running inside
of the cluster. It will discover API servers automatically and use the pod's
CA certificate and bearer token file at /var/run/secrets/kubernetes.io/serviceaccount/. | _string_ | false | | `attach_metadata` | AttachMetadata configures metadata attaching from service discovery | _[AttachMetadata](#attachmetadata)_ | false | | `authorization` | Authorization header to use on every scrape request. | _[Authorization](#authorization)_ | false | | `basicAuth` | BasicAuth information to use on every scrape request. | _[BasicAuth](#basicauth)_ | false | | `followRedirects` | Configure whether HTTP requests follow HTTP 3xx redirects. | _boolean_ | false | | `namespaces` | Optional namespace discovery. If omitted, discover targets across all namespaces. | _[NamespaceDiscovery](#namespacediscovery)_ | false | | `oauth2` | OAuth2 defines auth configuration | _[OAuth2](#oauth2)_ | false | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | false | | `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See [feature description](https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy) | _[ProxyAuth](#proxyauth)_ | false | | `role` | Role of the Kubernetes entities that should be discovered. | _string_ | true | | `selectors` | Selector to select objects. | _[K8SSelectorConfig](#k8sselectorconfig) array_ | false | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | #### License _Underlying type:_ _[struct{Key *string "json:\"key,omitempty\""; KeyRef *k8s.io/api/core/v1.SecretKeySelector "json:\"keyRef,omitempty\""}](#struct{key-*string-"json:\"key,omitempty\"";-keyref-*k8sioapicorev1secretkeyselector-"json:\"keyref,omitempty\""})_ License holds license key for enterprise features. Using license key is supported starting from VictoriaMetrics v1.94.0. See [here](https://docs.victoriametrics.com/enterprise) _Appears in:_ - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAuthSpec](#vmauthspec) - [VMClusterSpec](#vmclusterspec) - [VMSingleSpec](#vmsinglespec) #### LinkConfig 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. _Appears in:_ - [PagerDutyConfig](#pagerdutyconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `href` | | _string_ | true | | `text` | | _string_ | true | #### MSTeamsConfig _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `text` | The text body of the teams notification. | _string_ | false | | `title` | The title of the teams notification. | _string_ | false | | `webhook_url` | The incoming webhook URL
one of `urlSecret` and `url` must be defined. | _string_ | false | | `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 | #### NamespaceDiscovery NamespaceDiscovery is the configuration for discovering Kubernetes namespaces. _Appears in:_ - [KubernetesSDConfig](#kubernetessdconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `names` | List of namespaces where to watch for resources.
If empty and `ownNamespace` isn't true, watch for resources in all namespaces. | _string array_ | false | | `ownNamespace` | Includes the namespace in which the pod exists to the list of watched namespaces. | _boolean_ | false | #### NamespaceSelector NamespaceSelector is a selector for selecting either all namespaces or a list of namespaces. _Appears in:_ - [DiscoverySelector](#discoveryselector) - [ProbeTargetIngress](#probetargetingress) - [VMPodScrapeSpec](#vmpodscrapespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `any` | Boolean describing whether all namespaces are selected in contrast to a
list restricting them. | _boolean_ | false | | `matchNames` | List of namespace names. | _string array_ | false | #### OAuth2 OAuth2 defines OAuth2 configuration _Appears in:_ - [ConsulSDConfig](#consulsdconfig) - [DigitalOceanSDConfig](#digitaloceansdconfig) - [Endpoint](#endpoint) - [EndpointAuth](#endpointauth) - [HTTPConfig](#httpconfig) - [KubernetesSDConfig](#kubernetessdconfig) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `client_id` | The secret or configmap containing the OAuth2 client id | _[SecretOrConfigMap](#secretorconfigmap)_ | true | | `client_secret` | The secret containing the OAuth2 client secret | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `client_secret_file` | ClientSecretFile defines path for client secret file. | _string_ | false | | `endpoint_params` | Parameters to append to the token URL | _object (keys:string, values:string)_ | false | | `scopes` | OAuth2 scopes used for the token request | _string array_ | false | | `token_url` | The URL to fetch the token from | _string_ | true | #### OpenStackSDConfig OpenStackSDConfig allow retrieving scrape targets from OpenStack Nova instances. See [here](https://docs.victoriametrics.com/sd_configs#openstack_sd_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `allTenants` | Whether the service discovery should list all instances for all projects.
It is only relevant for the 'instance' role and usually requires admin permissions. | _boolean_ | false | | `applicationCredentialId` | ApplicationCredentialID | _string_ | false | | `applicationCredentialName` | The ApplicationCredentialID or ApplicationCredentialName fields are
required if using an application credential to authenticate. Some providers
allow you to create an application credential to authenticate rather than a
password. | _string_ | false | | `applicationCredentialSecret` | The applicationCredentialSecret field is required if using an application
credential to authenticate. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `availability` | Availability of the endpoint to connect to. | _string_ | false | | `domainID` | DomainID | _string_ | false | | `domainName` | At most one of domainId and domainName must be provided if using username
with Identity V3. Otherwise, either are optional. | _string_ | false | | `identityEndpoint` | IdentityEndpoint specifies the HTTP endpoint that is required to work with
the Identity API of the appropriate version. | _string_ | false | | `password` | Password for the Identity V2 and V3 APIs. Consult with your provider's
control panel to discover your account's preferred method of authentication. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `port` | The port to scrape metrics from. If using the public IP address, this must
instead be specified in the relabeling rule. | _integer_ | false | | `projectID` | ProjectID | _string_ | false | | `projectName` | The ProjectId and ProjectName fields are optional for the Identity V2 API.
Some providers allow you to specify a ProjectName instead of the ProjectId.
Some require both. Your provider's authentication policies will determine
how these fields influence authentication. | _string_ | false | | `region` | The OpenStack Region. | _string_ | true | | `role` | The OpenStack role of entities that should be discovered. | _string_ | true | | `tlsConfig` | TLS configuration to use on every scrape request | _[TLSConfig](#tlsconfig)_ | false | | `userid` | UserID | _string_ | false | | `username` | Username is required if using Identity V2 API. Consult with your provider's
control panel to discover your account's username.
In Identity V3, either userid or a combination of username
and domainId or domainName are needed | _string_ | false | #### OpsGenieConfig OpsGenieConfig configures notifications via OpsGenie. See https://prometheus.io/docs/alerting/latest/configuration/#opsgenie_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `actions` | Comma separated list of actions that will be available for the alert. | _string_ | true | | `apiURL` | The URL to send OpsGenie API requests to. | _string_ | false | | `api_key` | The secret's key that contains the OpsGenie API key.
It must be at them same namespace as CRD
fallback to global setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `description` | Description of the incident. | _string_ | false | | `details` | A set of arbitrary key/value pairs that provide further detail about the incident. | _object (keys:string, values:string)_ | false | | `entity` | Optional field that can be used to specify which domain alert is related to. | _string_ | true | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | Alert text limited to 130 characters. | _string_ | false | | `note` | Additional alert note. | _string_ | false | | `priority` | Priority level of alert. Possible values are P1, P2, P3, P4, and P5. | _string_ | false | | `responders` | List of responders responsible for notifications. | _[OpsGenieConfigResponder](#opsgenieconfigresponder) array_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `source` | Backlink to the sender of the notification. | _string_ | false | | `tags` | Comma separated list of tags attached to the notifications. | _string_ | false | | `update_alerts` | 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. | _boolean_ | true | #### OpsGenieConfigResponder OpsGenieConfigResponder defines a responder to an incident. One of `id`, `name` or `username` has to be defined. _Appears in:_ - [OpsGenieConfig](#opsgenieconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `id` | ID of the responder. | _string_ | false | | `name` | Name of the responder. | _string_ | false | | `type` | Type of responder. | _string_ | true | | `username` | Username of the responder. | _string_ | false | #### PagerDutyConfig PagerDutyConfig configures notifications via PagerDuty. See https://prometheus.io/docs/alerting/latest/configuration/#pagerduty_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `class` | The class/type of the event. | _string_ | false | | `client` | Client identification. | _string_ | false | | `client_url` | Backlink to the sender of notification. | _string_ | false | | `component` | The part or component of the affected system that is broken. | _string_ | false | | `description` | Description of the incident. | _string_ | false | | `details` | Arbitrary key/value pairs that provide further detail about the incident. | _object (keys:string, values:string)_ | false | | `group` | A cluster or grouping of sources. | _string_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `images` | Images to attach to the incident. | _[ImageConfig](#imageconfig) array_ | false | | `links` | Links to attach to the incident. | _[LinkConfig](#linkconfig) array_ | false | | `routing_key` | 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 | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `service_key` | 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 | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `severity` | Severity of the incident. | _string_ | false | | `url` | The URL to send requests to. | _string_ | false | #### PodMetricsEndpoint PodMetricsEndpoint defines a scrapeable endpoint of a Kubernetes Pod serving metrics. _Appears in:_ - [VMPodScrapeSpec](#vmpodscrapespec) | 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 | | `filterRunning` | FilterRunning applies filter with pod status == running
it prevents from scrapping metrics at failed or succeed state pods.
enabled by default | _boolean_ | 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 Pod. | _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 | #### ProbeTargetIngress ProbeTargetIngress defines the set of Ingress objects considered for probing. _Appears in:_ - [VMProbeTargets](#vmprobetargets) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `namespaceSelector` | Select Ingress objects by namespace. | _[NamespaceSelector](#namespaceselector)_ | true | | `relabelingConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | true | | `selector` | Select Ingress objects by labels. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | true | #### ProxyAuth ProxyAuth represent proxy auth config Only VictoriaMetrics scrapers supports it. See https://github.com/VictoriaMetrics/VictoriaMetrics/commit/a6a71ef861444eb11fe8ec6d2387f0fc0c4aea87 _Appears in:_ - [ConsulSDConfig](#consulsdconfig) - [DigitalOceanSDConfig](#digitaloceansdconfig) - [HTTPSDConfig](#httpsdconfig) - [KubernetesSDConfig](#kubernetessdconfig) - [VMScrapeParams](#vmscrapeparams) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `basic_auth` | | _[BasicAuth](#basicauth)_ | true | | `bearer_token` | | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `bearer_token_file` | | _string_ | true | | `tls_config` | | _[TLSConfig](#tlsconfig)_ | true | #### PushoverConfig PushoverConfig configures notifications via Pushover. See https://prometheus.io/docs/alerting/latest/configuration/#pushover_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `expire` | How long your notification will continue to be retried for, unless the user
acknowledges the notification. | _string_ | false | | `html` | Whether notification message is HTML or plain text. | _boolean_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | Notification message. | _string_ | false | | `priority` | Priority, see https://pushover.net/api#priority | _string_ | false | | `retry` | How often the Pushover servers will send the same notification to the user.
Must be at least 30 seconds. | _string_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `sound` | The name of one of the sounds supported by device clients to override the user's default sound choice | _string_ | false | | `title` | Notification title. | _string_ | false | | `token` | 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 | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `url` | A supplementary URL shown alongside the message. | _string_ | false | | `url_title` | A title for supplementary URL, otherwise just the URL is shown | _string_ | false | | `user_key` | The secret's key that contains the recipient user’s user key.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | #### Receiver Receiver defines one or more notification integrations. _Appears in:_ - [VMAlertmanagerConfigSpec](#vmalertmanagerconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `discord_configs` | | _[DiscordConfig](#discordconfig) array_ | false | | `email_configs` | EmailConfigs defines email notification configurations. | _[EmailConfig](#emailconfig) array_ | false | | `msteams_configs` | | _[MSTeamsConfig](#msteamsconfig) array_ | false | | `name` | Name of the receiver. Must be unique across all items from the list. | _string_ | true | | `opsgenie_configs` | OpsGenieConfigs defines ops genie notification configurations. | _[OpsGenieConfig](#opsgenieconfig) array_ | false | | `pagerduty_configs` | PagerDutyConfigs defines pager duty notification configurations. | _[PagerDutyConfig](#pagerdutyconfig) array_ | false | | `pushover_configs` | PushoverConfigs defines push over notification configurations. | _[PushoverConfig](#pushoverconfig) array_ | false | | `slack_configs` | SlackConfigs defines slack notification configurations. | _[SlackConfig](#slackconfig) array_ | false | | `sns_configs` | | _[SnsConfig](#snsconfig) array_ | false | | `telegram_configs` | | _[TelegramConfig](#telegramconfig) array_ | false | | `victorops_configs` | VictorOpsConfigs defines victor ops notification configurations. | _[VictorOpsConfig](#victoropsconfig) array_ | false | | `webex_configs` | | _[WebexConfig](#webexconfig) array_ | false | | `webhook_configs` | WebhookConfigs defines webhook notification configurations. | _[WebhookConfig](#webhookconfig) array_ | false | | `wechat_configs` | WeChatConfigs defines wechat notification configurations. | _[WeChatConfig](#wechatconfig) array_ | false | #### RelabelConfig RelabelConfig allows dynamic rewriting of the label set More info: https://docs.victoriametrics.com/#relabeling _Appears in:_ - [Endpoint](#endpoint) - [EndpointRelabelings](#endpointrelabelings) - [PodMetricsEndpoint](#podmetricsendpoint) - [ProbeTargetIngress](#probetargetingress) - [StreamAggrRule](#streamaggrrule) - [TargetEndpoint](#targetendpoint) - [VMAgentSpec](#vmagentspec) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMProbeTargetStaticConfig](#vmprobetargetstaticconfig) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `action` | Action to perform based on regex matching. Default is 'replace' | _string_ | false | | `if` | If represents metricsQL match expression (or list of expressions): '\{__name__=~"foo_.*"\}' | _[StringOrArray](#stringorarray)_ | false | | `labels` | Labels is used together with Match for `action: graphite` | _object (keys:string, values:string)_ | false | | `match` | Match is used together with Labels for `action: graphite` | _string_ | false | | `modulus` | Modulus to take of the hash of the source label values. | _integer_ | false | | `regex` | Regular expression against which the extracted value is matched. Default is '(.*)'
victoriaMetrics supports multiline regex joined with \|
https://docs.victoriametrics.com/vmagent/#relabeling-enhancements | _[StringOrArray](#stringorarray)_ | false | | `replacement` | Replacement value against which a regex replace is performed if the
regular expression matches. Regex capture groups are available. Default is '$1' | _string_ | false | | `separator` | Separator placed between concatenated source label values. default is ';'. | _string_ | false | | `sourceLabels` | 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. | _string array_ | false | | `source_labels` | 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 | _string array_ | false | | `targetLabel` | Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available. | _string_ | false | | `target_label` | 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 | _string_ | false | #### Route Route defines a node in the routing tree. _Appears in:_ - [SubRoute](#subroute) - [VMAlertmanagerConfigSpec](#vmalertmanagerconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `active_time_intervals` | ActiveTimeIntervals Times when the route should be active
These must match the name at time_intervals | _string array_ | false | | `continue` | 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. | _boolean_ | false | | `group_by` | List of labels to group by. | _string array_ | false | | `group_interval` | How long to wait before sending an updated notification. | _string_ | false | | `group_wait` | How long to wait before sending the initial notification. | _string_ | false | | `matchers` | 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 | _string array_ | false | | `mute_time_intervals` | MuteTimeIntervals is a list of interval names that will mute matched alert | _string array_ | false | | `receiver` | Name of the receiver for this route. | _string_ | true | | `repeat_interval` | How long to wait before repeating the last notification. | _string_ | false | | `routes` | Child routes.
https://prometheus.io/docs/alerting/latest/configuration/#route | _[JSON](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#json-v1-apiextensions-k8s-io) array_ | true | #### Rule Rule describes an alerting or recording rule. _Appears in:_ - [RuleGroup](#rulegroup) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `alert` | Alert is a name for alert | _string_ | false | | `annotations` | Annotations will be added to rule configuration | _object (keys:string, values:string)_ | false | | `debug` | Debug enables logging for rule
it useful for tracking | _boolean_ | false | | `expr` | Expr is query, that will be evaluated at dataSource | _string_ | false | | `for` | For evaluation interval in time.Duration format
30s, 1m, 1h or nanoseconds | _string_ | false | | `keep_firing_for` | 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 | _string_ | false | | `labels` | Labels will be added to rule configuration | _object (keys:string, values:string)_ | false | | `record` | Record represents a query, that will be recorded to dataSource | _string_ | false | | `update_entries_limit` | UpdateEntriesLimit defines max number of rule's state updates stored in memory.
Overrides `-rule.updateEntriesLimit` in vmalert. | _integer_ | false | #### RuleGroup RuleGroup is a list of sequentially evaluated recording and alerting rules. _Appears in:_ - [VMRuleSpec](#vmrulespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `concurrency` | Concurrency defines how many rules execute at once. | _integer_ | false | | `eval_alignment` | Optional
The evaluation timestamp will be aligned with group's interval,
instead of using the actual timestamp that evaluation happens at.
It is enabled by default to get more predictable results
and to visually align with graphs plotted via Grafana or vmui. | _boolean_ | true | | `eval_delay` | Optional
Adjust the `time` parameter of group evaluation requests to compensate intentional query delay from the datasource. | _string_ | true | | `eval_offset` | Optional
Group will be evaluated at the exact offset in the range of [0...interval]. | _string_ | true | | `extra_filter_labels` | ExtraFilterLabels optional list of label filters applied to every rule's
request within a group. Is compatible only with VM datasource.
See more details [here](https://docs.victoriametrics.com/#prometheus-querying-api-enhancements)
Deprecated, use params instead | _object (keys:string, values:string)_ | false | | `headers` | Headers contains optional HTTP headers added to each rule request
Must be in form `header-name: value`
For example:
headers:
- "CustomHeader: foo"
- "CustomHeader2: bar" | _string array_ | false | | `interval` | evaluation interval for group | _string_ | false | | `labels` | 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. | _object (keys:string, values:string)_ | false | | `limit` | Limit the number of alerts an alerting rule and series a recording
rule can produce | _integer_ | false | | `name` | Name of group | _string_ | true | | `notifier_headers` | 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" | _string array_ | false | | `params` | Params optional HTTP URL parameters added to each rule request | _[Values](#values)_ | false | | `rules` | Rules list of alert rules | _[Rule](#rule) array_ | true | | `tenant` | Tenant id for group, can be used only with enterprise version of vmalert.
See more details [here](https://docs.victoriametrics.com/vmalert#multitenancy). | _string_ | false | | `type` | Type defines datasource type for enterprise version of vmalert
possible values - prometheus,graphite | _string_ | false | #### SecretOrConfigMap SecretOrConfigMap allows to specify data as a Secret or ConfigMap. Fields are mutually exclusive. _Appears in:_ - [OAuth2](#oauth2) - [TLSConfig](#tlsconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `configMap` | ConfigMap containing data to use for the targets. | _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#configmapkeyselector-v1-core)_ | false | | `secret` | Secret containing data to use for the targets. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | #### Sigv4Config _Appears in:_ - [SnsConfig](#snsconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `access_key` | 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. | _string_ | false | | `access_key_selector` | secret key selector to get the keys from a Kubernetes Secret | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `profile` | Named AWS profile used to authenticate | _string_ | false | | `region` | AWS region, if blank the region from the default credentials chain is used | _string_ | false | | `role_arn` | AWS Role ARN, an alternative to using AWS API keys | _string_ | false | | `secret_key_selector` | secret key selector to get the keys from a Kubernetes Secret | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | #### SlackAction 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. _Appears in:_ - [SlackConfig](#slackconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `confirm` | | _[SlackConfirmationField](#slackconfirmationfield)_ | false | | `name` | | _string_ | false | | `style` | | _string_ | false | | `text` | | _string_ | true | | `type` | | _string_ | true | | `url` | | _string_ | false | | `value` | | _string_ | false | #### SlackConfig SlackConfig configures notifications via Slack. See https://prometheus.io/docs/alerting/latest/configuration/#slack_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `actions` | A list of Slack actions that are sent with each notification. | _[SlackAction](#slackaction) array_ | false | | `api_url` | The secret's key that contains the Slack webhook URL.
It must be at them same namespace as CRD
fallback to global setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `callback_id` | | _string_ | false | | `channel` | The channel or user to send notifications to. | _string_ | false | | `color` | | _string_ | false | | `fallback` | | _string_ | false | | `fields` | A list of Slack fields that are sent with each notification. | _[SlackField](#slackfield) array_ | false | | `footer` | | _string_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `icon_emoji` | | _string_ | false | | `icon_url` | | _string_ | false | | `image_url` | | _string_ | false | | `link_names` | | _boolean_ | false | | `mrkdwn_in` | | _string array_ | false | | `pretext` | | _string_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `short_fields` | | _boolean_ | false | | `text` | | _string_ | false | | `thumb_url` | | _string_ | false | | `title` | | _string_ | false | | `title_link` | | _string_ | false | | `username` | | _string_ | false | #### SlackConfirmationField 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. _Appears in:_ - [SlackAction](#slackaction) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `dismiss_text` | | _string_ | false | | `ok_text` | | _string_ | false | | `text` | | _string_ | true | | `title` | | _string_ | false | #### SlackField SlackField configures a single Slack field that is sent with each notification. See https://api.slack.com/docs/message-attachments#fields for more information. _Appears in:_ - [SlackConfig](#slackconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `short` | | _boolean_ | false | | `title` | | _string_ | true | | `value` | | _string_ | true | #### SnsConfig _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `api_url` | The api URL | _string_ | false | | `attributes` | SNS message attributes | _object (keys:string, values:string)_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | The message content of the SNS notification. | _string_ | false | | `phone_number` | Phone number if message is delivered via SMS
Specify this, topic_arn or target_arn | _string_ | true | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `sigv4` | Configure the AWS Signature Verification 4 signing process | _[Sigv4Config](#sigv4config)_ | true | | `subject` | The subject line if message is delivered to an email endpoint. | _string_ | false | | `target_arn` | Mobile platform endpoint ARN if message is delivered via mobile notifications
Specify this, topic_arn or phone_number | _string_ | false | | `topic_arn` | SNS topic ARN, either specify this, phone_number or target_arn | _string_ | false | #### StaticConfig StaticConfig defines a static configuration. See [here](https://docs.victoriametrics.com/sd_configs#static_configs) _Appears in:_ - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `labels` | Labels assigned to all metrics scraped from the targets. | _object (keys:string, values:string)_ | false | | `targets` | List of targets for this static configuration. | _string array_ | false | #### StaticRef StaticRef - user-defined routing host address. _Appears in:_ - [TargetRef](#targetref) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `url` | URL http url for given staticRef. | _string_ | true | | `urls` | URLs allows setting multiple urls for load-balancing at vmauth-side. | _string array_ | false | #### StorageSpec _Underlying type:_ _[struct{DisableMountSubPath bool "json:\"disableMountSubPath,omitempty\""; EmptyDir *k8s.io/api/core/v1.EmptyDirVolumeSource "json:\"emptyDir,omitempty\""; VolumeClaimTemplate EmbeddedPersistentVolumeClaim "json:\"volumeClaimTemplate,omitempty\""}](#struct{disablemountsubpath-bool-"json:\"disablemountsubpath,omitempty\"";-emptydir-*k8sioapicorev1emptydirvolumesource-"json:\"emptydir,omitempty\"";-volumeclaimtemplate-embeddedpersistentvolumeclaim-"json:\"volumeclaimtemplate,omitempty\""})_ StorageSpec defines the configured storage for a group Prometheus servers. If neither `emptyDir` nor `volumeClaimTemplate` is specified, then by default an [EmptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir) will be used. _Appears in:_ - [VMAgentSpec](#vmagentspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) #### StreamAggrConfig _Underlying type:_ _[struct{Rules []StreamAggrRule "json:\"rules\""; RuleConfigMap *k8s.io/api/core/v1.ConfigMapKeySelector "json:\"configmap,omitempty\""; KeepInput bool "json:\"keepInput,omitempty\""; DropInput bool "json:\"dropInput,omitempty\""; DedupInterval string "json:\"dedupInterval,omitempty\""; DropInputLabels []string "json:\"dropInputLabels,omitempty\""; IgnoreFirstIntervals int "json:\"ignoreFirstIntervals,omitempty\""; IgnoreOldSamples bool "json:\"ignoreOldSamples,omitempty\""}](#struct{rules-[]streamaggrrule-"json:\"rules\"";-ruleconfigmap-*k8sioapicorev1configmapkeyselector-"json:\"configmap,omitempty\"";-keepinput-bool-"json:\"keepinput,omitempty\"";-dropinput-bool-"json:\"dropinput,omitempty\"";-dedupinterval-string-"json:\"dedupinterval,omitempty\"";-dropinputlabels-[]string-"json:\"dropinputlabels,omitempty\"";-ignorefirstintervals-int-"json:\"ignorefirstintervals,omitempty\"";-ignoreoldsamples-bool-"json:\"ignoreoldsamples,omitempty\""})_ StreamAggrConfig defines the stream aggregation config _Appears in:_ - [VMAgentSpec](#vmagentspec) - [VMSingleSpec](#vmsinglespec) #### StringOrArray _Underlying type:_ _string array_ StringOrArray is a helper type for storing string or array of string. _Appears in:_ - [RelabelConfig](#relabelconfig) - [StreamAggrRule](#streamaggrrule) #### TLSClientConfig TLSClientConfig defines TLS configuration for the application's client _Appears in:_ - [AlertmanagerGossipConfig](#alertmanagergossipconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `ca_file` | CAFile defines path to the pre-mounted file with CA
mutually exclusive with CASecretRef | _string_ | true | | `ca_secret_ref` | CA defines reference for secret with CA content under given key
mutually exclusive with CAFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `cert_file` | CertFile defines path to the pre-mounted file with certificate
mutually exclusive with CertSecretRef | _string_ | true | | `cert_secret_ref` | | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `insecure_skip_verify` | Cert defines reference for secret with CA content under given key
mutually exclusive with CertFile | _boolean_ | true | | `key_file` | KeyFile defines path to the pre-mounted file with certificate key
mutually exclusive with KeySecretRef | _string_ | true | | `key_secret_ref` | Key defines reference for secret with certificate key content under given key
mutually exclusive with KeyFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `server_name` | ServerName indicates a name of a server | _string_ | true | #### TLSConfig TLSConfig specifies TLSConfig configuration parameters. _Appears in:_ - [ConsulSDConfig](#consulsdconfig) - [DigitalOceanSDConfig](#digitaloceansdconfig) - [EmailConfig](#emailconfig) - [Endpoint](#endpoint) - [EndpointAuth](#endpointauth) - [HTTPConfig](#httpconfig) - [HTTPSDConfig](#httpsdconfig) - [KubernetesSDConfig](#kubernetessdconfig) - [OpenStackSDConfig](#openstacksdconfig) - [PodMetricsEndpoint](#podmetricsendpoint) - [ProxyAuth](#proxyauth) - [TargetEndpoint](#targetendpoint) - [UserConfigOption](#userconfigoption) - [VMAuthSpec](#vmauthspec) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) - [VMUserSpec](#vmuserspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `ca` | Stuct containing the CA cert to use for the targets. | _[SecretOrConfigMap](#secretorconfigmap)_ | false | | `caFile` | Path to the CA cert in the container to use for the targets. | _string_ | false | | `cert` | Struct containing the client cert file for the targets. | _[SecretOrConfigMap](#secretorconfigmap)_ | false | | `certFile` | Path to the client cert file in the container for the targets. | _string_ | false | | `insecureSkipVerify` | Disable target certificate validation. | _boolean_ | false | | `keyFile` | Path to the client key file in the container for the targets. | _string_ | false | | `keySecret` | Secret containing the client key file for the targets. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `serverName` | Used to verify the hostname for the targets. | _string_ | false | #### TLSServerConfig TLSServerConfig defines TLS configuration for the application's server _Appears in:_ - [AlertmanagerGossipConfig](#alertmanagergossipconfig) - [AlertmanagerWebConfig](#alertmanagerwebconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `cert_file` | CertFile defines path to the pre-mounted file with certificate
mutually exclusive with CertSecretRef | _string_ | true | | `cert_secret_ref` | | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `cipher_suites` | CipherSuites defines list of supported cipher suites for TLS versions up to TLS 1.2
https://golang.org/pkg/crypto/tls/#pkg-constants | _string array_ | true | | `client_auth_type` | Cert defines reference for secret with CA content under given key
mutually exclusive with CertFile
ClientAuthType defines server policy for client authentication
If you want to enable client authentication (aka mTLS), you need to use RequireAndVerifyClientCert
Note, mTLS is supported only at enterprise version of VictoriaMetrics components | _string_ | true | | `client_ca_file` | ClientCAFile defines path to the pre-mounted file with CA
mutually exclusive with ClientCASecretRef | _string_ | true | | `client_ca_secret_ref` | ClientCASecretRef defines reference for secret with CA content under given key
mutually exclusive with ClientCAFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `curve_preferences` | CurvePreferences defines elliptic curves that will be used in an ECDHE handshake, in preference order.
https://golang.org/pkg/crypto/tls/#CurveID | _string array_ | true | | `key_file` | KeyFile defines path to the pre-mounted file with certificate key
mutually exclusive with KeySecretRef | _string_ | true | | `key_secret_ref` | Key defines reference for secret with certificate key content under given key
mutually exclusive with KeyFile | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `max_version` | MaxVersion maximum TLS version that is acceptable. | _string_ | true | | `min_version` | MinVersion minimum TLS version that is acceptable. | _string_ | true | | `prefer_server_cipher_suites` | PreferServerCipherSuites controls whether the server selects the
client's most preferred ciphersuite | _boolean_ | true | #### TargetEndpoint TargetEndpoint defines single static target endpoint. _Appears in:_ - [VMStaticScrapeSpec](#vmstaticscrapespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `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 | | `labels` | Labels static labels for targets. | _object (keys:string, values: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 | | `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 | | `targets` | Targets static targets addresses in form of ["192.122.55.55:9100","some-name:9100"]. | _string array_ | true | | `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | #### TargetRef 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. _Appears in:_ - [VMUserSpec](#vmuserspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `URLMapCommon` | | _[URLMapCommon](#urlmapcommon)_ | true | | `crd` | CRD describes exist operator's CRD object,
operator generates access url based on CRD params. | _[CRDRef](#crdref)_ | false | | `hosts` | | _string array_ | true | | `paths` | Paths - matched path to route. | _string array_ | false | | `static` | Static - user defined url for traffic forward,
for instance http://vmsingle:8429 | _[StaticRef](#staticref)_ | false | | `targetRefBasicAuth` | TargetRefBasicAuth allow an target endpoint to authenticate over basic authentication | _[TargetRefBasicAuth](#targetrefbasicauth)_ | false | | `target_path_suffix` | 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. | _string_ | false | #### TargetRefBasicAuth TargetRefBasicAuth target basic authentication _Appears in:_ - [TargetRef](#targetref) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `password` | The secret in the service scrape namespace that contains the password
for authentication.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `username` | The secret in the service scrape namespace that contains the username
for authentication.
It must be at them same namespace as CRD | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | #### TelegramConfig TelegramConfig configures notification via telegram https://prometheus.io/docs/alerting/latest/configuration/#telegram_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `api_url` | APIUrl the Telegram API URL i.e. https://api.telegram.org. | _string_ | false | | `bot_token` | BotToken token for the bot
https://core.telegram.org/bots/api | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | true | | `chat_id` | ChatID is ID of the chat where to send the messages. | _integer_ | true | | `disable_notifications` | DisableNotifications | _boolean_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | Message is templated message | _string_ | false | | `parse_mode` | ParseMode for telegram message,
supported values are MarkdownV2, Markdown, Markdown and empty string for plain text. | _string_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | #### TimeInterval TimeInterval defines intervals of time _Appears in:_ - [TimeIntervals](#timeintervals) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `days_of_month` | DayOfMonth defines list of numerical days in the month. Days begin at 1. Negative values are also accepted.
for example, ['1:5', '-3:-1'] | _string array_ | false | | `location` | Location in golang time location form, e.g. UTC | _string_ | false | | `months` | Months defines list of calendar months identified by a case-insensitive name (e.g. ‘January’) or numeric 1.
For example, ['1:3', 'may:august', 'december'] | _string array_ | false | | `times` | Times defines time range for mute | _[TimeRange](#timerange) array_ | false | | `weekdays` | Weekdays defines list of days of the week, where the week begins on Sunday and ends on Saturday. | _string array_ | false | | `years` | Years defines numerical list of years, ranges are accepted.
For example, ['2020:2022', '2030'] | _string array_ | false | #### TimeIntervals TimeIntervals for alerts _Appears in:_ - [VMAlertmanagerConfigSpec](#vmalertmanagerconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `name` | Name of interval | _string_ | true | | `time_intervals` | TimeIntervals interval configuration | _[TimeInterval](#timeinterval) array_ | true | #### TimeRange TimeRange ranges inclusive of the starting time and exclusive of the end time _Appears in:_ - [TimeInterval](#timeinterval) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `end_time` | EndTime for example HH:MM | _string_ | true | | `start_time` | StartTime for example HH:MM | _string_ | true | #### URLMapCommon URLMapCommon contains common fields for unauthorized user and user in vmuser _Appears in:_ - [TargetRef](#targetref) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | | `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `headers` | RequestHeaders 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 | _string array_ | false | | `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `response_headers` | 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 | _string array_ | false | | `retry_status_codes` | 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] | _integer array_ | false | | `src_headers` | SrcHeaders is an optional list of headers, which must match request headers. | _string array_ | true | | `src_query_args` | SrcQueryArgs is an optional list of query args, which must match request URL query args. | _string array_ | true | #### UnauthorizedAccessConfigURLMap _Underlying type:_ _[struct{SrcPaths []string "json:\"src_paths,omitempty\""; SrcHosts []string "json:\"src_hosts,omitempty\""; URLPrefix []string "json:\"url_prefix,omitempty\""; URLMapCommon "json:\",omitempty\""}](#struct{srcpaths-[]string-"json:\"src_paths,omitempty\"";-srchosts-[]string-"json:\"src_hosts,omitempty\"";-urlprefix-[]string-"json:\"url_prefix,omitempty\"";-urlmapcommon-"json:\",omitempty\""})_ _Appears in:_ - [VMAuthSpec](#vmauthspec) #### UpdateStatus _Underlying type:_ _string_ UpdateStatus defines status for application _Appears in:_ - [VMAgentStatus](#vmagentstatus) - [VMAlertStatus](#vmalertstatus) - [VMAlertmanagerStatus](#vmalertmanagerstatus) - [VMAuthStatus](#vmauthstatus) - [VMClusterStatus](#vmclusterstatus) - [VMSingleStatus](#vmsinglestatus) #### UserConfigOption _Appears in:_ - [VMAuthSpec](#vmauthspec) - [VMUserSpec](#vmuserspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `default_url` | DefaultURLs backend url for non-matching paths filter
usually used for default backend with error message | _string array_ | true | | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | | `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `headers` | 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 | _string array_ | false | | `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth/#ip-filters) | _[VMUserIPFilters](#vmuseripfilters)_ | false | | `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `max_concurrent_requests` | MaxConcurrentRequests defines max concurrent requests per user
300 is default value for vmauth | _integer_ | false | | `response_headers` | 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 | _string array_ | false | | `retry_status_codes` | RetryStatusCodes defines http status codes in numeric format for request retries
e.g. [429,503] | _integer array_ | false | | `tlsConfig` | | _[TLSConfig](#tlsconfig)_ | false | #### VLogs VLogs is the Schema for the vlogs API | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VLogs` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VLogsSpec](#vlogsspec)_ | true | #### VLogsSpec VLogsSpec defines the desired state of VLogs _Appears in:_ - [VLogs](#vlogs) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/configs/CONFIGMAP_NAME folder | _string array_ | false | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `disableSelfServiceScrape` | DisableSelfServiceScrape controls creation of VMServiceScrape by operator
for the application.
Has priority over `VM_DISABLESELFSERVICESCRAPECREATION` operator env variable | _boolean_ | true | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | | `extraArgs` | ExtraArgs that will be passed to the application container
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be passed to the application container | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `futureRetention` | FutureRetention for the stored logs
Log entries with timestamps bigger than now+futureRetention are rejected during data ingestion; see https://docs.victoriametrics.com/victorialogs/#retention | _string_ | true | | `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliasesUnderScore provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork.
Has Priority over hostAliases field | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `image` | Image - docker image settings
if no specified operator uses default version from operator config | _[Image](#image)_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition.
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/ | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `logFormat` | LogFormat for VLogs to be configured with. | _string_ | false | | `logIngestedRows` | Whether to log all the ingested log entries; this can be useful for debugging of data ingestion; see https://docs.victoriametrics.com/victorialogs/data-ingestion/ | _boolean_ | true | | `logLevel` | LogLevel for VictoriaLogs to be configured with. | _string_ | false | | `logNewStreams` | LogNewStreams Whether to log creation of new streams; this can be useful for debugging of high cardinality issues with log streams; see https://docs.victoriametrics.com/victorialogs/keyconcepts/#stream-fields | _boolean_ | true | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state
Has no effect for VLogs and VMSingle | _integer_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `podMetadata` | PodMetadata configures Labels and Annotations which are propagated to the VLogs pods. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | | `port` | Port listen address | _string_ | false | | `priorityClassName` | PriorityClassName class assigned to the Pods | _string_ | false | | `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | | `removePvcAfterDelete` | RemovePvcAfterDelete - if true, controller adds ownership to pvc
and after VLogs object deletion - pvc will be garbage collected
by controller manager | _boolean_ | false | | `replicaCount` | ReplicaCount is the expected size of the Application. | _integer_ | false | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `retentionPeriod` | RetentionPeriod for the stored logs | _string_ | true | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the Deployment revision history.
Has no effect at StatefulSets
Defaults to 10. | _integer_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | | `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 | | `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vlogs VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | | `serviceSpec` | ServiceSpec that will be added to vlogs service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | | `storage` | Storage is the definition of how storage will be used by the VLogs
by default it`s empty dir | _[PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaimspec-v1-core)_ | false | | `storageDataPath` | StorageDataPath disables spec.storage option and overrides arg for victoria-logs binary --storageDataPath,
its users responsibility to mount proper device into given path. | _string_ | false | | `storageMetadata` | StorageMeta defines annotations and labels attached to PVC for given vlogs CR | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | | `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](#int64)_ | 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 | | `useDefaultResources` | UseDefaultResources controls resource settings
By default, operator sets built-in resource requirements | _boolean_ | false | | `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 | | `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 | | `volumes` | Volumes allows configuration of additional volumes on the output Deployment/StatefulSet definition.
Volumes specified will be appended to other volumes that are generated.
/ +optional | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | true | #### VMAgent 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. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMAgent` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMAgentSpec](#vmagentspec)_ | true | #### VMAgentRemoteWriteSettings _Underlying type:_ _[struct{MaxBlockSize *int32 "json:\"maxBlockSize,omitempty\""; MaxDiskUsagePerURL *int64 "json:\"maxDiskUsagePerURL,omitempty\""; Queues *int32 "json:\"queues,omitempty\""; ShowURL *bool "json:\"showURL,omitempty\""; TmpDataPath *string "json:\"tmpDataPath,omitempty\""; FlushInterval *string "json:\"flushInterval,omitempty\""; Labels map[string]string "json:\"label,omitempty\""; UseMultiTenantMode bool "json:\"useMultiTenantMode,omitempty\""}](#struct{maxblocksize-*int32-"json:\"maxblocksize,omitempty\"";-maxdiskusageperurl-*int64-"json:\"maxdiskusageperurl,omitempty\"";-queues-*int32-"json:\"queues,omitempty\"";-showurl-*bool-"json:\"showurl,omitempty\"";-tmpdatapath-*string-"json:\"tmpdatapath,omitempty\"";-flushinterval-*string-"json:\"flushinterval,omitempty\"";-labels-map[string]string-"json:\"label,omitempty\"";-usemultitenantmode-bool-"json:\"usemultitenantmode,omitempty\""})_ VMAgentRemoteWriteSettings - defines global settings for all remoteWrite urls. _Appears in:_ - [VMAgentSpec](#vmagentspec) #### VMAgentRemoteWriteSpec _Underlying type:_ _[struct{URL string "json:\"url\""; BasicAuth *BasicAuth "json:\"basicAuth,omitempty\""; BearerTokenSecret *k8s.io/api/core/v1.SecretKeySelector "json:\"bearerTokenSecret,omitempty\""; UrlRelabelConfig *k8s.io/api/core/v1.ConfigMapKeySelector "json:\"urlRelabelConfig,omitempty\""; InlineUrlRelabelConfig []RelabelConfig "json:\"inlineUrlRelabelConfig,omitempty\""; OAuth2 *OAuth2 "json:\"oauth2,omitempty\""; TLSConfig *TLSConfig "json:\"tlsConfig,omitempty\""; SendTimeout *string "json:\"sendTimeout,omitempty\""; Headers []string "json:\"headers,omitempty\""; StreamAggrConfig *StreamAggrConfig "json:\"streamAggrConfig,omitempty\""}](#struct{url-string-"json:\"url\"";-basicauth-*basicauth-"json:\"basicauth,omitempty\"";-bearertokensecret-*k8sioapicorev1secretkeyselector-"json:\"bearertokensecret,omitempty\"";-urlrelabelconfig-*k8sioapicorev1configmapkeyselector-"json:\"urlrelabelconfig,omitempty\"";-inlineurlrelabelconfig-[]relabelconfig-"json:\"inlineurlrelabelconfig,omitempty\"";-oauth2-*oauth2-"json:\"oauth2,omitempty\"";-tlsconfig-*tlsconfig-"json:\"tlsconfig,omitempty\"";-sendtimeout-*string-"json:\"sendtimeout,omitempty\"";-headers-[]string-"json:\"headers,omitempty\"";-streamaggrconfig-*streamaggrconfig-"json:\"streamaggrconfig,omitempty\""})_ VMAgentRemoteWriteSpec defines the remote storage configuration for VmAgent _Appears in:_ - [VMAgentSpec](#vmagentspec) #### VMAgentSecurityEnforcements VMAgentSecurityEnforcements defines security configuration for endpoint scrapping _Appears in:_ - [VMAgentSpec](#vmagentspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `arbitraryFSAccessThroughSMs` | ArbitraryFSAccessThroughSMs configures whether configuration
based on EndpointAuth can access arbitrary files on the file system
of the VMAgent container e.g. bearer token files, basic auth, tls certs | _[ArbitraryFSAccessThroughSMsConfig](#arbitraryfsaccessthroughsmsconfig)_ | false | | `enforcedNamespaceLabel` | 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. | _string_ | false | | `ignoreNamespaceSelectors` | IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from
scrape objects, and they will only discover endpoints
within their current namespace. Defaults to false. | _boolean_ | false | | `overrideHonorLabels` | OverrideHonorLabels if set to true overrides all user configured honor_labels.
If HonorLabels is set in scrape objects to true, this overrides honor_labels to false. | _boolean_ | false | | `overrideHonorTimestamps` | OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs. | _boolean_ | false | #### VMAgentSpec VMAgentSpec defines the desired state of VMAgent _Appears in:_ - [VMAgent](#vmagent) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `aPIServerConfig` | 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/. | _[APIServerConfig](#apiserverconfig)_ | false | | `additionalScrapeConfigs` | 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. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `arbitraryFSAccessThroughSMs` | ArbitraryFSAccessThroughSMs configures whether configuration
based on EndpointAuth can access arbitrary files on the file system
of the VMAgent container e.g. bearer token files, basic auth, tls certs | _[ArbitraryFSAccessThroughSMsConfig](#arbitraryfsaccessthroughsmsconfig)_ | false | | `claimTemplates` | ClaimTemplates allows adding additional VolumeClaimTemplates for VMAgent in StatefulMode | _[PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaim-v1-core) array_ | true | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/configs/CONFIGMAP_NAME folder | _string array_ | false | | `configReloaderExtraArgs` | ConfigReloaderExtraArgs that will be passed to VMAuths config-reloader container
for example resyncInterval: "30s" | _object (keys:string, values:string)_ | false | | `configReloaderImageTag` | ConfigReloaderImageTag defines image:tag for config-reloader container | _string_ | true | | `configReloaderResources` | ConfigReloaderResources config-reloader 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | true | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `disableSelfServiceScrape` | DisableSelfServiceScrape controls creation of VMServiceScrape by operator
for the application.
Has priority over `VM_DISABLESELFSERVICESCRAPECREATION` operator env variable | _boolean_ | true | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | | `enforcedNamespaceLabel` | 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. | _string_ | false | | `externalLabels` | ExternalLabels The labels to add to any time series scraped by vmagent.
it doesn't affect metrics ingested directly by push API's | _object (keys:string, values:string)_ | false | | `extraArgs` | ExtraArgs that will be passed to the application container
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be passed to the application container | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliasesUnderScore provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork.
Has Priority over hostAliases field | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `ignoreNamespaceSelectors` | IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from
scrape objects, and they will only discover endpoints
within their current namespace. Defaults to false. | _boolean_ | false | | `image` | Image - docker image settings
if no specified operator uses default version from operator config | _[Image](#image)_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `ingestOnlyMode` | IngestOnlyMode switches vmagent into unmanaged mode
it disables any config generation for scraping
Currently it prevents vmagent from managing tls and auth options for remote write | _boolean_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition.
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/ | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `inlineRelabelConfig` | InlineRelabelConfig - defines GlobalRelabelConfig for vmagent, can be defined directly at CRD. | _[RelabelConfig](#relabelconfig) array_ | false | | `inlineScrapeConfig` | 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"] | _string_ | false | | `insertPorts` | InsertPorts - additional listen ports for data ingestion. | _[InsertPorts](#insertports)_ | true | | `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `logFormat` | LogFormat for VMAgent to be configured with. | _string_ | false | | `logLevel` | LogLevel for VMAgent to be configured with.
INFO, WARN, ERROR, FATAL, PANIC | _string_ | false | | `maxScrapeInterval` | MaxScrapeInterval allows limiting maximum scrape interval for VMServiceScrape, VMPodScrape and other scrapes
If interval is higher than defined limit, `maxScrapeInterval` will be used. | _string_ | true | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state
Has no effect for VLogs and VMSingle | _integer_ | false | | `minScrapeInterval` | MinScrapeInterval allows limiting minimal scrape interval for VMServiceScrape, VMPodScrape and other scrapes
If interval is lower than defined limit, `minScrapeInterval` will be used. | _string_ | true | | `nodeScrapeNamespaceSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `nodeScrapeRelabelTemplate` | NodeScrapeRelabelTemplate defines relabel config, that will be added to each VMNodeScrape.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `nodeScrapeSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | | `overrideHonorLabels` | OverrideHonorLabels if set to true overrides all user configured honor_labels.
If HonorLabels is set in scrape objects to true, this overrides honor_labels to false. | _boolean_ | false | | `overrideHonorTimestamps` | OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs. | _boolean_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `podDisruptionBudget` | PodDisruptionBudget created by operator | _[EmbeddedPodDisruptionBudgetSpec](#embeddedpoddisruptionbudgetspec)_ | false | | `podMetadata` | PodMetadata configures Labels and Annotations which are propagated to the vmagent pods. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | | `podScrapeNamespaceSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `podScrapeRelabelTemplate` | PodScrapeRelabelTemplate defines relabel config, that will be added to each VMPodScrape.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `podScrapeSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `port` | Port listen address | _string_ | false | | `priorityClassName` | PriorityClassName class assigned to the Pods | _string_ | false | | `probeNamespaceSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `probeScrapeRelabelTemplate` | ProbeScrapeRelabelTemplate defines relabel config, that will be added to each VMProbeScrape.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `probeSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | | `relabelConfig` | RelabelConfig ConfigMap with global relabel config -remoteWrite.relabelConfig
This relabeling is applied to all the collected metrics before sending them to remote storage. | _[ConfigMapKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#configmapkeyselector-v1-core)_ | false | | `remoteWrite` | 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 | _[VMAgentRemoteWriteSpec](#vmagentremotewritespec) array_ | true | | `remoteWriteSettings` | RemoteWriteSettings defines global settings for all remoteWrite urls. | _[VMAgentRemoteWriteSettings](#vmagentremotewritesettings)_ | false | | `replicaCount` | ReplicaCount is the expected size of the Application. | _integer_ | false | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the Deployment revision history.
Has no effect at StatefulSets
Defaults to 10. | _integer_ | false | | `rollingUpdate` | RollingUpdate - overrides deployment update params. | _[RollingUpdateDeployment](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#rollingupdatedeployment-v1-apps)_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | | `scrapeConfigNamespaceSelector` | ScrapeConfigNamespaceSelector defines Namespaces to be selected for VMScrapeConfig 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `scrapeConfigRelabelTemplate` | ScrapeConfigRelabelTemplate defines relabel config, that will be added to each VMScrapeConfig.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `scrapeConfigSelector` | ScrapeConfigSelector defines VMScrapeConfig to be selected for target discovery.
Works in combination with NamespaceSelector. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `scrapeInterval` | ScrapeInterval defines how often scrape targets by default | _string_ | false | | `scrapeTimeout` | ScrapeTimeout defines global timeout for targets scrape | _string_ | false | | `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 | | `selectAllByDefault` | 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 | _boolean_ | false | | `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the pods | _string_ | false | | `serviceScrapeNamespaceSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `serviceScrapeRelabelTemplate` | ServiceScrapeRelabelTemplate defines relabel config, that will be added to each VMServiceScrape.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `serviceScrapeSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vmagent VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | | `serviceSpec` | ServiceSpec that will be added to vmagent service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | | `shardCount` | 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 [here](https://docs.victoriametrics.com/vmagent/#scraping-big-number-of-targets) | _integer_ | false | | `statefulMode` | StatefulMode enables StatefulSet for `VMAgent` instead of Deployment
it allows using persistent storage for vmagent's persistentQueue | _boolean_ | false | | `statefulRollingUpdateStrategy` | StatefulRollingUpdateStrategy allows configuration for strategyType
set it to RollingUpdate for disabling operator statefulSet rollingUpdate | _[StatefulSetUpdateStrategyType](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetupdatestrategytype-v1-apps)_ | false | | `statefulStorage` | StatefulStorage configures storage for StatefulSet | _[StorageSpec](#storagespec)_ | false | | `staticScrapeNamespaceSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `staticScrapeRelabelTemplate` | StaticScrapeRelabelTemplate defines relabel config, that will be added to each VMStaticScrape.
it's useful for adding specific labels to all targets | _[RelabelConfig](#relabelconfig) array_ | false | | `staticScrapeSelector` | 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. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `streamAggrConfig` | StreamAggrConfig defines global stream aggregation configuration for VMAgent | _[StreamAggrConfig](#streamaggrconfig)_ | false | | `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](#int64)_ | 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 | | `updateStrategy` | UpdateStrategy - overrides default update strategy.
works only for deployments, statefulset always use OnDelete. | _[DeploymentStrategyType](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstrategytype-v1-apps)_ | false | | `useDefaultResources` | UseDefaultResources controls resource settings
By default, operator sets built-in resource requirements | _boolean_ | false | | `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 | | `useVMConfigReloader` | UseVMConfigReloader replaces prometheus-like config-reloader
with vm one. It uses secrets watch instead of file watch
which greatly increases speed of config updates | _boolean_ | true | | `vmAgentExternalLabelName` | 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 (`""`). | _string_ | 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 | | `volumes` | Volumes allows configuration of additional volumes on the output Deployment/StatefulSet definition.
Volumes specified will be appended to other volumes that are generated.
/ +optional | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | true | #### VMAlert VMAlert executes a list of given alerting or recording rules against configured address. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMAlert` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMAlertSpec](#vmalertspec)_ | true | #### VMAlertDatasourceSpec VMAlertDatasourceSpec defines the remote storage configuration for VmAlert to read alerts from _Appears in:_ - [VMAlertSpec](#vmalertspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `url` | Victoria Metrics or VMSelect url. Required parameter. E.g. http://127.0.0.1:8428 | _string_ | true | #### VMAlertNotifierSpec _Underlying type:_ _[struct{URL string "json:\"url,omitempty\""; Selector *DiscoverySelector "json:\"selector,omitempty\""; HTTPAuth "json:\",inline,omitempty\""}](#struct{url-string-"json:\"url,omitempty\"";-selector-*discoveryselector-"json:\"selector,omitempty\"";-httpauth-"json:\",inline,omitempty\""})_ VMAlertNotifierSpec defines the notifier url for sending information about alerts _Appears in:_ - [VMAlertSpec](#vmalertspec) #### VMAlertRemoteReadSpec _Underlying type:_ _[struct{URL string "json:\"url\""; Lookback *string "json:\"lookback,omitempty\""; HTTPAuth "json:\",inline,omitempty\""}](#struct{url-string-"json:\"url\"";-lookback-*string-"json:\"lookback,omitempty\"";-httpauth-"json:\",inline,omitempty\""})_ VMAlertRemoteReadSpec defines the remote storage configuration for VmAlert to read alerts from _Appears in:_ - [VMAlertSpec](#vmalertspec) #### VMAlertRemoteWriteSpec _Underlying type:_ _[struct{URL string "json:\"url\""; Concurrency *int32 "json:\"concurrency,omitempty\""; FlushInterval *string "json:\"flushInterval,omitempty\""; MaxBatchSize *int32 "json:\"maxBatchSize,omitempty\""; MaxQueueSize *int32 "json:\"maxQueueSize,omitempty\""; HTTPAuth "json:\",inline,omitempty\""}](#struct{url-string-"json:\"url\"";-concurrency-*int32-"json:\"concurrency,omitempty\"";-flushinterval-*string-"json:\"flushinterval,omitempty\"";-maxbatchsize-*int32-"json:\"maxbatchsize,omitempty\"";-maxqueuesize-*int32-"json:\"maxqueuesize,omitempty\"";-httpauth-"json:\",inline,omitempty\""})_ VMAlertRemoteWriteSpec defines the remote storage configuration for VmAlert _Appears in:_ - [VMAlertSpec](#vmalertspec) #### VMAlertSpec VMAlertSpec defines the desired state of VMAlert _Appears in:_ - [VMAlert](#vmalert) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/configs/CONFIGMAP_NAME folder | _string array_ | false | | `configReloaderExtraArgs` | ConfigReloaderExtraArgs that will be passed to VMAuths config-reloader container
for example resyncInterval: "30s" | _object (keys:string, values:string)_ | false | | `configReloaderImageTag` | ConfigReloaderImageTag defines image:tag for config-reloader container | _string_ | true | | `configReloaderResources` | ConfigReloaderResources config-reloader 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | true | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `datasource` | Datasource Victoria Metrics or VMSelect url. Required parameter. e.g. http://127.0.0.1:8428 | _[VMAlertDatasourceSpec](#vmalertdatasourcespec)_ | true | | `disableSelfServiceScrape` | DisableSelfServiceScrape controls creation of VMServiceScrape by operator
for the application.
Has priority over `VM_DISABLESELFSERVICESCRAPECREATION` operator env variable | _boolean_ | true | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | | `enforcedNamespaceLabel` | 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. | _string_ | false | | `evaluationInterval` | EvaluationInterval defines how often to evaluate rules by default | _string_ | false | | `externalLabels` | ExternalLabels in the form 'name: value' to add to all generated recording rules and alerts. | _object (keys:string, values:string)_ | false | | `extraArgs` | ExtraArgs that will be passed to the application container
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be passed to the application container | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliasesUnderScore provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork.
Has Priority over hostAliases field | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `image` | Image - docker image settings
if no specified operator uses default version from operator config | _[Image](#image)_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition.
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/ | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `logFormat` | LogFormat for VMAlert to be configured with.
default or json | _string_ | false | | `logLevel` | LogLevel for VMAlert to be configured with. | _string_ | false | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state
Has no effect for VLogs and VMSingle | _integer_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | | `notifier` | 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 | _[VMAlertNotifierSpec](#vmalertnotifierspec)_ | false | | `notifierConfigRef` | NotifierConfigRef reference for secret with notifier configuration for vmalert
only one of notifier options could be chosen: notifierConfigRef or notifiers + notifier | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `notifiers` | 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 | _[VMAlertNotifierSpec](#vmalertnotifierspec) array_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `podDisruptionBudget` | PodDisruptionBudget created by operator | _[EmbeddedPodDisruptionBudgetSpec](#embeddedpoddisruptionbudgetspec)_ | false | | `podMetadata` | PodMetadata configures Labels and Annotations which are propagated to the VMAlert pods. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | true | | `port` | Port listen address | _string_ | false | | `priorityClassName` | PriorityClassName class assigned to the Pods | _string_ | false | | `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | | `remoteRead` | 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 | _[VMAlertRemoteReadSpec](#vmalertremotereadspec)_ | false | | `remoteWrite` | 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 | _[VMAlertRemoteWriteSpec](#vmalertremotewritespec)_ | false | | `replicaCount` | ReplicaCount is the expected size of the Application. | _integer_ | false | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the Deployment revision history.
Has no effect at StatefulSets
Defaults to 10. | _integer_ | false | | `rollingUpdate` | RollingUpdate - overrides deployment update params. | _[RollingUpdateDeployment](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#rollingupdatedeployment-v1-apps)_ | false | | `ruleNamespaceSelector` | 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. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `rulePath` | 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 | _string array_ | false | | `ruleSelector` | 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. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | | `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 | | `selectAllByDefault` | 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 | _boolean_ | false | | `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the pods | _string_ | false | | `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vmalert VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | | `serviceSpec` | ServiceSpec that will be added to vmalert service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | | `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](#int64)_ | 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 | | `updateStrategy` | UpdateStrategy - overrides default update strategy. | _[DeploymentStrategyType](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#deploymentstrategytype-v1-apps)_ | false | | `useDefaultResources` | UseDefaultResources controls resource settings
By default, operator sets built-in resource requirements | _boolean_ | false | | `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 | | `useVMConfigReloader` | UseVMConfigReloader replaces prometheus-like config-reloader
with vm one. It uses secrets watch instead of file watch
which greatly increases speed of config updates | _boolean_ | true | | `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 | | `volumes` | Volumes allows configuration of additional volumes on the output Deployment/StatefulSet definition.
Volumes specified will be appended to other volumes that are generated.
/ +optional | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | true | #### VMAlertmanager VMAlertmanager represents Victoria-Metrics deployment for Alertmanager. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMAlertmanager` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | 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 | _[VMAlertmanagerSpec](#vmalertmanagerspec)_ | true | #### VMAlertmanagerConfig VMAlertmanagerConfig is the Schema for the vmalertmanagerconfigs API | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMAlertmanagerConfig` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMAlertmanagerConfigSpec](#vmalertmanagerconfigspec)_ | true | #### VMAlertmanagerConfigSpec VMAlertmanagerConfigSpec defines configuration for VMAlertmanagerConfig it must reference only locally defined objects _Appears in:_ - [VMAlertmanagerConfig](#vmalertmanagerconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `inhibit_rules` | InhibitRules will only apply for alerts matching
the resource's namespace. | _[InhibitRule](#inhibitrule) array_ | false | | `receivers` | Receivers defines alert receivers | _[Receiver](#receiver) array_ | true | | `route` | Route definition for alertmanager, may include nested routes. | _[Route](#route)_ | true | | `time_intervals` | TimeIntervals defines named interval for active/mute notifications interval
See https://prometheus.io/docs/alerting/latest/configuration/#time_interval | _[TimeIntervals](#timeintervals) array_ | false | #### VMAlertmanagerSpec VMAlertmanagerSpec is a 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 _Appears in:_ - [VMAlertmanager](#vmalertmanager) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `additionalPeers` | AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster. | _string array_ | true | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `claimTemplates` | ClaimTemplates allows adding additional VolumeClaimTemplates for StatefulSet | _[PersistentVolumeClaim](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaim-v1-core) array_ | true | | `clusterAdvertiseAddress` | 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 | _string_ | false | | `clusterDomainName` | ClusterDomainName defines domain name suffix for in-cluster dns addresses
aka .cluster.local
used to build pod peer addresses for in-cluster communication | _string_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/configs/CONFIGMAP_NAME folder | _string array_ | false | | `configNamespaceSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `configRawYaml` | ConfigRawYaml - raw configuration for alertmanager,
it helps it to start without secret.
priority -> hardcoded ConfigRaw -> ConfigRaw, provided by user -> ConfigSecret. | _string_ | false | | `configReloaderExtraArgs` | ConfigReloaderExtraArgs that will be passed to VMAuths config-reloader container
for example resyncInterval: "30s" | _object (keys:string, values:string)_ | false | | `configReloaderImageTag` | ConfigReloaderImageTag defines image:tag for config-reloader container | _string_ | true | | `configReloaderResources` | ConfigReloaderResources config-reloader 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | true | | `configSecret` | 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. | _string_ | false | | `configSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `disableNamespaceMatcher` | DisableNamespaceMatcher disables namespace label matcher for VMAlertmanagerConfig
It may be useful if alert doesn't have namespace label for some reason | _boolean_ | false | | `disableRouteContinueEnforce` | DisableRouteContinueEnforce cancel the behavior for VMAlertmanagerConfig that always enforce first-level route continue to true | _boolean_ | false | | `disableSelfServiceScrape` | DisableSelfServiceScrape controls creation of VMServiceScrape by operator
for the application.
Has priority over `VM_DISABLESELFSERVICESCRAPECREATION` operator env variable | _boolean_ | true | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | | `externalURL` | 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. | _string_ | false | | `extraArgs` | ExtraArgs that will be passed to the application container
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be passed to the application container | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `gossipConfig` | GossipConfig defines gossip TLS configuration for Alertmanager cluster | _[AlertmanagerGossipConfig](#alertmanagergossipconfig)_ | true | | `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliasesUnderScore provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork.
Has Priority over hostAliases field | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `image` | Image - docker image settings
if no specified operator uses default version from operator config | _[Image](#image)_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition.
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/ | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `listenLocal` | 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. | _boolean_ | false | | `logFormat` | LogFormat for VMAlertmanager to be configured with. | _string_ | false | | `logLevel` | Log level for VMAlertmanager to be configured with. | _string_ | false | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state
Has no effect for VLogs and VMSingle | _integer_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `podDisruptionBudget` | PodDisruptionBudget created by operator | _[EmbeddedPodDisruptionBudgetSpec](#embeddedpoddisruptionbudgetspec)_ | false | | `podMetadata` | PodMetadata configures Labels and Annotations which are propagated to the alertmanager pods. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | | `port` | Port listen address | _string_ | false | | `portName` | PortName used for the pods and governing service.
This defaults to web | _string_ | false | | `priorityClassName` | PriorityClassName class assigned to the Pods | _string_ | false | | `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | | `replicaCount` | ReplicaCount is the expected size of the Application. | _integer_ | false | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `retention` | 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). | _string_ | false | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the Deployment revision history.
Has no effect at StatefulSets
Defaults to 10. | _integer_ | false | | `rollingUpdateStrategy` | RollingUpdateStrategy defines strategy for application updates
Default is OnDelete, in this case operator handles update process
Can be changed for RollingUpdate | _[StatefulSetUpdateStrategyType](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#statefulsetupdatestrategytype-v1-apps)_ | false | | `routePrefix` | 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`. | _string_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | | `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 | | `selectAllByDefault` | 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 | _boolean_ | false | | `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the pods | _string_ | false | | `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vmalertmanager VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | | `serviceSpec` | ServiceSpec that will be added to vmalertmanager service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | | `storage` | Storage is the definition of how storage will be used by the VMAlertmanager
instances. | _[StorageSpec](#storagespec)_ | false | | `templates` | 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//. | _[ConfigMapKeyReference](#configmapkeyreference) array_ | false | | `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](#int64)_ | 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 | | `useDefaultResources` | UseDefaultResources controls resource settings
By default, operator sets built-in resource requirements | _boolean_ | false | | `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 | | `useVMConfigReloader` | UseVMConfigReloader replaces prometheus-like config-reloader
with vm one. It uses secrets watch instead of file watch
which greatly increases speed of config updates | _boolean_ | true | | `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 | | `volumes` | Volumes allows configuration of additional volumes on the output Deployment/StatefulSet definition.
Volumes specified will be appended to other volumes that are generated.
/ +optional | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | true | | `webConfig` | WebConfig defines configuration for webserver
https://github.com/prometheus/alertmanager/blob/main/docs/https.md | _[AlertmanagerWebConfig](#alertmanagerwebconfig)_ | true | #### VMAuth VMAuth is the Schema for the vmauths API | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMAuth` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMAuthSpec](#vmauthspec)_ | true | #### VMAuthSpec VMAuthSpec defines the desired state of VMAuth _Appears in:_ - [VMAuth](#vmauth) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/configs/CONFIGMAP_NAME folder | _string array_ | false | | `configReloaderExtraArgs` | ConfigReloaderExtraArgs that will be passed to VMAuths config-reloader container
for example resyncInterval: "30s" | _object (keys:string, values:string)_ | false | | `configReloaderImageTag` | ConfigReloaderImageTag defines image:tag for config-reloader container | _string_ | true | | `configReloaderResources` | ConfigReloaderResources config-reloader 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | true | | `configSecret` | ConfigSecret is the name of a Kubernetes Secret in the same namespace as the
VMAuth object, which contains auth configuration for vmauth,
configuration must be inside secret key: config.yaml.
It must be created and managed manually.
If it's defined, configuration for vmauth becomes unmanaged and operator'll not create any related secrets/config-reloaders | _string_ | false | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `default_url` | DefaultURLs backend url for non-matching paths filter
usually used for default backend with error message | _string array_ | true | | `disableSelfServiceScrape` | DisableSelfServiceScrape controls creation of VMServiceScrape by operator
for the application.
Has priority over `VM_DISABLESELFSERVICESCRAPECREATION` operator env variable | _boolean_ | true | | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | | `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `extraArgs` | ExtraArgs that will be passed to the application container
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be passed to the application container | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `headers` | 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 | _string array_ | false | | `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliasesUnderScore provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork.
Has Priority over hostAliases field | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `image` | Image - docker image settings
if no specified operator uses default version from operator config | _[Image](#image)_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `ingress` | Ingress enables ingress configuration for VMAuth. | _[EmbeddedIngress](#embeddedingress)_ | true | | `initContainers` | InitContainers allows adding initContainers to the pod definition.
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/ | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth/#ip-filters) | _[VMUserIPFilters](#vmuseripfilters)_ | false | | `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `logFormat` | LogFormat for VMAuth to be configured with. | _string_ | false | | `logLevel` | LogLevel for victoria metrics single to be configured with. | _string_ | false | | `max_concurrent_requests` | MaxConcurrentRequests defines max concurrent requests per user
300 is default value for vmauth | _integer_ | false | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state
Has no effect for VLogs and VMSingle | _integer_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `podDisruptionBudget` | PodDisruptionBudget created by operator | _[EmbeddedPodDisruptionBudgetSpec](#embeddedpoddisruptionbudgetspec)_ | false | | `podMetadata` | PodMetadata configures Labels and Annotations which are propagated to the VMAuth pods. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | | `port` | Port listen address | _string_ | false | | `priorityClassName` | PriorityClassName class assigned to the Pods | _string_ | false | | `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | | `replicaCount` | ReplicaCount is the expected size of the Application. | _integer_ | false | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `response_headers` | 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 | _string array_ | false | | `retry_status_codes` | RetryStatusCodes defines http status codes in numeric format for request retries
e.g. [429,503] | _integer array_ | false | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the Deployment revision history.
Has no effect at StatefulSets
Defaults to 10. | _integer_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | | `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 | | `selectAllByDefault` | 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 | _boolean_ | false | | `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the pods | _string_ | false | | `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vmauth VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | | `serviceSpec` | ServiceSpec that will be added to vmsingle service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | | `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](#int64)_ | false | | `tlsConfig` | | _[TLSConfig](#tlsconfig)_ | 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 | | `unauthorizedAccessConfig` | UnauthorizedAccessConfig configures access for un authorized users | _[UnauthorizedAccessConfigURLMap](#unauthorizedaccessconfigurlmap) array_ | false | | `useDefaultResources` | UseDefaultResources controls resource settings
By default, operator sets built-in resource requirements | _boolean_ | false | | `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 | | `useVMConfigReloader` | UseVMConfigReloader replaces prometheus-like config-reloader
with vm one. It uses secrets watch instead of file watch
which greatly increases speed of config updates | _boolean_ | true | | `userNamespaceSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | false | | `userSelector` | 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 | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | 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 | | `volumes` | Volumes allows configuration of additional volumes on the output Deployment/StatefulSet definition.
Volumes specified will be appended to other volumes that are generated.
/ +optional | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | true | #### VMBackup _Appears in:_ - [VMSingleSpec](#vmsinglespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `acceptEULA` | AcceptEULA accepts enterprise feature usage, must be set to true.
otherwise backupmanager cannot be added to single/cluster version.
https://victoriametrics.com/legal/esa/ | _boolean_ | false | | `concurrency` | Defines number of concurrent workers. Higher concurrency may reduce backup duration (default 10) | _integer_ | false | | `credentialsSecret` | CredentialsSecret is secret in the same namespace for access to remote storage
The secret is mounted into /etc/vm/creds. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `customS3Endpoint` | Custom S3 endpoint for use with S3-compatible storages (e.g. MinIO). S3 is used if not set | _string_ | false | | `destination` | Defines destination for backup | _string_ | true | | `destinationDisableSuffixAdd` | 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. | _boolean_ | false | | `disableDaily` | Defines if daily backups disabled (default false) | _boolean_ | false | | `disableHourly` | Defines if hourly backups disabled (default false) | _boolean_ | false | | `disableMonthly` | Defines if monthly backups disabled (default false) | _boolean_ | false | | `disableWeekly` | Defines if weekly backups disabled (default false) | _boolean_ | false | | `extraArgs` | extra args like maxBytesPerSecond default 0 | _object (keys:string, values:string)_ | false | | `extraEnvs` | | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `image` | Image - docker image settings for VMBackuper | _[Image](#image)_ | false | | `logFormat` | LogFormat for VMBackup to be configured with.
default or json | _string_ | false | | `logLevel` | LogLevel for VMBackup to be configured with. | _string_ | false | | `port` | Port for health check connections | _string_ | true | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `restore` | Restore Allows to enable restore options for pod
Read [more](https://docs.victoriametrics.com/vmbackupmanager#restore-commands) | _[VMRestore](#vmrestore)_ | false | | `snapshotCreateURL` | SnapshotCreateURL overwrites url for snapshot create | _string_ | false | | `snapshotDeleteURL` | SnapShotDeleteURL overwrites url for snapshot delete | _string_ | false | | `volumeMounts` | 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. | _[VolumeMount](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volumemount-v1-core) array_ | false | #### VMCluster VMCluster is fast, cost-effective and scalable time-series database. Cluster version with | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMCluster` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | false | | `spec` | | _[VMClusterSpec](#vmclusterspec)_ | true | #### VMClusterSpec VMClusterSpec defines the desired state of VMCluster _Appears in:_ - [VMCluster](#vmcluster) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `clusterDomainName` | ClusterDomainName defines domain name suffix for in-cluster dns addresses
aka .cluster.local
used by vminsert and vmselect to build vmstorage address | _string_ | false | | `clusterVersion` | ClusterVersion defines default images tag for all components.
it can be overwritten with component specific image.tag value. | _string_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `replicationFactor` | ReplicationFactor defines how many copies of data make among
distinct storage nodes | _integer_ | false | | `retentionPeriod` | 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/#retention) | _string_ | true | | `serviceAccountName` | ServiceAccountName is the name of the ServiceAccount to use to run the
VMSelect, VMStorage and VMInsert Pods. | _string_ | false | | `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 | | `vminsert` | | _[VMInsert](#vminsert)_ | false | | `vmselect` | | _[VMSelect](#vmselect)_ | false | | `vmstorage` | | _[VMStorage](#vmstorage)_ | false | #### VMInsert _Underlying type:_ _[struct{PodMetadata *EmbeddedObjectMetadata "json:\"podMetadata,omitempty\""; LogFormat string "json:\"logFormat,omitempty\""; LogLevel string "json:\"logLevel,omitempty\""; InsertPorts *InsertPorts "json:\"insertPorts,omitempty\""; ClusterNativePort string "json:\"clusterNativeListenPort,omitempty\""; ServiceSpec *AdditionalServiceSpec "json:\"serviceSpec,omitempty\""; ServiceScrapeSpec *VMServiceScrapeSpec "json:\"serviceScrapeSpec,omitempty\""; UpdateStrategy *k8s.io/api/apps/v1.DeploymentStrategyType "json:\"updateStrategy,omitempty\""; RollingUpdate *k8s.io/api/apps/v1.RollingUpdateDeployment "json:\"rollingUpdate,omitempty\""; PodDisruptionBudget *EmbeddedPodDisruptionBudgetSpec "json:\"podDisruptionBudget,omitempty\""; *EmbeddedProbes "json:\",inline\""; HPA *EmbeddedHPA "json:\"hpa,omitempty\""; CommonDefaultableParams "json:\",inline\""; CommonApplicationDeploymentParams "json:\",inline\""}](#struct{podmetadata-*embeddedobjectmetadata-"json:\"podmetadata,omitempty\"";-logformat-string-"json:\"logformat,omitempty\"";-loglevel-string-"json:\"loglevel,omitempty\"";-insertports-*insertports-"json:\"insertports,omitempty\"";-clusternativeport-string-"json:\"clusternativelistenport,omitempty\"";-servicespec-*additionalservicespec-"json:\"servicespec,omitempty\"";-servicescrapespec-*vmservicescrapespec-"json:\"servicescrapespec,omitempty\"";-updatestrategy-*k8sioapiappsv1deploymentstrategytype-"json:\"updatestrategy,omitempty\"";-rollingupdate-*k8sioapiappsv1rollingupdatedeployment-"json:\"rollingupdate,omitempty\"";-poddisruptionbudget-*embeddedpoddisruptionbudgetspec-"json:\"poddisruptionbudget,omitempty\"";-*embeddedprobes-"json:\",inline\"";-hpa-*embeddedhpa-"json:\"hpa,omitempty\"";-commondefaultableparams-"json:\",inline\"";-commonapplicationdeploymentparams-"json:\",inline\""})_ _Appears in:_ - [VMClusterSpec](#vmclusterspec) #### VMNodeScrape VMNodeScrape defines discovery for targets placed on kubernetes nodes, usually its node-exporters and other host services. InternalIP is used as __address__ for scraping. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMNodeScrape` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMNodeScrapeSpec](#vmnodescrapespec)_ | true | #### VMNodeScrapeSpec VMNodeScrapeSpec defines specification for VMNodeScrape. _Appears in:_ - [VMNodeScrape](#vmnodescrape) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `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 | | `jobLabel` | The label to use to retrieve the job name from. | _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 Node. | _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 | | `selector` | Selector to select kubernetes Nodes. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | 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 | | `targetLabels` | TargetLabels transfers labels on the Kubernetes Node onto the target. | _string array_ | 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 | #### VMPodScrape VMPodScrape is scrape configuration for pods, it generates vmagent's config for scraping pod targets based on selectors. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMPodScrape` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | false | | `spec` | | _[VMPodScrapeSpec](#vmpodscrapespec)_ | true | #### VMPodScrapeSpec VMPodScrapeSpec defines the desired state of VMPodScrape _Appears in:_ - [VMPodScrape](#vmpodscrape) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `attach_metadata` | AttachMetadata configures metadata attaching from service discovery | _[AttachMetadata](#attachmetadata)_ | false | | `jobLabel` | The label to use to retrieve the job name from. | _string_ | false | | `namespaceSelector` | Selector to select which namespaces the Endpoints objects are discovered from. | _[NamespaceSelector](#namespaceselector)_ | false | | `podMetricsEndpoints` | A list of endpoints allowed as part of this PodMonitor. | _[PodMetricsEndpoint](#podmetricsendpoint) array_ | true | | `podTargetLabels` | PodTargetLabels transfers labels on the Kubernetes Pod onto the target. | _string array_ | false | | `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | false | | `selector` | Selector to select Pod objects. | _[LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#labelselector-v1-meta)_ | 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 | #### VMProbe 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. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMProbe` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | false | | `spec` | | _[VMProbeSpec](#vmprobespec)_ | true | #### VMProbeSpec VMProbeSpec contains specification parameters for a Probe. _Appears in:_ - [VMProbe](#vmprobe) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `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 | | `jobName` | The job name assigned to scraped metrics by default. | _string_ | true | | `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 | | `module` | 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 | _string_ | true | | `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 | | `proxyURL` | ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint. | _string_ | 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 | | `targets` | Targets defines a set of static and/or dynamically discovered targets to be probed using the prober. | _[VMProbeTargets](#vmprobetargets)_ | true | | `tlsConfig` | TLSConfig configuration to use when scraping the endpoint | _[TLSConfig](#tlsconfig)_ | false | | `vmProberSpec` | Specification for the prober to use for probing targets.
The prober.URL parameter is required. Targets cannot be probed if left empty. | _[VMProberSpec](#vmproberspec)_ | true | | `vm_scrape_params` | VMScrapeParams defines VictoriaMetrics specific scrape parameters | _[VMScrapeParams](#vmscrapeparams)_ | false | #### VMProbeTargetStaticConfig VMProbeTargetStaticConfig defines the set of static targets considered for probing. _Appears in:_ - [VMProbeTargets](#vmprobetargets) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `labels` | Labels assigned to all metrics scraped from the targets. | _object (keys:string, values:string)_ | true | | `relabelingConfigs` | RelabelConfigs to apply to samples during service discovery. | _[RelabelConfig](#relabelconfig) array_ | true | | `targets` | Targets is a list of URLs to probe using the configured prober. | _string array_ | true | #### VMProbeTargets VMProbeTargets defines a set of static and dynamically discovered targets for the prober. _Appears in:_ - [VMProbeSpec](#vmprobespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `ingress` | Ingress defines the set of dynamically discovered ingress objects which hosts are considered for probing. | _[ProbeTargetIngress](#probetargetingress)_ | true | | `staticConfig` | StaticConfig defines static targets which are considers for probing. | _[VMProbeTargetStaticConfig](#vmprobetargetstaticconfig)_ | true | #### VMProberSpec VMProberSpec contains specification parameters for the Prober used for probing. _Appears in:_ - [VMProbeSpec](#vmprobespec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `path` | Path to collect metrics from.
Defaults to `/probe`. | _string_ | true | | `scheme` | HTTP scheme to use for scraping.
Defaults to `http`. | _string_ | false | | `url` | Mandatory URL of the prober. | _string_ | true | #### VMRestore _Appears in:_ - [VMBackup](#vmbackup) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `onStart` | OnStart defines configuration for restore on pod start | _[VMRestoreOnStartConfig](#vmrestoreonstartconfig)_ | false | #### VMRestoreOnStartConfig _Appears in:_ - [VMRestore](#vmrestore) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `enabled` | Enabled defines if restore on start enabled | _boolean_ | false | #### VMRule VMRule defines rule records for vmalert application | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMRule` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMRuleSpec](#vmrulespec)_ | true | #### VMRuleSpec VMRuleSpec defines the desired state of VMRule _Appears in:_ - [VMRule](#vmrule) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `groups` | Groups list of group rules | _[RuleGroup](#rulegroup) array_ | true | #### VMScrapeConfig VMScrapeConfig specifies a set of targets and parameters describing how to scrape them. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMScrapeConfig` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMScrapeConfigSpec](#vmscrapeconfigspec)_ | true | #### VMScrapeConfigSpec VMScrapeConfigSpec defines the desired state of VMScrapeConfig _Appears in:_ - [VMScrapeConfig](#vmscrapeconfig) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `authorization` | Authorization with http header Authorization | _[Authorization](#authorization)_ | false | | `azureSDConfigs` | AzureSDConfigs defines a list of Azure service discovery configurations. | _[AzureSDConfig](#azuresdconfig) array_ | 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 | | `consulSDConfigs` | ConsulSDConfigs defines a list of Consul service discovery configurations. | _[ConsulSDConfig](#consulsdconfig) array_ | false | | `digitalOceanSDConfigs` | DigitalOceanSDConfigs defines a list of DigitalOcean service discovery configurations. | _[DigitalOceanSDConfig](#digitaloceansdconfig) array_ | false | | `dnsSDConfigs` | DNSSDConfigs defines a list of DNS service discovery configurations. | _[DNSSDConfig](#dnssdconfig) array_ | false | | `ec2SDConfigs` | EC2SDConfigs defines a list of EC2 service discovery configurations. | _[EC2SDConfig](#ec2sdconfig) array_ | false | | `fileSDConfigs` | FileSDConfigs defines a list of file service discovery configurations. | _[FileSDConfig](#filesdconfig) array_ | false | | `follow_redirects` | FollowRedirects controls redirects for scraping. | _boolean_ | false | | `gceSDConfigs` | GCESDConfigs defines a list of GCE service discovery configurations. | _[GCESDConfig](#gcesdconfig) array_ | 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 | | `httpSDConfigs` | HTTPSDConfigs defines a list of HTTP service discovery configurations. | _[HTTPSDConfig](#httpsdconfig) array_ | false | | `interval` | Interval at which metrics should be scraped | _string_ | false | | `kubernetesSDConfigs` | KubernetesSDConfigs defines a list of Kubernetes service discovery configurations. | _[KubernetesSDConfig](#kubernetessdconfig) array_ | 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 | | `openstackSDConfigs` | OpenStackSDConfigs defines a list of OpenStack service discovery configurations. | _[OpenStackSDConfig](#openstacksdconfig) array_ | false | | `params` | Optional HTTP URL parameters | _object (keys:string, values:string array)_ | false | | `path` | HTTP path to scrape for metrics. | _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 | | `staticConfigs` | StaticConfigs defines a list of static targets with a common label set. | _[StaticConfig](#staticconfig) array_ | 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 | #### VMScrapeParams VMScrapeParams defines scrape target configuration that compatible only with VictoriaMetrics scrapers VMAgent and VMSingle _Appears in:_ - [Endpoint](#endpoint) - [EndpointScrapeParams](#endpointscrapeparams) - [PodMetricsEndpoint](#podmetricsendpoint) - [TargetEndpoint](#targetendpoint) - [VMNodeScrapeSpec](#vmnodescrapespec) - [VMProbeSpec](#vmprobespec) - [VMScrapeConfigSpec](#vmscrapeconfigspec) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `disable_compression` | DisableCompression | _boolean_ | false | | `disable_keep_alive` | disable_keepalive allows disabling HTTP keep-alive when scraping targets.
By default, HTTP keep-alive is enabled, so TCP connections to scrape targets
could be re-used.
See https://docs.victoriametrics.com/vmagent#scrape_config-enhancements | _boolean_ | false | | `headers` | 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 | _string array_ | false | | `no_stale_markers` | | _boolean_ | false | | `proxy_client_config` | ProxyClientConfig configures proxy auth settings for scraping
See feature description https://docs.victoriametrics.com/vmagent#scraping-targets-via-a-proxy | _[ProxyAuth](#proxyauth)_ | false | | `scrape_align_interval` | | _string_ | false | | `scrape_offset` | | _string_ | false | | `stream_parse` | | _boolean_ | false | #### VMSelect _Underlying type:_ _[struct{PodMetadata *EmbeddedObjectMetadata "json:\"podMetadata,omitempty\""; LogFormat string "json:\"logFormat,omitempty\""; LogLevel string "json:\"logLevel,omitempty\""; CacheMountPath string "json:\"cacheMountPath,omitempty\""; Storage *StorageSpec "json:\"persistentVolume,omitempty\""; StorageSpec *StorageSpec "json:\"storage,omitempty\""; ClusterNativePort string "json:\"clusterNativeListenPort,omitempty\""; ServiceSpec *AdditionalServiceSpec "json:\"serviceSpec,omitempty\""; ServiceScrapeSpec *VMServiceScrapeSpec "json:\"serviceScrapeSpec,omitempty\""; PodDisruptionBudget *EmbeddedPodDisruptionBudgetSpec "json:\"podDisruptionBudget,omitempty\""; *EmbeddedProbes "json:\",inline\""; HPA *EmbeddedHPA "json:\"hpa,omitempty\""; RollingUpdateStrategy k8s.io/api/apps/v1.StatefulSetUpdateStrategyType "json:\"rollingUpdateStrategy,omitempty\""; ClaimTemplates []k8s.io/api/core/v1.PersistentVolumeClaim "json:\"claimTemplates,omitempty\""; CommonDefaultableParams "json:\",inline\""; CommonApplicationDeploymentParams "json:\",inline\""}](#struct{podmetadata-*embeddedobjectmetadata-"json:\"podmetadata,omitempty\"";-logformat-string-"json:\"logformat,omitempty\"";-loglevel-string-"json:\"loglevel,omitempty\"";-cachemountpath-string-"json:\"cachemountpath,omitempty\"";-storage-*storagespec-"json:\"persistentvolume,omitempty\"";-storagespec-*storagespec-"json:\"storage,omitempty\"";-clusternativeport-string-"json:\"clusternativelistenport,omitempty\"";-servicespec-*additionalservicespec-"json:\"servicespec,omitempty\"";-servicescrapespec-*vmservicescrapespec-"json:\"servicescrapespec,omitempty\"";-poddisruptionbudget-*embeddedpoddisruptionbudgetspec-"json:\"poddisruptionbudget,omitempty\"";-*embeddedprobes-"json:\",inline\"";-hpa-*embeddedhpa-"json:\"hpa,omitempty\"";-rollingupdatestrategy-k8sioapiappsv1statefulsetupdatestrategytype-"json:\"rollingupdatestrategy,omitempty\"";-claimtemplates-[]k8sioapicorev1persistentvolumeclaim-"json:\"claimtemplates,omitempty\"";-commondefaultableparams-"json:\",inline\"";-commonapplicationdeploymentparams-"json:\",inline\""})_ _Appears in:_ - [VMClusterSpec](#vmclusterspec) #### VMServiceScrape 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 | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMServiceScrape` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | true | #### VMServiceScrapeSpec _Underlying type:_ _[struct{DiscoveryRole string "json:\"discoveryRole,omitempty\""; JobLabel string "json:\"jobLabel,omitempty\""; TargetLabels []string "json:\"targetLabels,omitempty\""; PodTargetLabels []string "json:\"podTargetLabels,omitempty\""; Endpoints []Endpoint "json:\"endpoints\""; Selector k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector "json:\"selector,omitempty\""; NamespaceSelector NamespaceSelector "json:\"namespaceSelector,omitempty\""; SampleLimit uint64 "json:\"sampleLimit,omitempty\""; SeriesLimit uint64 "json:\"seriesLimit,omitempty\""; AttachMetadata AttachMetadata "json:\"attach_metadata,omitempty\""}](#struct{discoveryrole-string-"json:\"discoveryrole,omitempty\"";-joblabel-string-"json:\"joblabel,omitempty\"";-targetlabels-[]string-"json:\"targetlabels,omitempty\"";-podtargetlabels-[]string-"json:\"podtargetlabels,omitempty\"";-endpoints-[]endpoint-"json:\"endpoints\"";-selector-k8sioapimachinerypkgapismetav1labelselector-"json:\"selector,omitempty\"";-namespaceselector-namespaceselector-"json:\"namespaceselector,omitempty\"";-samplelimit-uint64-"json:\"samplelimit,omitempty\"";-serieslimit-uint64-"json:\"serieslimit,omitempty\"";-attachmetadata-attachmetadata-"json:\"attach_metadata,omitempty\""})_ VMServiceScrapeSpec defines the desired state of VMServiceScrape _Appears in:_ - [VLogsSpec](#vlogsspec) - [VMAgentSpec](#vmagentspec) - [VMAlertSpec](#vmalertspec) - [VMAlertmanagerSpec](#vmalertmanagerspec) - [VMAuthSpec](#vmauthspec) - [VMServiceScrape](#vmservicescrape) - [VMSingleSpec](#vmsinglespec) #### VMSingle VMSingle is fast, cost-effective and scalable time-series database. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMSingle` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMSingleSpec](#vmsinglespec)_ | true | #### VMSingleSpec VMSingleSpec defines the desired state of VMSingle _Appears in:_ - [VMSingle](#vmsingle) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `affinity` | Affinity If specified, the pod's scheduling constraints. | _[Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#affinity-v1-core)_ | false | | `configMaps` | ConfigMaps is a list of ConfigMaps in the same namespace as the Application
object, which shall be mounted into the Application container
at /etc/vm/configs/CONFIGMAP_NAME folder | _string array_ | false | | `containers` | Containers property allows to inject additions sidecars or to patch existing containers.
It can be useful for proxies, backup, etc. | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `disableSelfServiceScrape` | DisableSelfServiceScrape controls creation of VMServiceScrape by operator
for the application.
Has priority over `VM_DISABLESELFSERVICESCRAPECREATION` operator env variable | _boolean_ | true | | `dnsConfig` | Specifies the DNS parameters of a pod.
Parameters specified here will be merged to the generated DNS
configuration based on DNSPolicy. | _[PodDNSConfig](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#poddnsconfig-v1-core)_ | false | | `dnsPolicy` | DNSPolicy sets DNS policy for the pod | _[DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#dnspolicy-v1-core)_ | false | | `extraArgs` | ExtraArgs that will be passed to the application container
for example remoteWrite.tmpDataPath: /tmp | _object (keys:string, values:string)_ | false | | `extraEnvs` | ExtraEnvs that will be passed to the application container | _[EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#envvar-v1-core) array_ | false | | `hostAliases` | HostAliases provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork. | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `hostNetwork` | HostNetwork controls whether the pod may use the node network namespace | _boolean_ | false | | `host_aliases` | HostAliasesUnderScore provides mapping for ip and hostname,
that would be propagated to pod,
cannot be used with HostNetwork.
Has Priority over hostAliases field | _[HostAlias](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#hostalias-v1-core) array_ | false | | `image` | Image - docker image settings
if no specified operator uses default version from operator config | _[Image](#image)_ | false | | `imagePullSecrets` | 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 | _[LocalObjectReference](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#localobjectreference-v1-core) array_ | false | | `initContainers` | InitContainers allows adding initContainers to the pod definition.
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/ | _[Container](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#container-v1-core) array_ | false | | `insertPorts` | InsertPorts - additional listen ports for data ingestion. | _[InsertPorts](#insertports)_ | true | | `license` | License allows to configure license key to be used for enterprise features.
Using license key is supported starting from VictoriaMetrics v1.94.0.
See [here](https://docs.victoriametrics.com/enterprise) | _[License](#license)_ | false | | `logFormat` | LogFormat for VMSingle to be configured with. | _string_ | false | | `logLevel` | LogLevel for victoria metrics single to be configured with. | _string_ | false | | `minReadySeconds` | MinReadySeconds defines a minim number os seconds to wait before starting update next pod
if previous in healthy state
Has no effect for VLogs and VMSingle | _integer_ | false | | `nodeSelector` | NodeSelector Define which Nodes the Pods are scheduled on. | _object (keys:string, values:string)_ | false | | `paused` | Paused If set to true all actions on the underlying managed objects are not
going to be performed, except for delete actions. | _boolean_ | false | | `podMetadata` | PodMetadata configures Labels and Annotations which are propagated to the VMSingle pods. | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | | `port` | Port listen address | _string_ | false | | `priorityClassName` | PriorityClassName class assigned to the Pods | _string_ | false | | `readinessGates` | ReadinessGates defines pod readiness gates | _[PodReadinessGate](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#podreadinessgate-v1-core) array_ | true | | `removePvcAfterDelete` | RemovePvcAfterDelete - if true, controller adds ownership to pvc
and after VMSingle object deletion - pvc will be garbage collected
by controller manager | _boolean_ | false | | `replicaCount` | ReplicaCount is the expected size of the Application. | _integer_ | false | | `resources` | 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 | _[ResourceRequirements](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#resourcerequirements-v1-core)_ | false | | `retentionPeriod` | 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/#retention) | _string_ | true | | `revisionHistoryLimitCount` | The number of old ReplicaSets to retain to allow rollback in deployment or
maximum number of revisions that will be maintained in the Deployment revision history.
Has no effect at StatefulSets
Defaults to 10. | _integer_ | false | | `runtimeClassName` | RuntimeClassName - defines runtime class for kubernetes pod.
https://kubernetes.io/docs/concepts/containers/runtime-class/ | _string_ | false | | `schedulerName` | SchedulerName - defines kubernetes scheduler name | _string_ | false | | `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 | | `serviceScrapeSpec` | ServiceScrapeSpec that will be added to vmsingle VMServiceScrape spec | _[VMServiceScrapeSpec](#vmservicescrapespec)_ | false | | `serviceSpec` | ServiceSpec that will be added to vmsingle service spec | _[AdditionalServiceSpec](#additionalservicespec)_ | false | | `storage` | Storage is the definition of how storage will be used by the VMSingle
by default it`s empty dir | _[PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#persistentvolumeclaimspec-v1-core)_ | false | | `storageDataPath` | StorageDataPath disables spec.storage option and overrides arg for victoria-metrics binary --storageDataPath,
its users responsibility to mount proper device into given path. | _string_ | false | | `storageMetadata` | StorageMeta defines annotations and labels attached to PVC for given vmsingle CR | _[EmbeddedObjectMetadata](#embeddedobjectmetadata)_ | false | | `streamAggrConfig` | StreamAggrConfig defines stream aggregation configuration for VMSingle | _[StreamAggrConfig](#streamaggrconfig)_ | true | | `terminationGracePeriodSeconds` | TerminationGracePeriodSeconds period for container graceful termination | _[int64](#int64)_ | 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 | | `useDefaultResources` | UseDefaultResources controls resource settings
By default, operator sets built-in resource requirements | _boolean_ | false | | `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 | | `vmBackup` | VMBackup configuration for backup | _[VMBackup](#vmbackup)_ | 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 | | `volumes` | Volumes allows configuration of additional volumes on the output Deployment/StatefulSet definition.
Volumes specified will be appended to other volumes that are generated.
/ +optional | _[Volume](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#volume-v1-core) array_ | true | #### VMStaticScrape VMStaticScrape defines static targets configuration for scraping. | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMStaticScrape` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMStaticScrapeSpec](#vmstaticscrapespec)_ | true | #### VMStaticScrapeSpec VMStaticScrapeSpec defines the desired state of VMStaticScrape. _Appears in:_ - [VMStaticScrape](#vmstaticscrape) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `jobName` | JobName name of job. | _string_ | true | | `sampleLimit` | SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | _integer_ | 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 | | `targetEndpoints` | A list of target endpoints to scrape metrics from. | _[TargetEndpoint](#targetendpoint) array_ | true | #### VMStorage _Underlying type:_ _[struct{PodMetadata *EmbeddedObjectMetadata "json:\"podMetadata,omitempty\""; LogFormat string "json:\"logFormat,omitempty\""; LogLevel string "json:\"logLevel,omitempty\""; StorageDataPath string "json:\"storageDataPath,omitempty\""; Storage *StorageSpec "json:\"storage,omitempty\""; VMInsertPort string "json:\"vmInsertPort,omitempty\""; VMSelectPort string "json:\"vmSelectPort,omitempty\""; VMBackup *VMBackup "json:\"vmBackup,omitempty\""; ServiceSpec *AdditionalServiceSpec "json:\"serviceSpec,omitempty\""; ServiceScrapeSpec *VMServiceScrapeSpec "json:\"serviceScrapeSpec,omitempty\""; PodDisruptionBudget *EmbeddedPodDisruptionBudgetSpec "json:\"podDisruptionBudget,omitempty\""; *EmbeddedProbes "json:\",inline\""; MaintenanceInsertNodeIDs []int32 "json:\"maintenanceInsertNodeIDs,omitempty\""; MaintenanceSelectNodeIDs []int32 "json:\"maintenanceSelectNodeIDs,omitempty\""; RollingUpdateStrategy k8s.io/api/apps/v1.StatefulSetUpdateStrategyType "json:\"rollingUpdateStrategy,omitempty\""; ClaimTemplates []k8s.io/api/core/v1.PersistentVolumeClaim "json:\"claimTemplates,omitempty\""; CommonDefaultableParams "json:\",inline\""; CommonApplicationDeploymentParams "json:\",inline\""}](#struct{podmetadata-*embeddedobjectmetadata-"json:\"podmetadata,omitempty\"";-logformat-string-"json:\"logformat,omitempty\"";-loglevel-string-"json:\"loglevel,omitempty\"";-storagedatapath-string-"json:\"storagedatapath,omitempty\"";-storage-*storagespec-"json:\"storage,omitempty\"";-vminsertport-string-"json:\"vminsertport,omitempty\"";-vmselectport-string-"json:\"vmselectport,omitempty\"";-vmbackup-*vmbackup-"json:\"vmbackup,omitempty\"";-servicespec-*additionalservicespec-"json:\"servicespec,omitempty\"";-servicescrapespec-*vmservicescrapespec-"json:\"servicescrapespec,omitempty\"";-poddisruptionbudget-*embeddedpoddisruptionbudgetspec-"json:\"poddisruptionbudget,omitempty\"";-*embeddedprobes-"json:\",inline\"";-maintenanceinsertnodeids-[]int32-"json:\"maintenanceinsertnodeids,omitempty\"";-maintenanceselectnodeids-[]int32-"json:\"maintenanceselectnodeids,omitempty\"";-rollingupdatestrategy-k8sioapiappsv1statefulsetupdatestrategytype-"json:\"rollingupdatestrategy,omitempty\"";-claimtemplates-[]k8sioapicorev1persistentvolumeclaim-"json:\"claimtemplates,omitempty\"";-commondefaultableparams-"json:\",inline\"";-commonapplicationdeploymentparams-"json:\",inline\""})_ _Appears in:_ - [VMClusterSpec](#vmclusterspec) #### VMUser VMUser is the Schema for the vmusers API | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `apiVersion` _string_ | `operator.victoriametrics.com/v1beta1` | | | | `kind` _string_ | `VMUser` | | | | `metadata` | Refer to Kubernetes API documentation for fields of `metadata`. | _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#objectmeta-v1-meta)_ | true | | `spec` | | _[VMUserSpec](#vmuserspec)_ | true | #### VMUserIPFilters _Underlying type:_ _[struct{DenyList []string "json:\"deny_list,omitempty\""; AllowList []string "json:\"allow_list,omitempty\""}](#struct{denylist-[]string-"json:\"deny_list,omitempty\"";-allowlist-[]string-"json:\"allow_list,omitempty\""})_ VMUserIPFilters defines filters for IP addresses supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth#ip-filters) _Appears in:_ - [UserConfigOption](#userconfigoption) - [VMAuthSpec](#vmauthspec) - [VMUserSpec](#vmuserspec) #### VMUserSpec VMUserSpec defines the desired state of VMUser _Appears in:_ - [VMUser](#vmuser) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `bearerToken` | BearerToken Authorization header value for accessing protected endpoint. | _string_ | false | | `default_url` | DefaultURLs backend url for non-matching paths filter
usually used for default backend with error message | _string array_ | true | | `disable_secret_creation` | DisableSecretCreation skips related secret creation for vmuser | _boolean_ | true | | `discover_backend_ips` | DiscoverBackendIPs instructs discovering URLPrefix backend IPs via DNS. | _boolean_ | true | | `drop_src_path_prefix_parts` | DropSrcPathPrefixParts is the number of `/`-delimited request path prefix parts to drop before proxying the request to backend.
See [here](https://docs.victoriametrics.com/vmauth#dropping-request-path-prefix) for more details. | _integer_ | false | | `generatePassword` | GeneratePassword instructs operator to generate password for user
if spec.password if empty. | _boolean_ | false | | `headers` | 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 | _string array_ | false | | `ip_filters` | IPFilters defines per target src ip filters
supported only with enterprise version of [vmauth](https://docs.victoriametrics.com/vmauth/#ip-filters) | _[VMUserIPFilters](#vmuseripfilters)_ | false | | `load_balancing_policy` | LoadBalancingPolicy defines load balancing policy to use for backend urls.
Supported policies: least_loaded, first_available.
See [here](https://docs.victoriametrics.com/vmauth#load-balancing) for more details (default "least_loaded") | _string_ | false | | `max_concurrent_requests` | MaxConcurrentRequests defines max concurrent requests per user
300 is default value for vmauth | _integer_ | false | | `metric_labels` | MetricLabels - additional labels for metrics exported by vmauth for given user. | _object (keys:string, values:string)_ | false | | `name` | Name of the VMUser object. | _string_ | false | | `password` | Password basic auth password for accessing protected endpoint. | _string_ | false | | `passwordRef` | PasswordRef allows fetching password from user-create secret by its name and key. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `response_headers` | 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 | _string array_ | false | | `retry_status_codes` | RetryStatusCodes defines http status codes in numeric format for request retries
e.g. [429,503] | _integer array_ | false | | `targetRefs` | TargetRefs - reference to endpoints, which user may access. | _[TargetRef](#targetref) array_ | true | | `tlsConfig` | | _[TLSConfig](#tlsconfig)_ | false | | `tokenRef` | TokenRef allows fetching token from user-created secrets by its name and key. | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `username` | UserName basic auth user name for accessing protected endpoint,
will be replaced with metadata.name of VMUser if omitted. | _string_ | false | #### VictorOpsConfig VictorOpsConfig configures notifications via VictorOps. See https://prometheus.io/docs/alerting/latest/configuration/#victorops_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `api_key` | 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
fallback to global setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `api_url` | The VictorOps API URL. | _string_ | false | | `custom_fields` | Adds optional custom fields
https://github.com/prometheus/alertmanager/blob/v0.24.0/config/notifiers.go#L537 | _object (keys:string, values:string)_ | false | | `entity_display_name` | Contains summary of the alerted problem. | _string_ | false | | `http_config` | The HTTP client's configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message_type` | Describes the behavior of the alert (CRITICAL, WARNING, INFO). | _string_ | false | | `monitoring_tool` | The monitoring tool the state message is from. | _string_ | false | | `routing_key` | A key used to map the alert to a team. | _string_ | true | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `state_message` | Contains long explanation of the alerted problem. | _string_ | false | #### WeChatConfig WeChatConfig configures notifications via WeChat. See https://prometheus.io/docs/alerting/latest/configuration/#wechat_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `agent_id` | | _string_ | false | | `api_secret` | The secret's key that contains the WeChat API key.
The secret needs to be in the same namespace as the AlertmanagerConfig
fallback to global alertmanager setting if empty | _[SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#secretkeyselector-v1-core)_ | false | | `api_url` | The WeChat API URL.
fallback to global alertmanager setting if empty | _string_ | false | | `corp_id` | The corp id for authentication.
fallback to global alertmanager setting if empty | _string_ | false | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `message` | API request data as defined by the WeChat API. | _string_ | true | | `message_type` | | _string_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `to_party` | | _string_ | false | | `to_tag` | | _string_ | false | | `to_user` | | _string_ | false | #### WebexConfig _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `api_url` | The Webex Teams API URL, i.e. https://webexapis.com/v1/messages | _string_ | false | | `http_config` | HTTP client configuration. You must use this configuration to supply the bot token as part of the HTTP `Authorization` header. | _[HTTPConfig](#httpconfig)_ | false | | `message` | The message body template | _string_ | false | | `room_id` | The ID of the Webex Teams room where to send the messages | _string_ | true | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | #### WebhookConfig WebhookConfig configures notifications via a generic receiver supporting the webhook payload. See https://prometheus.io/docs/alerting/latest/configuration/#webhook_config _Appears in:_ - [Receiver](#receiver) | Field | Description | Scheme | Required | | --- | --- | --- | --- | | `http_config` | HTTP client configuration. | _[HTTPConfig](#httpconfig)_ | false | | `max_alerts` | Maximum number of alerts to be sent per webhook message. When 0, all alerts are included. | _integer_ | false | | `send_resolved` | SendResolved controls notify about resolved alerts. | _boolean_ | false | | `url` | URL to send requests to,
one of `urlSecret` and `url` must be defined. | _string_ | false | | `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 |