Skip to content

Latest commit

 

History

History
1026 lines (620 loc) · 71.9 KB

api.md

File metadata and controls

1026 lines (620 loc) · 71.9 KB

API Reference

Packages

monitoring.thanos.io/v1alpha1

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group

Resource Types

Additional

Additional holds additional configuration for the Thanos components.

Appears in:

Field Description Default Validation
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

BlockConfig

BlockConfig defines settings for block handling.

Appears in:

Field Description Default Validation
blockDiscoveryStrategy BlockDiscoveryStrategy BlockDiscoveryStrategy is the discovery strategy to use for block discovery in storage. concurrent Enum: [concurrent recursive]
blockFilesConcurrency integer BlockFilesConcurrency is the number of goroutines to use when to use when
fetching/uploading block files from object storage.
1 Optional: {}
blockMetaFetchConcurrency integer BlockMetaFetchConcurrency is the number of goroutines to use when fetching block metadata from object storage. 32 Optional: {}
blockViewerGlobalSync Duration BlockViewerGlobalSyncInterval for syncing the blocks between local and remote view for /global Block Viewer UI. 1m Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
blockViewerGlobalSyncTimeout Duration BlockViewerGlobalSyncTimeout is the maximum time for syncing the blocks
between local and remote view for /global Block Viewer UI.
5m Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$

BlockDiscoveryStrategy

Underlying type: string

BlockDiscoveryStrategy represents the strategy to use for block discovery.

Appears in:

Field Description
concurrent BlockDiscoveryStrategyConcurrent means stores will concurrently issue one call
per directory to discover active blocks storage.
recursive BlockDiscoveryStrategyRecursive means stores iterate through all objects in storage
recursively traversing into each directory.
This avoids N+1 calls at the expense of having slower bucket iterations.

CacheConfig

CacheConfig is the configuration for the cache. If both InMemoryCacheConfig and ExternalCacheConfig are specified, the operator will prefer the ExternalCacheConfig.

Appears in:

Field Description Default Validation
inMemoryCacheConfig InMemoryCacheConfig InMemoryCacheConfig is the configuration for the in-memory cache. Optional: {}
externalCacheConfig SecretKeySelector ExternalCacheConfig is the configuration for the external cache. Optional: {}

CommonFields

CommonFields are the options available to all Thanos components. These fields reflect runtime changes to managed StatefulSet and Deployment resources.

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}

CompactConfig

Appears in:

Field Description Default Validation
blockFetchConcurrency integer BlockFetchConcurrency is the number of goroutines to use when fetching blocks from object storage. 1 Optional: {}
cleanupInterval Duration CleanupInterval configures how often we should clean up partially uploaded blocks and blocks
that are marked for deletion.
Cleaning happens at the end of an iteration.
Setting this to 0s disables the cleanup.
5m Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
blockConsistencyDelay Duration ConsistencyDelay is the minimum age of fresh (non-compacted) blocks before they are being processed.
Malformed blocks older than the maximum of consistency-delay and 48h0m0s will be removed.
30m Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$

DownsamplingConfig

DownsamplingConfig defines the downsampling configuration for the compact component.

Appears in:

Field Description Default Validation
downsamplingEnabled boolean Disable downsampling. false
downsamplingConcurrency integer Concurrency is the number of goroutines to use when downsampling blocks. 1 Optional: {}

Duration

Underlying type: string

Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function. Supported units: y, w, d, h, m, s, ms Examples: 30s, 1m, 1h20m15s, 15d

Validation:

  • Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$

Appears in:

ExternalLabelShardingConfig

