Parameters
The parent key for all of the following parameters is thanos
.
createNamespace
type |
bool |
default |
|
If this parameter is set to `false, the component won’t create the specified namespace. This is required for all but one instance if multiple component instances are deployed into the same namespace.
cluster_kubernetes_version
type |
string |
default |
|
The Kubernetes version of the cluster on which the component is deployed.
jsonnetfile_parameters
type |
dict |
Parameters for rendering the jsonnetfile.jsonnet
.
We pass parameter cluster_kubernetes_version
and cluster fact distribution
to Jsonnet to enable smart dependency version selection for the kube-thanos
and thanos-mixin
Jsonnet libraries.
This is necessary because we need to ensure that this component and other components (for example rancher-monitoring
and openshift4-monitoring
) use the same kube-thanos
and thanos-mixin
library versions.
Otherwise we get random changes in the cluster catalog at best and incompatible library versions at worst depending on which dependency version wins when jsonnet-bundler
fetches the Jsonnet libraries.
jsonnetfile_parameters.thanos_mixin_version
type |
string |
default |
|
This parameter is used as the library version for thanos-mixin
over the autodetected version based on the cluster’s Kubernetes version and distribution.
Only set this parameter if you really need a specific thanos-mixin
version for this component and have read the parameter description for jsonnetfile_parameters
carefully.
jsonnetfile_parameters.kube_thanos_version
type |
string |
default |
|
This parameter is used as the library version for kube-thanos
over the autodetected version based on the cluster’s Kubernetes version and distribution.
Only set this parameter if you really need a specific kube-thanos
version for this component and have read the parameter description for jsonnetfile_parameters
carefully.
dashboards.enabled
type |
bool |
default |
|
If the Grafana dashboards should be rendered in a ConfigMap. This will increase the compile time drastically when enabled.
dashboards.namespace
type |
string |
default |
|
The namespace in which to create the Grafana dashboard ConfigMaps.
commonConfig
type |
dict |
Common configuration for all Thanos components. See all.jsonnet for available options.
query
type |
dict |
Configuration for the Thanos Query component. See all.jsonnet for available options.
Especially the stores
list is important as it needs to be populated by the Thanos store API endpoints this Query should use.
query_alerts.enabled
type |
dict |
default |
|
Configuration for the Thanos Query alerts.
Available alerts can be found here.
From Kubernetes version v1.22
(OCP v4.9
) alerts include upstream runbooks.
"": true
allows enabling all alerts.
AlertName: true
enables a single alert.
AlertName: false
allows disabling a single alert if "": true
is set.
query_alerts.custom
type |
dict |
example |
|
Allows setting custom rules.
queryRbacProxy
type |
dict |
Configuration for the RBAC proxy sidecar that authenticates requests to Thanos Query when exposed. Users are authenticated with OAuth and authorized using Kubernetes RBAC. It’s recommended to deploy the proxy together with an Ingress.
Only OpenShift is currently supported. |
The proxy redirects browser requests without authentication headers to OpenShift OAuth.
Once authenticated, the proxy does authorization by issuing a SubjectAccessReview
on behalf of the requesting user against the service named queryRbacProxy.serviceName
.
objectStorageConfig
type |
dict |
Configuration for the Thanos Object Storage. See Object Storage & Data Format for available options. This configuration will be stored in a K8s secret.
store
type |
dict |
Configuration for the Thanos Store component. See all.jsonnet for available options.
store_alerts.enabled
type |
dict |
default |
|
Configuration for the Thanos Store alerts.
Available alerts can be found here.
From Kubernetes version v1.22
(OCP v4.9
) alerts include upstream runbooks.
"": true
allows enabling all alerts.
AlertName: true
enables a single alert.
AlertName: false
allows disabling a single alert if "": true
is set.
store_alerts.custom
type |
dict |
example |
|
Allows setting custom rules.
compactor
type |
dict |
Configuration for the Thanos Compactor component. See all.jsonnet for available options.
compactor_alerts.enabled
type |
dict |
default |
|
Configuration for the Thanos Compactor alerts.
Available alerts can be found here.
From Kubernetes version v1.22
(OCP v4.9
) alerts include upstream runbooks.
"": true
allows enabling all alerts.
AlertName: true
enables a single alert.
AlertName: false
allows disabling a single alert if "": true
is set.
compactor_alerts.custom
type |
dict |
example |
|
Allows setting custom rules.
bucket
type |
dict |
Configuration for the Thanos Bucket Web component. See all.jsonnet for available options.
receive
type |
dict |
Configuration for the Thanos Receiver component. See all.jsonnet for available options.
receive_alerts.enabled
type |
dict |
default |
|
Configuration for the Thanos Receiver alerts.
Available alerts can be found here.
From Kubernetes version v1.22
(OCP v4.9
) alerts include upstream runbooks.
"": true
allows enabling all alerts.
AlertName: true
enables a single alert.
AlertName: false
allows disabling a single alert if "": true
is set.
receive_alerts.custom
type |
dict |
example |
|
Allows setting custom rules.
Example
parameters:
thanos:
namespace: example-namespace
commonConfig:
version: v0.17.2
query:
replicas: 3
store:
enabled: true
bucket:
enabled: true
objectStorageConfig:
type: S3
config:
bucket: thanos-metrics
endpoint: s3.example.com
access_key: ?{vaultkv:${cluster:tenant}/${cluster:name}/thanos/access_key}
secret_key: ?{vaultkv:${cluster:tenant}/${cluster:name}/thanos/secret_key}