ThanosSpec 🔗︎

ThanosSpec defines the desired state of Thanos 🔗︎

Variable Name Type Required Default Description
queryDiscovery bool No -
storeGateway *StoreGateway No -
rule *Rule No -
query *Query No -
queryFrontend *QueryFrontend No -
clusterDomain string No -
enableRecreateWorkloadOnImmutableFieldChange bool No -

Metrics 🔗︎

Metrics defines the service monitor endpoints 🔗︎

Variable Name Type Required Default Description
interval string No -
timeout string No -
port int32 No -
path string No -
serviceMonitor bool No -
prometheusAnnotations bool No -

Ingress 🔗︎

Variable Name Type Required Default Description
ingressOverrides *typeoverride.IngressNetworkingV1beta1 No -
certificate string No - Certificate in the ingress namespace
host string No -
path string No -

QueryFrontend 🔗︎

Variable Name Type Required Default Description
metaOverrides *typeoverride.ObjectMeta No -
deploymentOverrides *typeoverride.Deployment No -
serviceOverrides *typeoverride.Service No -
metrics *Metrics No -
HTTPIngress *Ingress No -
logLevel string No -
logFormat string No -
queryRangeSplit string No - Split queries by an interval and execute in parallel, 0 disables it.
queryRangeMaxRetriesPerRequest int No - Maximum number of retries for a single request; beyond this, the downstream error is returned.
queryRangeMaxQueryLength int No - Limit the query time range (end - start time) in the query-frontend, 0 disables it.
queryRangeMaxQueryParallelism int No - Maximum number of queries will be scheduled in parallel by the frontend.
queryRangeResponseCacheMaxFreshness string No - Most recent allowed cacheable result, to prevent caching very recent results that might still be in flux.
queryRangePartialResponse *bool No - Enable partial response for queries if no partial_response param is specified.
queryRangeResponseCacheConfigFile string No - Path to YAML file that contains response cache configuration.
queryRangeResponseCache string No - Alternative to ‘query-range.response-cache-config-file’ flag (lower priority). Content of YAML file that contains response cache configuration.
httpAddress string No - Listen host:port for HTTP endpoints.
http_grace_period string No - Time to wait after an interrupt received for HTTP Server.
queryFrontendDownstreamURL string No - URL of downstream Prometheus Query compatible API.
queryFrontendCompressResponses *bool No - Compress HTTP responses.
queryFrontendLogQueriesLongerThan int No - Log queries that are slower than the specified duration. Set to 0 to disable. Set to < 0 to enable on all queries.
logRequestDecision string No - Request Logging for logging the start and end of requests. LogFinishCall is enabled by default.
LogFinishCall : Logs the finish call of the requests.
LogStartAndFinishCall : Logs the start and finish call of the requests.
NoLogCall : Disable request logging.

Query 🔗︎

Variable Name Type Required Default Description
metaOverrides typeoverride.ObjectMeta No -
deploymentOverrides *typeoverride.Deployment No -
serviceOverrides *typeoverride.Service No -
metrics *Metrics No -
HTTPIngress *Ingress No -
GRPCIngress *Ingress No -
GRPCClientCertificate string No - Cert and key expected under tls.crt, tls.key
GRPCClientCA string No - CA bundle to verify servers against, expected under ca.crt
GRPCClientServerName string No - Server name to verify server certificate against
GRPCServerCertificate string No - Cert and key expected under tls.crt, tls.key
GRPCServerCA string No - CA bundle to verify clients against, expected under ca.crt
logLevel string No -
logFormat string No -
httpAddress string No - Listen host:port for HTTP endpoints.
http_grace_period string No - Time to wait after an interrupt received for HTTP Server.
grpcAddress string No - Listen ip:port address for gRPC endpoints
grpcGracePeriod string No - Time to wait after an interrupt received for GRPC Server.
webRoutePrefix string No - Prefix for API and UI endpoints. This allows thanos UI to be served on a sub-path. This
option is analogous to –web.route-prefix of Promethus.
webExternalPrefix string No - Static prefix for all HTML links and redirect URLs in the UI query web interface. Actual
endpoints are still served on / or the web.route-prefix. This allows thanos UI to be
served behind a reverse proxy that strips a URL sub-path.
webPrefixHeader string No - Name of HTTP request header used for dynamic prefixing of UI links and redirects. This
option is ignored if web.external-prefix argument is set. Security risk: enable this
option only if a reverse proxy in front of thanos is resetting the header. The
–web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is
served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the
stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a
sub-path.
queryTimeout metav1.Duration No - Maximum time to process query by query node.
queryMaxConcurrent int No - Maximum number of queries processed concurrently by query node.
queryReplicaLabel []string No - Labels to treat as a replica indicator along which data is deduplicated. Still you will be
able to query without deduplication using ‘dedup=false’ parameter.
selectorLabels map[string]string No - Query selector labels that will be exposed in info endpoint (repeated).
stores []string No - Addresses of statically configured store API servers (repeatable). The scheme may be
prefixed with ‘dns+’ or ‘dnssrv+’ to detect store API servers through respective DNS lookups.
storeSDDNSInterval metav1.Duration No - Interval between DNS resolutions.
storeUnhealthyTimeout metav1.Duration No - Timeout before an unhealthy store is cleaned from the store UI page.
queryAutoDownsampling bool No - Enable automatic adjustment (step / 5) to what source of data should be used in store gateways
if no max_source_resolution param is specified.
queryPartialResponse bool No - Enable partial response for queries if no partial_response param is specified.
queryDefaultEvaluationInterval metav1.Duration No - Set default evaluation interval for sub queries.
storeResponseTimeout metav1.Duration No - If a Store doesn’t send any data in this specified duration then a Store will be ignored
and partial data will be returned if it’s enabled. 0 disables timeout.