ExternalLabelShardingConfig defines the sharding configuration based on explicit external labels and their values. The keys are the external labels to shard on and the values are the values (as regular expressions) to shard on. Each value will be a configured and deployed as a separate compact component. For example, if the 'label' is set to tenant_id with values tenant-a and !tenant-a two compact components will be deployed. The resulting compact StatefulSets will have an appropriate --selection.relabel-config flag set to the value of the external label sharding. And named such that:

	The first compact component will have the name {ThanosCompact.Name}-{shardName}-0 with the flag
    --selector.relabel-config=
       - source_labels:
         - tenant_id
         regex: 'tenant-a'
         action: keep


	The second compact component will have the name {ThanosCompact.Name}-{shardName}-1 with the flag
    --selector.relabel-config=
       - source_labels:
         - tenant_id
         regex: '!tenant-a'
         action: keep

Appears in:

Field Description Default Validation
shardName string ShardName is the name of the shard.
ShardName is used to identify the shard in the compact component.
Required: {}
label string Label is the external label to shard on. Required: {}
values string array Values are the values (as regular expressions) to shard on.

ExternalLabels

Underlying type: object

ExternalLabels are the labels to add to the metrics. POD_NAME and POD_NAMESPACE are available via the downward API. https://thanos.io/tip/thanos/storage.md/#external-labels

Validation:

  • MinProperties: 1

Appears in:

FeatureGates

FeatureGates holds the configuration for behaviour that is behind feature flags in the operator.

Appears in:

Field Description Default Validation
serviceMonitor ServiceMonitorConfig ServiceMonitorConfig is the configuration for the ServiceMonitor.
This setting requires the feature gate for ServiceMonitor management to be enabled.
{ enable:true } Optional: {}
prometheusRuleEnabled boolean PrometheusRuleEnabled enables the loading of PrometheusRules into the Thanos Ruler.
This setting is only applicable to ThanosRuler CRD, will be ignored for other components.
true Optional: {}

InMemoryCacheConfig

InMemoryCacheConfig is the configuration for the in-memory cache.

Appears in:

Field Description Default Validation
maxSize StorageSize Pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
maxItemSize StorageSize Pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$

IngesterHashringSpec

IngesterHashringSpec represents the configuration for a hashring to be used by the Thanos Receive StatefulSet.

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}
name string Name is the name of the hashring.
Name will be used to generate the names for the resources created for the hashring.
MaxLength: 253
MinLength: 1
Pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
Required: {}
labels object (keys:string, values:string) Labels are additional labels to add to the ingester components.
Labels set here will overwrite the labels inherited from the ThanosReceive object if they have the same key.
Optional: {}
externalLabels ExternalLabels ExternalLabels to add to the ingesters tsdb blocks. { replica:$(POD_NAME) } MinProperties: 1
Required: {}
replicas integer Replicas is the number of replicas/members of the hashring to add to the Thanos Receive StatefulSet. 1 Minimum: 1
Required: {}
tsdbConfig TSDBConfig TSDB configuration for the ingestor. Required: {}
objectStorageConfig ObjectStorageConfig ObjectStorageConfig is the secret that contains the object storage configuration for the hashring. Optional: {}
storageSize StorageSize StorageSize is the size of the storage to be used by the Thanos Receive StatefulSet. Pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
Required: {}
tenants string array Tenants is a list of tenants that should be matched by the hashring.
An empty list matches all tenants.
Optional: {}
tenantMatcherType string TenantMatcherType is the type of tenant matching to use. exact Enum: [exact glob]

IngesterSpec

IngesterSpec represents the configuration for the ingestor

Appears in:

Field Description Default Validation
defaultObjectStorageConfig ObjectStorageConfig DefaultObjectStorageConfig is the secret that contains the object storage configuration for the ingest components.
Can be overridden by the ObjectStorageConfig in the IngesterHashringSpec per hashring.
Required: {}
hashrings IngesterHashringSpec array Hashrings is a list of hashrings to route to. MaxItems: 100
Required: {}
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

ObjectStorageConfig

Underlying type: SecretKeySelector

ObjectStorageConfig is the secret that contains the object storage configuration. The secret needs to be in the same namespace as the ReceiveHashring object. See https://thanos.io/tip/thanos/storage.md/#supported-clients for relevant documentation.

