API reference

This page is automatically generated with gen-crd-api-reference-docs.

Packages:

monitoring.whizard.io/v1alpha1

Resource Types:

Compactor

The Compactor custom resource definition (CRD) defines a desired Compactor setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, persistent storage and many more.

For each Compactor resource, the Operator deploys a StatefulSet in the same namespace.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Compactor
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
CompactorSpec


tenants

[]string

The tenants whose data is being compacted by the Compactor.

disableDownsampling

bool

Disables downsampling. This is not recommended, as querying long time ranges without non-downsampled data is not efficient and useful. default: false

retention
Retention

Retention configs how long to retain samples

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

status
CompactorStatus

Gateway

The Gateway custom resource definition (CRD) defines a desired Gateway setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, and many more.

For each Gateway resource, the Operator deploys a Deployment in the same namespace.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Gateway
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
GatewaySpec


webConfig
WebConfig

Defines the configuration of the Gatewat web server.

debug

bool

If debug mode is on, gateway will proxy Query UI

This is an experimental feature, it may change in any upcoming release in a breaking way.

enabledTenantsAdmission

bool

Deny unknown tenant data remote-write and query if enabled

nodePort

int32

NodePort is the port used to expose the gateway service. If this is a valid node port, the gateway service type will be set to NodePort accordingly.

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

status
GatewayStatus

Ingester

The Ingester custom resource definition (CRD) defines a desired Ingesting Receive setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, persistent storage and many more.

For each Ingester resource, the Operator deploys a StatefulSet in the same namespace.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Ingester
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
IngesterSpec


tenants

[]string

The tenants whose data is being ingested by the Ingester(ingesting receiver).

localTsdbRetention

string

LocalTsdbRetention configs how long to retain raw samples on local storage.

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

ingesterTsdbCleanup
SidecarSpec
status
IngesterStatus

Query

The Query custom resource definition (CRD) defines a desired Query setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, and many more.

For each Query resource, the Operator deploys a Deployment in the same namespace.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Query
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
QuerySpec


promqlEngine

string

experimental PromQL engine, more info thanos.io/tip/components/query.md#promql-engine default: prometheus

selectorLabels

map[string]string

Selector labels that will be exposed in info endpoint.

replicaLabelNames

[]string

Labels to treat as a replica indicator along which data is deduplicated.

webConfig
WebConfig

Defines the configuration of the Thanos Query web server.

stores
[]QueryStores

Additional StoreApi servers from which Query component queries from

envoy
SidecarSpec

Envoy is used to config sidecar which proxies requests requiring auth to the secure stores

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

status
QueryStatus

QueryFrontend

The QueryFrontend custom resource definition (CRD) defines a desired QueryFrontend setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, and many more.

For each QueryFrontend resource, the Operator deploys a Deployment in the same namespace.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

QueryFrontend
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
QueryFrontendSpec


cacheConfig
ResponseCacheProviderConfig

CacheProviderConfig specifies response cache configuration.

webConfig
WebConfig

Defines the configuration of the Thanos QueryFrontend web server.

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

status
QueryFrontendStatus

Router

The Router custom resource definition (CRD) defines a desired Routing Receivers setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, and many more.

For each Router resource, the Operator deploys a Deployment in the same namespace.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Router
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
RouterSpec


replicationFactor

uint64

How many times to replicate incoming write requests

webConfig
WebConfig

Defines the configuration of the Route(routing receiver) web server.

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

status
RouterStatus

Ruler

Ruler is the Schema for the rulers API

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Ruler
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
RulerSpec


ruleSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector

Label selectors to select which PrometheusRules to mount for alerting and recording. The result of multiple selectors are ORed.

ruleNamespaceSelector
Kubernetes meta/v1.LabelSelector

Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the Ruler object is in is used.

shards

int32

Number of shards to take the hash of fully qualified name of the rule group in order to split rules. Each shard of rules will be bound to one separate statefulset. Default: 1

tenant

string

Tenant if not empty indicates which tenant’s data is evaluated for the selected rules; otherwise, it is for all tenants.