ThanosDiscovery 🔗︎

Variable Name Type Required Default Description
metav1.LabelSelector No -

TimeRange 🔗︎

Variable Name Type Required Default Description
minTime string No - Start of time range limit to serve. Thanos Store will serve only metrics, which happened
later than this value. Option can be a constant time in RFC3339 format or time duration
relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y.
maxTime string No - End of time range limit to serve. Thanos Store
will serve only blocks, which happened eariler
than this value. Option can be a constant time
in RFC3339 format or time duration relative to
current time, such as -1d or 2h45m. Valid
duration units are ms, s, m, h, d, w, y.

StoreGateway 🔗︎

Variable Name Type Required Default Description
metaOverrides *typeoverride.ObjectMeta No -
deploymentOverrides *typeoverride.Deployment No -
serviceOverride *typeoverride.Service No -
metrics *Metrics No -
GRPCServerCertificate string No -
logLevel string No -
logFormat string No -
httpAddress string No - Listen host:port for HTTP endpoints.
http_grace_period string No - Time to wait after an interrupt received for HTTP Server.
grpcAddress string No - Listen ip:port address for gRPC endpoints
grpcGracePeriod string No - Time to wait after an interrupt received for GRPC Server.
indexCacheSize string No - Maximum size of items held in the in-memory index cache.
indexCacheConfigFile string No - Path to YAML file that contains index cache configuration. See format details:
https://thanos.io/tip/components/store.md/#index-cache
indexCacheConfig string No - Alternative to ‘index-cache.config-file’ flag (lower priority). Content of YAML file that contains index cache configuration. See format details:
https://thanos.io/tip/components/store.md/#index-cache
chunkPoolSize string No - Maximum size of concurrently allocatable bytes for chunks.
storeGRPCSeriesSampleLimit string No - Maximum amount of samples returned via a single Series call. 0 means no limit. NOTE: For
efficiency we take 120 as the number of samples in chunk (it cannot be bigger than that), so
the actual number of samples might be lower, even though the maximum could be hit.
storeGRPCTouchedSeriesSampleLimit int No - Maximum amount of touched series returned via a single Series call. The Series call fails if this limit is exceeded. 0 means no limit.
storeGRPCSeriesMaxConcurrency int No - Maximum number of concurrent Series calls.
syncBlockDuration string No - Repeat interval for syncing the blocks between local and remote view.
blockSyncConcurrency int No - Number of goroutines to use when constructing index-cache.json blocks from object storage.
blockMetaFetchConcurrency int No - Number of goroutines to use when fetching block metadata from object storage.
selectorRelabelConfigFile string No - Path to YAML file that contains relabeling configuration that allows selecting blocks. It
follows native Prometheus relabel-config syntax. See format details:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
selectorRelabelConfig string No - Alternative to ‘selector.relabel-config-file’ flag (lower priority). Content of YAML file
that contains relabeling configuration that allows selecting blocks. It follows native
Prometheus relabel-config syntax. See format details:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
consistencyDelay string No - Minimum age of all blocks before they are being read. Set it to safe value (e.g 30m) if your
object storage is eventually consistent. GCS and S3 are (roughly) strongly consistent.
ignoreDeletionMarksDelay string No - Duration after which the blocks marked for deletion will be filtered out while fetching blocks. The idea of ignore-deletion-marks-delay
is to ignore blocks that are marked for deletion with some delay. This ensures store can still serve blocks that are meant to be
deleted but do not have a replacement yet. If delete-delay duration is provided to compactor or bucket verify component, it will upload
deletion-mark.json file to mark after what duration the block should be deleted rather than deleting the block straight away. If
delete-delay is non-zero for compactor or bucket verify component, ignore-deletion-marks-delay should be set to
(delete-delay)/2 so that blocks marked for deletion are filtered out while fetching blocks
before being deleted from bucket. Default is 24h, half of the default value for –delete-delay on compactor.
storeEnableIndexHeaderLazyReader *bool No - If true, Store Gateway will lazy memory map index-header only once the block is required by a query.
webExternalPrefix string No - Static prefix for all HTML links and redirect URLs in the bucket web UI interface. Actual endpoints are still served on / or the
web.route-prefix. This allows thanos bucket web UI to be served behind a reverse proxy that
strips a URL sub-path.
webPrefixHeader string No - Name of HTTP request header used for dynamic prefixing of UI links and redirects. This
option is ignored if web.external-prefix argument is set. Security risk: enable this
option only if a reverse proxy in front of thanos is resetting the header. The
–web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is
served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the
stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a sub-path.
timeRanges []TimeRange No - TimeRanges is a list of TimeRange to partition Store Gateway