Appears in:

QueryFrontendSpec

QueryFrontendSpec defines the desired state of ThanosQueryFrontend

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}
replicas integer 1 Minimum: 1
compressResponses boolean CompressResponses enables response compression true
queryLabelSelector LabelSelector By default, the operator will add the first discoverable Query API to the
Query Frontend, if they have query labels. You can optionally choose to override default
Query selector labels, to select a subset of QueryAPIs to query.
{ matchLabels:map[operator.thanos.io/query-api:true] } Optional: {}
logQueriesLongerThan Duration LogQueriesLongerThan sets the duration threshold for logging long queries Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
queryRangeResponseCacheConfig CacheConfig QueryRangeResponseCacheConfig holds the configuration for the query range response cache Optional: {}
queryRangeSplitInterval Duration QueryRangeSplitInterval sets the split interval for query range Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
labelsSplitInterval Duration LabelsSplitInterval sets the split interval for labels Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
queryRangeMaxRetries integer QueryRangeMaxRetries sets the maximum number of retries for query range requests 5 Minimum: 0
labelsMaxRetries integer LabelsMaxRetries sets the maximum number of retries for label requests 5 Minimum: 0
labelsDefaultTimeRange Duration LabelsDefaultTimeRange sets the default time range for label queries Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

RetentionResolutionConfig

RetentionResolutionConfig defines the retention configuration for the compact component.

Appears in:

Field Description Default Validation
raw Duration Raw is the retention configuration for the raw samples.
This configures how long to retain raw samples in the storage.
The default value is 0d, which means samples are retained indefinitely.
0d Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
Required: {}
fiveMinutes Duration FiveMinutes is the retention configuration for samples of resolution 1 (5 minutes).
This configures how long to retain samples of resolution 1 (5 minutes) in storage.
The default value is 0d, which means these samples are retained indefinitely.
0d Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
Required: {}
oneHour Duration OneHour is the retention configuration for samples of resolution 2 (1 hour).
This configures how long to retain samples of resolution 2 (1 hour) in storage.
The default value is 0d, which means these samples are retained indefinitely.
0d Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
Required: {}

RouterSpec

RouterSpec represents the configuration for the router

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}
labels object (keys:string, values:string) Labels are additional labels to add to the router components.
Labels set here will overwrite the labels inherited from the ThanosReceive object if they have the same key.
Optional: {}
replicas integer Replicas is the number of router replicas. 1 Minimum: 1
Required: {}
replicationFactor integer ReplicationFactor is the replication factor for the router. 1 Enum: [1 3 5]
Required: {}
externalLabels ExternalLabels ExternalLabels set and forwarded by the router to the ingesters. { receive:true } MinProperties: 1
Required: {}
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

ServiceMonitorConfig

ServiceMonitorConfig is the configuration for the ServiceMonitor.

Appears in:

Field Description Default Validation
enable boolean Enable the management of ServiceMonitors for the Thanos component.
If not specified, the operator will default to true.
Optional: {}
labels object (keys:string, values:string) Labels to add to the ServiceMonitor. Optional: {}

ShardingConfig

ShardingConfig defines the sharding configuration for the compact component.

Appears in:

Field Description Default Validation
externalLabelSharding ExternalLabelShardingConfig array ExternalLabelSharding is the sharding configuration based on explicit external labels and their values. Optional: {}

ShardingStrategy

ShardingStrategy controls the automatic deployment of multiple store gateways sharded by block ID by hashmoding __block_id label value.

Appears in:

Field Description Default Validation
type ShardingStrategyType Type here is the type of sharding strategy. block Enum: [block]
Required: {}
shards integer Shards is the number of shards to split the data into. 1 Minimum: 1
shardReplicas integer ReplicaPerShard is the number of replicas per shard. 1 Minimum: 1

ShardingStrategyType

Underlying type: string

Appears in:

Field Description
block Block is the block modulo sharding strategy for sharding Stores according to block ids.

