prometheus operator v0.71.2

ThanosRuler.spec.volumes[].downwardAPI.items.resourceFieldRef.spec

Specification of the desired behavior of the ThanosRuler cluster. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

50 fields
ThanosRuler.spec.volumes[].downwardAPI.items.resourceFieldRef.spec fields and descriptions
Field / TypeDescription
object[]

AdditionalArgs allows setting additional arguments for the ThanosRuler container. It is intended for e.g. activating hidden flags which are not supported by the dedicated configuration options yet. The arguments are passed as-is to the ThanosRuler container which may cause issues if they are invalid or not supported by the given ThanosRuler version. In case of an argument conflict (e.g. an argument which is already set by the operator itself) or when providing an invalid argument the reconciliation will fail and an error will be logged.

object

If specified, the pod's scheduling constraints.

string[]

AlertDropLabels configure the label names which should be dropped in ThanosRuler alerts. The replica label `thanos_ruler_replica` will always be dropped in alerts.

alertQueryUrl
string

The external Query URL the Thanos Ruler will set in the 'Source' field of all alerts. Maps to the '--alert.query-url' CLI arg.

alertRelabelConfigFile
string

AlertRelabelConfigFile specifies the path of the alert relabeling configuration file. When used alongside with AlertRelabelConfigs, alertRelabelConfigFile takes precedence.

object

AlertRelabelConfigs configures alert relabeling in ThanosRuler. Alert relabel configurations must have the form as specified in the official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs Alternative to AlertRelabelConfigFile, and lower order priority.

  • x-kubernetes-map-type: "atomic"
object

Define configuration for connecting to alertmanager. Only available with thanos v0.10.0 and higher. Maps to the `alertmanagers.config` arg.

  • x-kubernetes-map-type: "atomic"
string[]

Define URLs to send alerts to Alertmanager. For Thanos v0.10.0 and higher, AlertManagersConfig should be used instead. Note: this field will be ignored if AlertManagersConfig is specified. Maps to the `alertmanagers.url` arg.

object[]

Containers allows injecting additional containers or modifying operator generated containers. This can be used to allow adding an authentication proxy to a ThanosRuler pod or to change the behavior of an operator generated container. Containers described here modify an operator generated container if they share the same name and modifications are done via a strategic merge patch. The current container names are: `thanos-ruler` and `config-reloader`. Overriding containers is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice.

enforcedNamespaceLabel
string

EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created. The label value will always be the namespace of the object that is being created.

evaluationInterval
string

Interval between consecutive evaluations.

  • default: "15s"
  • pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
object[]

List of references to PrometheusRule objects to be excluded from enforcing a namespace label of origin. Applies only if enforcedNamespaceLabel set to true.

externalPrefix
string

The external URL the Thanos Ruler instances will be available under. This is necessary to generate correct URLs. This is necessary if Thanos Ruler is not served from root of a DNS name.

object

GRPCServerTLSConfig configures the gRPC server from which Thanos Querier reads recorded rule data. Note: Currently only the CAFile, CertFile, and KeyFile fields are supported. Maps to the '--grpc-server-tls-*' CLI args.

object[]

Pods' hostAliases configuration

  • x-kubernetes-list-map-keys: ["ip"]
  • x-kubernetes-list-type: "map"
image
string

Thanos container image URL.

imagePullPolicy
string

Image pull policy for the 'thanos', 'init-config-reloader' and 'config-reloader' containers. See https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy for more details.

  • enum: ["","Always","Never","IfNotPresent"]
object[]

An optional list of references to secrets in the same namespace to use for pulling thanos images from registries see http://kubernetes.io/docs/user-guide/images#specifying-imagepullsecrets-on-a-pod

object[]

InitContainers allows adding initContainers to the pod definition. Those can be used to e.g. fetch secrets for injection into the ThanosRuler configuration from external sources. Any errors during the execution of an initContainer will lead to a restart of the Pod. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ Using initContainers for any use case other then secret fetching is entirely outside the scope of what the maintainers will support and by doing so, you accept that this behaviour may break at any time without notice.

map[string]string