Rule 🔗︎

Variable Name Type Required Default Description
metaOverrides *typeoverride.ObjectMeta No -
statefulsetOverrides *typeoverride.StatefulSet No -
serviceOverrides *typeoverride.Service No -
metrics *Metrics No -
HTTPIngress *Ingress No -
GRPCIngress *Ingress No -
logLevel string No -
logFormat string No -
httpAddress string No - Listen host:port for HTTP endpoints.
http_grace_period string No - Time to wait after an interrupt received for HTTP Server.
dataDir string No - Data directory.
dataVolume *volume.KubernetesVolume No - Kubernetes volume abstraction refers to different types of volumes to be mounted to pods: emptyDir, hostPath, pvc.
grpcAddress string No - Listen ip:port address for gRPC endpoints
grpcGracePeriod string No - Time to wait after an interrupt received for GRPC Server.
labels map[string]string No - Labels to be applied to all generated metrics
(repeated). Similar to external labels for
Prometheus, used to identify ruler and its
blocks as unique source.
rules string No - Rules
resendDelay string No - Minimum amount of time to wait before resending an alert to Alertmanager.
evalInterval string No - The default evaluation interval to use.
tsdbBlockDuration string No - Block duration for TSDB block.
tsdbRetention string No - Block retention time on local disk.
alertmanagersURLs []string No - Alertmanager replica URLs to push firing alerts. Ruler claims success if push to at
least one alertmanager from discovered succeeds. The scheme should not be empty e.g
http might be used. The scheme may be prefixed with ‘dns+’ or ‘dnssrv+’ to detect
Alertmanager IPs through respective DNS lookups. The port defaults to 9093 or the SRV
record’s value. The URL path is used as a prefix for the regular Alertmanager API path.
alertmanagersSendTimeout string No - Timeout for sending alerts to Alertmanager
alertmanagersSDDNSInterval string No - Interval between DNS resolutions of Alertmanager hosts.
alertQueryUrl string No - The external Thanos Query URL that would be set in all alerts ‘Source’ field
alertLabelDrop map[string]string No - Labels by name to drop before sending to alertmanager. This allows alert to be
deduplicated on replica label (repeated). Similar Prometheus alert relabelling
webRoutePrefix string No - Prefix for API and UI endpoints. This allows thanos UI to be served on a sub-path. This
option is analogous to –web.route-prefix of Promethus.
webExternalPrefix string No - Static prefix for all HTML links and redirect URLs in the UI query web interface. Actual
endpoints are still served on / or the web.route-prefix. This allows thanos UI to be
served behind a reverse proxy that strips a URL sub-path.
webPrefixHeader string No - Name of HTTP request header used for dynamic prefixing of UI links and redirects. This
option is ignored if web.external-prefix argument is set. Security risk: enable this
option only if a reverse proxy in front of thanos is resetting the header. The
–web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is
served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the
stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a
sub-path.
queries []string No - Addresses of statically configured query API servers (repeatable). The scheme may be
prefixed with ‘dns+’ or ‘dnssrv+’ to detect query API servers through respective DNS
lookups.
querySddnsInterval string No - Interval between DNS resolutions.

ThanosStatus 🔗︎

ThanosStatus defines the observed state of Thanos 🔗︎

Variable Name Type Required Default Description

Thanos 🔗︎

Thanos is the Schema for the thanos API 🔗︎

Variable Name Type Required Default Description
metav1.TypeMeta Yes -
metadata metav1.ObjectMeta No -
spec ThanosSpec No -
status ThanosStatus No -

ThanosList 🔗︎

ThanosList contains a list of Thanos 🔗︎

Variable Name Type Required Default Description
metav1.TypeMeta Yes -
metadata metav1.ListMeta No -
items []Thanos Yes -