StorageSize

Underlying type: string

StorageSize is the size of the PV storage to be used by a Thanos component.

Validation:

  • Pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$

Appears in:

TSDBConfig

TSDBConfig specifies configuration for any particular Thanos TSDB. NOTE: Some of these options will not exist for all components, in which case, even if specified can be ignored.

Appears in:

Field Description Default Validation
retention Duration Retention is the duration for which a particular TSDB will retain data. 2h Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
Required: {}

ThanosCompact

ThanosCompact is the Schema for the thanoscompacts API

Appears in:

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosCompact
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ThanosCompactSpec
status ThanosCompactStatus

ThanosCompactList

ThanosCompactList contains a list of ThanosCompact

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosCompactList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ThanosCompact array

ThanosCompactSpec

ThanosCompactSpec defines the desired state of ThanosCompact

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}
labels object (keys:string, values:string) Labels are additional labels to add to the Compact component. Optional: {}
objectStorageConfig ObjectStorageConfig ObjectStorageConfig is the object storage configuration for the compact component. Required: {}
storageSize StorageSize StorageSize is the size of the storage to be used by the Thanos Compact StatefulSets. Pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
Required: {}
retentionConfig RetentionResolutionConfig RetentionConfig is the retention configuration for the compact component. Required: {}
blockConfig BlockConfig BlockConfig defines settings for block handling. Optional: {}
shardingConfig ShardingConfig ShardingConfig is the sharding configuration for the compact component. Optional: {}
compactConfig CompactConfig CompactConfig is the configuration for the compact component. Optional: {}
downsamplingConfig DownsamplingConfig DownsamplingConfig is the downsampling configuration for the compact component. Optional: {}
minTime Duration Minimum time range to serve. Any data earlier than this lower time range will be ignored.
If not set, will be set as zero value, so most recent blocks will be served.
Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
maxTime Duration Maximum time range to serve. Any data after this upper time range will be ignored.
If not set, will be set as max value, so all blocks will be served.
Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
paused boolean When a resource is paused, no actions except for deletion
will be performed on the underlying objects.
Optional: {}
featureGates FeatureGates FeatureGates are feature gates for the compact component. { serviceMonitor:map[enable:true] } Optional: {}
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

ThanosCompactStatus

ThanosCompactStatus defines the observed state of ThanosCompact

Appears in:

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of the state of the hashring.

ThanosQuery

ThanosQuery is the Schema for the thanosqueries API

Appears in:

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosQuery
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ThanosQuerySpec
status ThanosQueryStatus

ThanosQueryList

ThanosQueryList contains a list of ThanosQuery

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosQueryList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ThanosQuery array

ThanosQuerySpec

ThanosQuerySpec defines the desired state of ThanosQuery

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}
replicas integer Replicas is the number of querier replicas. 1 Minimum: 1
Required: {}
labels object (keys:string, values:string) Labels are additional labels to add to the Querier component. Optional: {}
replicaLabels string array ReplicaLabels are labels to treat as a replica indicator along which data is deduplicated.
Data can still be queried without deduplication using 'dedup=false' parameter.
Data includes time series, recording rules, and alerting rules.
Refer to https://thanos.io/tip/components/query.md/#deduplication-replica-labels
[replica] Optional: {}
customStoreLabelSelector LabelSelector StoreLabelSelector enables adding additional labels to build a custom label selector
for discoverable StoreAPIs. Values provided here will be appended to the default which are
{"operator.thanos.io/store-api": "true", "app.kubernetes.io/part-of": "thanos"}.
Optional: {}
queryFrontend QueryFrontendSpec QueryFrontend is the configuration for the Query Frontend
If you specify this, the operator will create a Query Frontend in front of your query deployment.
Optional: {}
paused boolean When a resource is paused, no actions except for deletion
will be performed on the underlying objects.
Optional: {}
featureGates FeatureGates FeatureGates are feature gates for the compact component. { serviceMonitor:map[enable:true] } Optional: {}
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