Labels configure the external label pairs to ThanosRuler. A default replica label `thanos_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.

listenLocal
boolean

ListenLocal makes the Thanos ruler listen on loopback, so that it does not bind against the Pod IP.

logFormat
string

Log format for ThanosRuler to be configured with.

  • enum: ["","logfmt","json"]
logLevel
string

Log level for ThanosRuler to be configured with.

  • enum: ["","debug","info","warn","error"]
minReadySeconds
integer

Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) This is an alpha field from kubernetes 1.22 until 1.24 which requires enabling the StatefulSetMinReadySeconds feature gate.

  • format: int32
map[string]string

Define which Nodes the Pods are scheduled on.

object

ObjectStorageConfig configures object storage in Thanos. Alternative to ObjectStorageConfigFile, and lower order priority.

  • x-kubernetes-map-type: "atomic"
objectStorageConfigFile
string

ObjectStorageConfigFile specifies the path of the object storage configuration file. When used alongside with ObjectStorageConfig, ObjectStorageConfigFile takes precedence.

paused
boolean

When a ThanosRuler deployment is paused, no actions except for deletion will be performed on the underlying objects.

object

PodMetadata configures labels and annotations which are propagated to the ThanosRuler pods. The following items are reserved and cannot be overridden: * "app.kubernetes.io/name" label, set to "thanos-ruler". * "app.kubernetes.io/managed-by" label, set to "prometheus-operator". * "app.kubernetes.io/instance" label, set to the name of the ThanosRuler instance. * "thanos-ruler" label, set to the name of the ThanosRuler instance. * "kubectl.kubernetes.io/default-container" annotation, set to "thanos-ruler".

portName
string

Port name used for the pods and governing service. Defaults to `web`.

  • default: "web"
priorityClassName
string

Priority class assigned to the Pods

object[]

PrometheusRulesExcludedFromEnforce - list of Prometheus rules to be excluded from enforcing of adding namespace labels. Works only if enforcedNamespaceLabel set to true. Make sure both ruleNamespace and ruleName are set for each pair Deprecated: use excludedFromEnforcement instead.

object

Define configuration for connecting to thanos query instances. If this is defined, the QueryEndpoints field will be ignored. Maps to the `query.config` CLI argument. Only available with thanos v0.11.0 and higher.

  • x-kubernetes-map-type: "atomic"
string[]

QueryEndpoints defines Thanos querier endpoints from which to query metrics. Maps to the --query flag of thanos ruler.

replicas
integer

Number of thanos ruler instances to deploy.

  • format: int32
object

Resources defines the resource requirements for single Pods. If not provided, no requests/limits will be set

retention
string

Time duration ThanosRuler shall retain data for. Default is '24h', and must match the regular expression `[0-9]+(ms|s|m|h|d|w|y)` (milliseconds seconds minutes hours days weeks years).

  • default: "24h"
  • pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
routePrefix
string

The route prefix ThanosRuler registers HTTP handlers for. This allows thanos UI to be served on a sub-path.

object

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

  • x-kubernetes-map-type: "atomic"
object

A label selector to select which PrometheusRules to mount for alerting and recording.

  • x-kubernetes-map-type: "atomic"
object

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

serviceAccountName
string

ServiceAccountName is the name of the ServiceAccount to use to run the Thanos Ruler Pods.

object

Storage spec to specify how storage shall be used.

object[]

If specified, the pod's tolerations.

object[]

If specified, the pod's topology spread constraints.

object

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

  • x-kubernetes-map-type: "atomic"
tracingConfigFile
string

TracingConfig specifies the path of the tracing configuration file. When used alongside with TracingConfig, TracingConfigFile takes precedence.

version
string

Version of Thanos to be deployed.

object[]

VolumeMounts allows configuration of additional VolumeMounts on the output StatefulSet definition. VolumeMounts specified will be appended to other VolumeMounts in the ruler container, that are generated as a result of StorageSpec objects.

object[]

Volumes allows configuration of additional volumes on the output StatefulSet definition. Volumes specified will be appended to other volumes that are generated as a result of StorageSpec objects.