Skip to main content

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