ThanosQueryStatus

ThanosQueryStatus defines the observed state of ThanosQuery

Appears in:

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of the state of the Querier.

ThanosReceive

ThanosReceive is the Schema for the thanosreceives API

Appears in:

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosReceive
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ThanosReceiveSpec Spec defines the desired state of ThanosReceive
status ThanosReceiveStatus Status defines the observed state of ThanosReceive

ThanosReceiveList

ThanosReceiveList contains a list of ThanosReceive

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosReceiveList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ThanosReceive array

ThanosReceiveSpec

ThanosReceiveSpec defines the desired state of ThanosReceive

Appears in:

Field Description Default Validation
routerSpec RouterSpec Router is the configuration for the router. Required: {}
ingesterSpec IngesterSpec Ingester is the configuration for the ingestor. Required: {}
paused boolean When a resource is paused, no actions except for deletion
will be performed on the underlying objects.
Optional: {}
featureGates FeatureGates FeatureGates are feature gates for the compact component. { serviceMonitor:map[enable:true] } Optional: {}

ThanosReceiveStatus

ThanosReceiveStatus defines the observed state of ThanosReceive

Appears in:

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of the state of the hashring.

ThanosRuler

ThanosRuler is the Schema for the thanosrulers API

Appears in:

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosRuler
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ThanosRulerSpec
status ThanosRulerStatus

ThanosRulerList

ThanosRulerList contains a list of ThanosRuler

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosRulerList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ThanosRuler array

ThanosRulerSpec

ThanosRulerSpec defines the desired state of ThanosRuler

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}
labels object (keys:string, values:string) Labels are additional labels to add to the Ruler component. Optional: {}
replicas integer Replicas is the number of Ruler replicas. 1 Minimum: 1
Required: {}
queryLabelSelector LabelSelector QueryLabelSelector is the label selector to discover Queriers.
It enables adding additional labels to build a custom label selector for discoverable QueryAPIs.
Values provided here will be appended to the default which are:
{"operator.thanos.io/query-api": "true", "app.kubernetes.io/part-of": "thanos"}.
Optional: {}
defaultObjectStorageConfig ObjectStorageConfig ObjectStorageConfig is the secret that contains the object storage configuration for Ruler to upload blocks. Required: {}
ruleConfigSelector LabelSelector RuleConfigSelector is the label selector to discover ConfigMaps with rule files.
It enables adding additional labels to build a custom label selector for discoverable rule files.
Values provided here will be appended to the default which is:
{"operator.thanos.io/rule-file": "true"}.
alertmanagerURL string AlertmanagerURL is the URL of the Alertmanager to which the Ruler will send alerts.
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.
Pattern: ^((dns\+)?(dnssrv\+)?(http|https):\/\/)[a-zA-Z0-9\-\.]+\.[a-zA-Z]\{2,\}(:[0-9]\{1,5\})?$
Required: {}
externalLabels ExternalLabels ExternalLabels set on Ruler TSDB, for query time deduplication. { rule_replica:$(NAME) } MinProperties: 1
Required: {}
evaluationInterval Duration EvaluationInterval is the default interval at which rules are evaluated. 1m Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
alertLabelDrop string array Labels to drop before Ruler sends alerts to alertmanager. Optional: {}
retention Duration Retention is the duration for which the Thanos Rule StatefulSet will retain data. 2h Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
Required: {}
storageSize string StorageSize is the size of the storage to be used by the Thanos Ruler StatefulSet. Pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
Required: {}
paused boolean When a resource is paused, no actions except for deletion
will be performed on the underlying objects.
Optional: {}
featureGates FeatureGates FeatureGates are feature gates for the rule component. { prometheusRuleEnabled:true serviceMonitor:map[enable:true] } Optional: {}
prometheusRuleSelector LabelSelector PrometheusRuleSelector is the label selector to discover PrometheusRule CRDs.
Once detected, these rules are made into configmaps and added to the Ruler.
{ matchLabels:map[operator.thanos.io/prometheus-rule:true] } Required: {}
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

