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}