queryConfig
Kubernetes core/v1.SecretKeySelector
remoteWriteConfig
Kubernetes core/v1.SecretKeySelector
labels

map[string]string

Labels configure the external label pairs to Ruler. A default replica label ruler_replica will be always added as a label with the value of the pod’s name and it will be dropped in the alerts.

alertDropLabels

[]string

AlertDropLabels configure the label names which should be dropped in Ruler alerts. The replica label ruler_replica will always be dropped in alerts.

alertmanagersUrl

[]string

Define URLs to send alerts to Alertmanager. Note: this field will be ignored if AlertmanagersConfig is specified. Maps to the alertmanagers.url arg.

alertmanagersConfig
Kubernetes core/v1.SecretKeySelector

Define configuration for connecting to alertmanager. Maps to the alertmanagers.config arg.

evaluationInterval
Duration

Interval between consecutive evaluations.

Default: “1m”

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

rulerQueryProxy
SidecarSpec
rulerWriteProxy
SidecarSpec
prometheusConfigReloader
SidecarSpec
replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

status
RulerStatus

Service

The Service custom resource definition (CRD) defines the Whizard service configuration. The `ServiceSpec“ has component configuration templates. Some components scale based on the number of tenants and load service configurations

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Service
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
ServiceSpec


tenantHeader

string

HTTP header to determine tenant for remote write requests.

defaultTenantId

string

Default tenant ID to use when none is provided via a header.

tenantLabelName

string

Label name through which the tenant will be announced.

storage
ObjectReference
remoteWrites
[]RemoteWriteSpec

RemoteWrites is the list of remote write configurations. If it is configured, its targets will receive write requests from the Gateway and the Ruler.

remoteQuery
RemoteQuerySpec

RemoteQuery is the remote query configuration and the remote target should have prometheus-compatible Query APIs. If not configured, the Gateway will proxy all read requests through the QueryFrontend to the Query, If configured, the Gateway will proxy metrics read requests through the QueryFrontend to the remote target, but proxy rules read requests directly to the Query.

gatewayTemplateSpec
GatewaySpec

GatewayTemplateSpec defines the Gateway configuration template.

queryFrontendTemplateSpec
QueryFrontendSpec

QueryFrontendTemplateSpec defines the QueryFrontend configuration template.

queryTemplateSpec
QuerySpec

QueryTemplateSpec defines the Query configuration template.

rulerTemplateSpec
RulerTemplateSpec

RulerTemplateSpec defines the Ruler configuration template.

routerTemplateSpec
RouterSpec

RouterTemplateSpec defines the Router configuration template.

ingesterTemplateSpec
IngesterTemplateSpec

IngesterTemplateSpec defines the Ingester configuration template.

storeTemplateSpec
StoreSpec

StoreTemplateSpec defines the Store configuration template.

compactorTemplateSpec
CompactorTemplateSpec

CompactorTemplateSpec defines the Compactor configuration template.

status
ServiceStatus

Storage

The Storage custom resource definition (CRD) defines how to configure access to object storage. More info https://thanos.io/tip/thanos/storage.md/ Current object storage client implementations: S3, other in progress.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Storage
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
StorageSpec


blockManager
BlockManager
S3
S3
status
StorageStatus

Store

The Store custom resource definition (CRD) defines a desired Compactor setup to run in a Kubernetes cluster. It allows to specify many options such as the number of replicas, persistent storage and many more.

For each Store resource, the Operator deploys a StatefulSet in the same namespace.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Store
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
StoreSpec


minTime

string

MinTime specifies start of time range limit to serve

maxTime

string

MaxTime specifies end of time range limit to serve

timeRanges
[]TimeRange

TimeRanges is a list of TimeRange to partition Store. If specified, the MinTime and MaxTime will be ignored.

indexCacheConfig
IndexCacheConfig

IndexCacheConfig contains index cache configuration.

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

status
StoreStatus

Tenant

The Tenant custom resource definition (CRD) defines the tenant configuration for multi-tenant data separation in Whizard. In Whizard, a tenant can represent various types of data sources, such as:

  • Monitoring data from a specific Kubernetes cluster
  • Monitoring data from a physical machine in a specific region
  • Monitoring data from a specific type of application

When data is ingested, it will be tagged with the tenant label to ensure proper separation.

FieldDescription

apiVersion
string

monitoring.whizard.io/v1alpha1

kind
string

Tenant
metadata
Kubernetes meta/v1.ObjectMeta

Refer to the Kubernetes API documentation for the fields of the metadata field.

spec
TenantSpec


tenant

string

status
TenantStatus

BasicAuth

(Appears on:HTTPClientConfig, WebConfig)

BasicAuth allow an endpoint to authenticate over basic authentication

FieldDescription
username
Kubernetes core/v1.SecretKeySelector

The secret in the service monitor namespace that contains the username for authentication.

password
Kubernetes core/v1.SecretKeySelector

The secret in the service monitor namespace that contains the password for authentication.

BlockGC

(Appears on:BlockManager)

FieldDescription
enable

bool

resources
Kubernetes core/v1.ResourceRequirements

Define resources requests and limits for main container.

image

string

Image is the component image with tag/version.

imagePullPolicy
Kubernetes core/v1.PullPolicy
(Optional)

Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated.

gcInterval
Kubernetes meta/v1.Duration
cleanupTimeout
Kubernetes meta/v1.Duration
defaultTenantId

string

Default tenant ID to use when none is provided via a header.

tenantLabelName

string

Label name through which the tenant will be announced.

BlockManager

(Appears on:StorageSpec)

FieldDescription
enable

bool

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

serviceAccountName

string

ServiceAccountName is the name of the ServiceAccount to use to run bucket Pods.

nodePort

int32

NodePort is the port used to expose the bucket service. If this is a valid node port, the gateway service type will be set to NodePort accordingly.

blockSyncInterval
Kubernetes meta/v1.Duration

Interval to sync block metadata from object storage

gc
BlockGC

CacheProvider (string alias)

(Appears on:ResponseCacheProviderConfig)

ValueDescription

“IN-MEMORY”

“MEMCACHED”

“REDIS”

CommonSpec

(Appears on:BlockManager, CompactorSpec, GatewaySpec, IngesterSpec, QueryFrontendSpec, QuerySpec, RouterSpec, RulerSpec, StoreSpec)

FieldDescription
replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

CompactorSpec

(Appears on:Compactor, CompactorTemplateSpec)

CompactorSpec defines the desired state of Compactor

FieldDescription
tenants

[]string

The tenants whose data is being compacted by the Compactor.

disableDownsampling

bool

Disables downsampling. This is not recommended, as querying long time ranges without non-downsampled data is not efficient and useful. default: false

retention
Retention

Retention configs how long to retain samples

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

CompactorStatus

(Appears on:Compactor)

CompactorStatus defines the observed state of Compactor

CompactorTemplateSpec

(Appears on:ServiceSpec)

FieldDescription
tenants

[]string

The tenants whose data is being compacted by the Compactor.

disableDownsampling

bool

Disables downsampling. This is not recommended, as querying long time ranges without non-downsampled data is not efficient and useful. default: false

retention
Retention

Retention configs how long to retain samples

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

defaultTenantsPerCompactor

int

DefaultTenantsPerIngester Whizard default tenant count per ingester. Default: 10

Duration (string alias)

(Appears on:IngesterTemplateSpec, RemoteWriteSpec, Retention, RulerSpec)

Duration is a valid time unit Supported units: y, w, d, h, m, s, ms Examples: 30s, 1m, 1h20m15s

EmbeddedObjectMetadata

(Appears on:CommonSpec)

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.

FieldDescription
name

string

(Optional)

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

labels

map[string]string

(Optional)

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

annotations

map[string]string

(Optional)

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations

GatewaySpec

(Appears on:Gateway, ServiceSpec)

GatewaySpec defines the desired state of Gateway

FieldDescription
webConfig
WebConfig

Defines the configuration of the Gatewat web server.

debug

bool

If debug mode is on, gateway will proxy Query UI

This is an experimental feature, it may change in any upcoming release in a breaking way.

enabledTenantsAdmission

bool

Deny unknown tenant data remote-write and query if enabled

nodePort

int32

NodePort is the port used to expose the gateway service. If this is a valid node port, the gateway service type will be set to NodePort accordingly.

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

GatewayStatus

(Appears on:Gateway)

GatewayStatus defines the observed state of Gateway

HTTPClientConfig

(Appears on:RemoteQuerySpec, RemoteWriteSpec)

HTTPClientConfig configures an HTTP client.

FieldDescription
basicAuth
BasicAuth

The HTTP basic authentication credentials for the targets.

bearerToken

string

The bearer token for the targets.

HTTPServerConfig

(Appears on:WebConfig)

HTTPServerTLSConfig

(Appears on:WebConfig)

FieldDescription
keySecret
Kubernetes core/v1.SecretKeySelector

Secret containing the TLS key for the server.

certSecret
Kubernetes core/v1.SecretKeySelector

Contains the TLS certificate for the server.

clientCASecret
Kubernetes core/v1.SecretKeySelector

Contains the CA certificate for client certificate authentication to the server.

InMemoryIndexCacheConfig

(Appears on:IndexCacheConfig)

FieldDescription
maxSize

string

MaxSize represents overall maximum number of bytes cache can contain.

InMemoryResponseCacheConfig

(Appears on:ResponseCacheProviderConfig)

InMemoryResponseCacheConfig holds the configs for the in-memory cache provider.

FieldDescription
maxSize

string

MaxSize represents overall maximum number of bytes cache can contain.

maxSizeItems

int

MaxSizeItems represents the maximum number of entries in the cache.

validity

time.Duration

Validity represents the expiry duration for the cache.

IndexCacheConfig

(Appears on:StoreSpec)

FieldDescription
inMemory
InMemoryIndexCacheConfig

IngesterSpec

(Appears on:Ingester, IngesterTemplateSpec)

IngesterSpec defines the desired state of Ingester

FieldDescription
tenants

[]string

The tenants whose data is being ingested by the Ingester(ingesting receiver).

localTsdbRetention

string

LocalTsdbRetention configs how long to retain raw samples on local storage.

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

ingesterTsdbCleanup
SidecarSpec

IngesterStatus

(Appears on:Ingester)

IngesterStatus defines the observed state of Ingester

FieldDescription
tenants
[]IngesterTenantStatus

Tenants contain all tenants that have been configured for this Ingester object, except those Tenant objects that have been deleted.

IngesterTemplateSpec

(Appears on:ServiceSpec)

FieldDescription
tenants

[]string

The tenants whose data is being ingested by the Ingester(ingesting receiver).

localTsdbRetention

string

LocalTsdbRetention configs how long to retain raw samples on local storage.

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

ingesterTsdbCleanup
SidecarSpec
defaultTenantsPerIngester

int

DefaultTenantsPerIngester Whizard default tenant count per ingester.

Default: 3

defaultIngesterRetentionPeriod
Duration

DefaultIngesterRetentionPeriod Whizard default ingester retention period when it has no tenant.

Default: “3h”

disableTsdbCleanup

bool

DisableTSDBCleanup Disable the TSDB cleanup of ingester. The cleanup will delete the blocks that belong to deleted tenants in the data directory of ingester TSDB.

Default: true

IngesterTenantStatus

(Appears on:IngesterStatus)

FieldDescription
name

string

obsolete

bool

true represents that the tenant has been moved to other ingester but may left tsdb data in this ingester.

KubernetesVolume

(Appears on:CompactorSpec, IngesterSpec, RulerSpec, StoreSpec)

KubernetesVolume defines the configured storage for component. If no storage option is specified, then by default an EmptyDir will be used.

If multiple storage options are specified, priority will be given as follows:

  1. emptyDir
  2. persistentVolumeClaim
FieldDescription
emptyDir
Kubernetes core/v1.EmptyDirVolumeSource

emptyDir represents a temporary directory that shares a pod’s lifetime.

persistentVolumeClaim
Kubernetes core/v1.PersistentVolumeClaim

Defines the PVC spec to be used by the component StatefulSets.

persistentVolumeClaimRetentionPolicy
Kubernetes apps/v1.StatefulSetPersistentVolumeClaimRetentionPolicy

persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent volume claims created from persistentVolumeClaim. This requires the kubernetes version >= 1.23 and its StatefulSetAutoDeletePVC feature gate to be enabled.

This is an experimental feature, it may change in any upcoming release in a breaking way.

ObjectReference

(Appears on:ServiceSpec, TenantStatus)

FieldDescription
namespace

string

name

string

QueryFrontendSpec

(Appears on:QueryFrontend, ServiceSpec)

QueryFrontendSpec defines the desired state of QueryFrontend

FieldDescription
cacheConfig
ResponseCacheProviderConfig

CacheProviderConfig specifies response cache configuration.

webConfig
WebConfig

Defines the configuration of the Thanos QueryFrontend web server.

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

QueryFrontendStatus

(Appears on:QueryFrontend)

QueryFrontendStatus defines the observed state of QueryFrontend

QuerySpec

(Appears on:Query, ServiceSpec)

QuerySpec defines the desired state of Query

FieldDescription
promqlEngine

string

experimental PromQL engine, more info thanos.io/tip/components/query.md#promql-engine default: prometheus

selectorLabels

map[string]string

Selector labels that will be exposed in info endpoint.

replicaLabelNames

[]string

Labels to treat as a replica indicator along which data is deduplicated.

webConfig
WebConfig

Defines the configuration of the Thanos Query web server.

stores
[]QueryStores

Additional StoreApi servers from which Query component queries from

envoy
SidecarSpec

Envoy is used to config sidecar which proxies requests requiring auth to the secure stores

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

QueryStatus

(Appears on:Query)

QueryStatus defines the observed state of Query

QueryStores

(Appears on:QuerySpec)

FieldDescription
addresses

[]string

Address is the addresses of StoreApi server, which may be prefixed with ‘dns+’ or ‘dnssrv+’ to detect StoreAPI servers through respective DNS lookups.

caSecret
Kubernetes core/v1.SecretKeySelector

Secret containing the CA cert to use for StoreApi connections

RemoteQuerySpec

(Appears on:ServiceSpec)

RemoteQuerySpec defines the configuration to query from remote service which should have prometheus-compatible Query APIs.

FieldDescription
name

string

url

string

basicAuth
BasicAuth

The HTTP basic authentication credentials for the targets.

bearerToken

string

The bearer token for the targets.

RemoteWriteSpec

(Appears on:ServiceSpec)

RemoteWriteSpec defines the remote write configuration.

FieldDescription
name

string

url

string

headers

map[string]string

Custom HTTP headers to be sent along with each remote write request.

remoteTimeout
Duration

Timeout for requests to the remote write endpoint.

basicAuth
BasicAuth

The HTTP basic authentication credentials for the targets.

bearerToken

string

The bearer token for the targets.

ResponseCacheProviderConfig

(Appears on:QueryFrontendSpec)

ResponseCacheProviderConfig is the initial ResponseCacheProviderConfig struct holder before parsing it into a specific cache provider. Based on the config type the config is then parsed into a specific cache provider.

FieldDescription
type
CacheProvider
inMemory
InMemoryResponseCacheConfig

Retention

(Appears on:CompactorSpec)

Retention defines the config for retaining samples

FieldDescription
retentionRaw
Duration

How long to retain raw samples in bucket. Setting this to 0d will retain samples of this resolution forever default: 0d

retention5m
Duration

How long to retain samples of resolution 1 (5 minutes) in bucket. Setting this to 0d will retain samples of this resolution forever default: 0d

retention1h
Duration

How long to retain samples of resolution 2 (1 hour) in bucket. Setting this to 0d will retain samples of this resolution forever default: 0d

RouterSpec

(Appears on:Router, ServiceSpec)

RouterSpec defines the desired state of Router

FieldDescription
replicationFactor

uint64

How many times to replicate incoming write requests

webConfig
WebConfig

Defines the configuration of the Route(routing receiver) web server.

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

RouterStatus

(Appears on:Router)

RouterStatus defines the observed state of Router

RulerSpec

(Appears on:Ruler, RulerTemplateSpec)

RulerSpec defines the desired state of Ruler

FieldDescription
ruleSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector

Label selectors to select which PrometheusRules to mount for alerting and recording. The result of multiple selectors are ORed.

ruleNamespaceSelector
Kubernetes meta/v1.LabelSelector

Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the Ruler object is in is used.

shards

int32

Number of shards to take the hash of fully qualified name of the rule group in order to split rules. Each shard of rules will be bound to one separate statefulset. Default: 1

tenant

string

Tenant if not empty indicates which tenant’s data is evaluated for the selected rules; otherwise, it is for all tenants.

queryConfig
Kubernetes core/v1.SecretKeySelector
remoteWriteConfig
Kubernetes core/v1.SecretKeySelector
labels

map[string]string

Labels configure the external label pairs to Ruler. A default replica label ruler_replica will be always added as a label with the value of the pod’s name and it will be dropped in the alerts.

alertDropLabels

[]string

AlertDropLabels configure the label names which should be dropped in Ruler alerts. The replica label ruler_replica will always be dropped in alerts.

alertmanagersUrl

[]string

Define URLs to send alerts to Alertmanager. Note: this field will be ignored if AlertmanagersConfig is specified. Maps to the alertmanagers.url arg.

alertmanagersConfig
Kubernetes core/v1.SecretKeySelector

Define configuration for connecting to alertmanager. Maps to the alertmanagers.config arg.

evaluationInterval
Duration

Interval between consecutive evaluations.

Default: “1m”

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

rulerQueryProxy
SidecarSpec
rulerWriteProxy
SidecarSpec
prometheusConfigReloader
SidecarSpec
replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

RulerStatus

(Appears on:Ruler)

RulerStatus defines the observed state of Ruler

RulerTemplateSpec

(Appears on:ServiceSpec)

FieldDescription
ruleSelectors
[]*k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector

Label selectors to select which PrometheusRules to mount for alerting and recording. The result of multiple selectors are ORed.

ruleNamespaceSelector
Kubernetes meta/v1.LabelSelector

Namespaces to be selected for PrometheusRules discovery. If unspecified, only the same namespace as the Ruler object is in is used.

shards

int32

Number of shards to take the hash of fully qualified name of the rule group in order to split rules. Each shard of rules will be bound to one separate statefulset. Default: 1

tenant

string

Tenant if not empty indicates which tenant’s data is evaluated for the selected rules; otherwise, it is for all tenants.

queryConfig
Kubernetes core/v1.SecretKeySelector
remoteWriteConfig
Kubernetes core/v1.SecretKeySelector
labels

map[string]string

Labels configure the external label pairs to Ruler. A default replica label ruler_replica will be always added as a label with the value of the pod’s name and it will be dropped in the alerts.

alertDropLabels

[]string

AlertDropLabels configure the label names which should be dropped in Ruler alerts. The replica label ruler_replica will always be dropped in alerts.

alertmanagersUrl

[]string

Define URLs to send alerts to Alertmanager. Note: this field will be ignored if AlertmanagersConfig is specified. Maps to the alertmanagers.url arg.

alertmanagersConfig
Kubernetes core/v1.SecretKeySelector

Define configuration for connecting to alertmanager. Maps to the alertmanagers.config arg.

evaluationInterval
Duration

Interval between consecutive evaluations.

Default: “1m”

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

rulerQueryProxy
SidecarSpec
rulerWriteProxy
SidecarSpec
prometheusConfigReloader
SidecarSpec
replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

disableAlertingRulesAutoSelection

bool

DisableAlertingRulesAutoSelection disable auto select alerting rules in tenant ruler

Default: true

S3

(Appears on:StorageSpec)

Config stores the configuration for s3 bucket. https://github.com/thanos-io/objstore/blob/main/providers/s3

FieldDescription
bucket

string

endpoint

string

region

string

disableDualstack

bool

awsSdkAuth

bool

accessKey
Kubernetes core/v1.SecretKeySelector
insecure

bool

signatureVersion2

bool

secretKey
Kubernetes core/v1.SecretKeySelector
putUserMetadata

map[string]string

httpConfig
S3HTTPConfig
trace
S3TraceConfig
listObjectsVersion

string

sendContentMd5

bool

disableMultipart

bool

partSize

uint64

PartSize used for multipart upload. Only used if uploaded object size is known and larger than configured PartSize. NOTE we need to make sure this number does not produce more parts than 10 000.

sseConfig
S3SSEConfig
stsEndpoint

string

S3HTTPConfig

(Appears on:S3)

S3HTTPConfig stores the http.Transport configuration for the s3 minio client.

FieldDescription
idleConnTimeout

github.com/prometheus/common/model.Duration

responseHeaderTimeout

github.com/prometheus/common/model.Duration

insecureSkipVerify

bool

tlsHandshakeTimeout

github.com/prometheus/common/model.Duration

expectContinueTimeout

github.com/prometheus/common/model.Duration

maxIdleConns

int

maxIdleConnsPerHost

int

maxConnsPerHost

int

tlsConfig
TLSConfig
disableCompression

bool

S3SSEConfig

(Appears on:S3)

S3SSEConfig deals with the configuration of SSE for Minio. The following options are valid: kmsencryptioncontext == https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html#s3-encryption-context

FieldDescription
type

string

kmsKeyId

string

kmsEncryptionContext

map[string]string

encryptionKey

string

S3TraceConfig

(Appears on:S3)

FieldDescription
enable

bool

ServiceSpec

(Appears on:Service)

ServiceSpec defines the desired state of Service

FieldDescription
tenantHeader

string

HTTP header to determine tenant for remote write requests.

defaultTenantId

string

Default tenant ID to use when none is provided via a header.

tenantLabelName

string

Label name through which the tenant will be announced.

storage
ObjectReference
remoteWrites
[]RemoteWriteSpec

RemoteWrites is the list of remote write configurations. If it is configured, its targets will receive write requests from the Gateway and the Ruler.

remoteQuery
RemoteQuerySpec

RemoteQuery is the remote query configuration and the remote target should have prometheus-compatible Query APIs. If not configured, the Gateway will proxy all read requests through the QueryFrontend to the Query, If configured, the Gateway will proxy metrics read requests through the QueryFrontend to the remote target, but proxy rules read requests directly to the Query.

gatewayTemplateSpec
GatewaySpec

GatewayTemplateSpec defines the Gateway configuration template.

queryFrontendTemplateSpec
QueryFrontendSpec

QueryFrontendTemplateSpec defines the QueryFrontend configuration template.

queryTemplateSpec
QuerySpec

QueryTemplateSpec defines the Query configuration template.

rulerTemplateSpec
RulerTemplateSpec

RulerTemplateSpec defines the Ruler configuration template.

routerTemplateSpec
RouterSpec

RouterTemplateSpec defines the Router configuration template.

ingesterTemplateSpec
IngesterTemplateSpec

IngesterTemplateSpec defines the Ingester configuration template.

storeTemplateSpec
StoreSpec

StoreTemplateSpec defines the Store configuration template.

compactorTemplateSpec
CompactorTemplateSpec

CompactorTemplateSpec defines the Compactor configuration template.

ServiceStatus

(Appears on:Service)

ServiceStatus defines the observed state of Service

SidecarSpec

(Appears on:IngesterSpec, QuerySpec, RulerSpec)

FieldDescription
image

string

Image is the envoy image with tag/version

resources
Kubernetes core/v1.ResourceRequirements

Define resources requests and limits for sidecar container.

StorageSpec

(Appears on:Storage)

StorageSpec defines the desired state of Storage

FieldDescription
blockManager
BlockManager
S3
S3

StorageStatus

(Appears on:Storage)

StorageStatus defines the observed state of Storage

StoreSpec

(Appears on:Store, ServiceSpec)

StoreSpec defines the desired state of Store

FieldDescription
minTime

string

MinTime specifies start of time range limit to serve

maxTime

string

MaxTime specifies end of time range limit to serve

timeRanges
[]TimeRange

TimeRanges is a list of TimeRange to partition Store. If specified, the MinTime and MaxTime will be ignored.

indexCacheConfig
IndexCacheConfig

IndexCacheConfig contains index cache configuration.

dataVolume
KubernetesVolume

DataVolume specifies how volume shall be used

replicas

int32

Number of component instances to deploy.

image

string

Component container image URL.

imagePullPolicy
Kubernetes core/v1.PullPolicy

Image pull policy.

resources
Kubernetes core/v1.ResourceRequirements

Resources defines the resource requirements for single Pods.

logLevel

string

Log level for component to be configured with.

logFormat

string

Log format for component to be configured with.

flags

[]string

Flags allows setting additional flags for the component container.

podMetadata
EmbeddedObjectMetadata

PodMetadata configures labels and annotations which are propagated to the pods.

configMaps

[]string

ConfigMaps is a list of ConfigMaps in the same namespace as the component object, which shall be mounted into the default Pods. Each ConfigMap is added to the StatefulSet/Deployment definition as a volume named configmap-<configmap-name>. The ConfigMaps are mounted into /etc/whizard/configmaps/<configmap-name> in the default container.

secrets

[]string

Secrets is a list of Secrets in the same namespace as the component object, which shall be mounted into the Prometheus Pods. Each Secret is added to the StatefulSet/Deployment definition as a volume named secret-<secret-name>. The Secrets are mounted into /etc/whizard/secrets/<secret-name> in the default container.

containers
k8s.io/apimachinery/pkg/runtime.RawExtension

Containers allows injecting additional containers or modifying operator generated containers. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch.

imagePullSecrets
[]Kubernetes core/v1.LocalObjectReference

An optional list of references to secrets in the same namespace to use for pulling images from registries

securityContext
Kubernetes core/v1.PodSecurityContext

SecurityContext holds pod-level security attributes and common container settings. This defaults to the default PodSecurityContext.

affinity
Kubernetes core/v1.Affinity

If specified, the pod’s scheduling constraints.

nodeSelector

map[string]string

Define which Nodes the Pods are scheduled on.

tolerations
[]Kubernetes core/v1.Toleration

If specified, the pod’s tolerations.

StoreStatus

(Appears on:Store)

StoreStatus defines the observed state of Store

TLSConfig

(Appears on:S3HTTPConfig)

TLSConfig configures the options for TLS connections.

FieldDescription
ca
Kubernetes core/v1.SecretKeySelector

The secret that including the CA cert.

cert
Kubernetes core/v1.SecretKeySelector

The secret that including the client cert.

key
Kubernetes core/v1.SecretKeySelector

The secret that including the client key.

serverName

string

Used to verify the hostname for the targets.

insecureSkipVerify

bool

Disable target certificate validation.

TenantSpec

(Appears on:Tenant)

TenantSpec defines the desired state of Tenant

FieldDescription
tenant

string

TenantStatus

(Appears on:Tenant)

TenantStatus defines the observed state of Tenant

FieldDescription
ruler
ObjectReference
compactor
ObjectReference
ingester
ObjectReference

TimeRange

(Appears on:StoreSpec)

FieldDescription
minTime

string

MinTime specifies start of time range limit to serve

maxTime

string

MaxTime specifies end of time range limit to serve

WebConfig

(Appears on:GatewaySpec, QueryFrontendSpec, QuerySpec, RouterSpec)

FieldDescription
httpServerTLSConfig
HTTPServerTLSConfig
httpServerConfig
HTTPServerConfig
basicAuthUsers
[]BasicAuth