ThanosRulerStatus

ThanosRulerStatus defines the observed state of ThanosRuler

Appears in:

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of the state of the Ruler.

ThanosStore

ThanosStore is the Schema for the thanosstores API

Appears in:

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosStore
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ThanosStoreSpec
status ThanosStoreStatus

ThanosStoreList

ThanosStoreList contains a list of ThanosStore

Field Description Default Validation
apiVersion string monitoring.thanos.io/v1alpha1
kind string ThanosStoreList
kind string Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion string APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items ThanosStore array

ThanosStoreSpec

ThanosStoreSpec defines the desired state of ThanosStore

Appears in:

Field Description Default Validation
version string Version of Thanos to be deployed.
If not specified, the operator assumes the latest upstream version of
Thanos available at the time when the version of the operator was released.
Optional: {}
image string Container image to use for the Thanos components. Optional: {}
imagePullPolicy PullPolicy Image pull policy for the Thanos containers.
See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.
IfNotPresent Enum: [Always Never IfNotPresent]
Optional: {}
imagePullSecrets LocalObjectReference array An optional list of references to Secrets in the same namespace
to use for pulling images from registries.
See http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod
Optional: {}
resourceRequirements ResourceRequirements ResourceRequirements for the Thanos component container. Optional: {}
logLevel string Log level for Thanos. Enum: [debug info warn error]
Optional: {}
logFormat string Log format for Thanos. logfmt Enum: [logfmt json]
Optional: {}
labels object (keys:string, values:string) Labels are additional labels to add to the Store component. Optional: {}
objectStorageConfig ObjectStorageConfig ObjectStorageConfig is the secret that contains the object storage configuration for Store Gateways. Required: {}
storageSize StorageSize StorageSize is the size of the storage to be used by the Thanos Store StatefulSets. Pattern: ^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
Required: {}
ignoreDeletionMarksDelay Duration 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.
24h Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
indexCacheConfig CacheConfig IndexCacheConfig allows configuration of the index cache.
See format details: https://thanos.io/tip/components/store.md/#index-cache
Optional: {}
cachingBucketConfig CacheConfig CachingBucketConfig allows configuration of the caching bucket.
See format details: https://thanos.io/tip/components/store.md/#caching-bucket
Optional: {}
shardingStrategy ShardingStrategy ShardingStrategy defines the sharding strategy for the Store Gateways across object storage blocks. Required: {}
minTime Duration Minimum time range to serve. Any data earlier than this lower time range will be ignored.
If not set, will be set as zero value, so most recent blocks will be served.
Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
maxTime Duration Maximum time range to serve. Any data after this upper time range will be ignored.
If not set, will be set as max value, so all blocks will be served.
Optional: {}
Pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
paused boolean When a resource is paused, no actions except for deletion
will be performed on the underlying objects.
Optional: {}
featureGates FeatureGates FeatureGates are feature gates for the compact component. { serviceMonitor:map[enable:true] } Optional: {}
additionalArgs string array Additional arguments to pass to the Thanos components. Optional: {}
additionalContainers Container array Additional containers to add to the Thanos components. Optional: {}
additionalVolumes Volume array Additional volumes to add to the Thanos components. Optional: {}
additionalVolumeMounts VolumeMount array Additional volume mounts to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalPorts ContainerPort array Additional ports to expose on the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalEnv EnvVar array Additional environment variables to add to the Thanos component container in a Deployment or StatefulSet
controlled by the operator.
Optional: {}
additionalServicePorts ServicePort array AdditionalServicePorts are additional ports to expose on the Service for the Thanos component. Optional: {}

ThanosStoreStatus

ThanosStoreStatus defines the observed state of ThanosStore

Appears in:

Field Description Default Validation
conditions Condition array Conditions represent the latest available observations of the state of the Querier.