1# This file has been modified by Chainguard, Inc.
3# Copyright Chainguard, Inc. All Rights Reserved.
4# Chainguard, Inc. modifications are subject to the license
5# available at: https://www.chainguard.dev/legal/software-license-agreement
7# Copyright Broadcom, Inc. All Rights Reserved.
8# SPDX-License-Identifier: APACHE-2.0
10## @section Global parameters
11## Global Docker image parameters
12## Please, note that this will override the image parameters, including dependencies, configured to use the global value
13## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
15## @param global.imageRegistry Global Docker image registry
16## @param global.imagePullSecrets Global Docker registry secret names as an array
17## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
23 ## - myRegistryKeySecretName
26 defaultStorageClass: ""
27 ## Security parameters
30 ## @param global.security.allowInsecureImages Allows skipping image verification
31 allowInsecureImages: false
32 ## Compatibility adaptations for Kubernetes platforms
35 ## Compatibility adaptations for Openshift
38 ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
40 adaptSecurityContext: auto
42## @section Common parameters
44## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
47## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
50## @param fullnameOverride String to fully override common.names.fullname template
53## @param commonLabels Add labels to all the deployed resources
56## @param commonAnnotations Add annotations to all the deployed resources
59## @param clusterDomain Kubernetes Cluster Domain
61clusterDomain: cluster.local
62## @param extraDeploy Array of extra objects to deploy with the release
65## @section Thanos common parameters
67## Iamguarded Thanos image
68## @param image.registry [default: REGISTRY_NAME] Thanos image registry
69## @param image.repository [default: REPOSITORY_NAME/thanos] Thanos image repository
70## @skip image.tag Thanos image tag (immutable tags are recommended)
71## @param image.digest Thanos image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
72## @param image.pullPolicy Thanos image pull policy
73## @param image.pullSecrets Specify docker-registry secret names as an array
77 repository: chainguard-private/thanos-iamguarded
80 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
82 pullPolicy: IfNotPresent
83 ## Optionally specify an array of imagePullSecrets.
84 ## Secrets must be manually created in the namespace.
85 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
88 ## - myRegistryKeySecretName
91## @param objstoreConfig The [objstore configuration](https://thanos.io/tip/thanos/storage.md/)
92## Specify content for objstore.yml
95## @param indexCacheConfig The [index cache configuration](https://thanos.io/tip/components/store.md/)
96## Specify content for index-cache.yml
99## @param bucketCacheConfig The [bucket cache configuration](https://thanos.io/tip/components/store.md/)
100## Specify content for bucket-cache.yml
103## @param existingObjstoreSecret Secret with Objstore Configuration
104## Note: This will override objstoreConfig
106existingObjstoreSecret: ""
107## @param existingObjstoreSecretItems Optional item list for specifying a custom Secret key. If so, path should be objstore.yml
109existingObjstoreSecretItems: []
110## @param httpConfig The [https and basic auth configuration](https://thanos.io/tip/operating/https.md/)
111## If provided, overrides settings under https.* and auth.*
113## @param existingHttpConfigSecret Secret containing the HTTPS and Basic auth configuration
115existingHttpConfigSecret: ""
116## HTTPS configuration (Experimental)
117## Ref: https://thanos.io/tip/operating/https.md/
120 ## @param https.enabled Set to true to enable HTTPS. Requires a secret containing the certificate and key.
123 ## @param https.autoGenerated Create self-signed TLS certificates.
126 ## @param https.existingSecret Existing secret containing your own server key and certificate
129 ## @param https.certFilename
131 certFilename: "tls.crt"
132 ## @param https.keyFilename
134 keyFilename: "tls.key"
135 ## @param https.caFilename
138 ## @param https.key TLS Key for Thanos HTTPS - ignored if existingSecret is provided
139 ## @param https.cert TLS Certificate for Thanos HTTPS - ignored if existingSecret is provided
140 ## @param https.ca (Optional, used for client) CA Certificate for Thanos HTTPS - ignored if existingSecret is provided
145 ## @param https.clientAuthType Server policy for client authentication using certificates. Maps to ClientAuth Policies.
146 ## For more detail on clientAuth options: https://golang.org/pkg/crypto/tls/#ClientAuthType
148 ## @param https.extraTlsServerConfig Extra tls_server_config options
149 ## For more detail on possible options: https://thanos.io/tip/operating/https.md
150 extraTlsServerConfig: {}
151## Thanos Basic authentication (Experimental)
154 ## @param auth.basicAuthUsers Object containing <user>:<passwords> key-value pairs for each user that will have access via basic authentication
155 ## Note: Passwords will be later encrypted using bcrypt
157## @section Thanos Query parameters
159 ## @param query.enabled Set to true to enable Thanos Query component
162 ## @param query.logLevel Thanos Query log level
165 ## @param query.logFormat Thanos Query log format
168 ## @param query.replicaLabel Replica indicator(s) along which data is de-duplicated
170 replicaLabel: [replica]
171 ## Dynamically configure store APIs using DNS discovery
172 ## @param query.dnsDiscovery.enabled Enable store APIs discovery via DNS
173 ## @param query.dnsDiscovery.sidecarsService Sidecars service name to discover them using DNS discovery
174 ## @param query.dnsDiscovery.sidecarsNamespace Sidecars namespace to discover them using DNS discovery
179 sidecarsNamespace: ""
180 ## @param query.stores Statically configure store APIs to connect with Thanos Query
183 ## @param query.sdConfig Query Service Discovery Configuration
184 ## Specify content for servicediscovery.yml
187 ## @param query.existingSDConfigmap Name of existing ConfigMap with Ruler configuration
188 ## NOTE: This will override query.sdConfig
190 existingSDConfigmap: ""
191 ## @param query.extraEnvVars Extra environment variables for Thanos Query container
198 ## @param query.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Query nodes
201 ## @param query.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Query nodes
203 extraEnvVarsSecret: ""
204 ## @param query.extraFlags Extra Flags to passed to Thanos Query
207 ## @param query.command Override default container command (useful when using custom images)
210 ## @param query.args Override default container args (useful when using custom images)
213 ## @param query.replicaCount Number of Thanos Query replicas to deploy
216 ## @param query.revisionHistoryLimit The number of old history to retain to allow rollback
218 revisionHistoryLimit: 10
219 ## @param query.updateStrategy.type Update strategy type for Thanos Query replicas
223 ## @param query.containerPorts.http HTTP container port
224 ## @param query.containerPorts.grpc HTTP container port
229 ## K8s Pod Security Context for Thanos Query pods
230 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
231 ## @param query.podSecurityContext.enabled Enable security context for the Thanos Query pods
232 ## @param query.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
233 ## @param query.podSecurityContext.sysctls Set kernel settings using the sysctl interface
234 ## @param query.podSecurityContext.supplementalGroups Set filesystem extra groups
235 ## @param query.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Query pods
239 fsGroupChangePolicy: Always
241 supplementalGroups: []
243 ## K8s containers' Security Context for Thanos Query containers
244 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
245 ## @param query.containerSecurityContext.enabled Enabled containers' Security Context
246 ## @param query.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
247 ## @param query.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
248 ## @param query.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
249 ## @param query.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
250 ## @param query.containerSecurityContext.privileged Set container's Security Context privileged
251 ## @param query.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
252 ## @param query.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
253 ## @param query.containerSecurityContext.capabilities.drop List of capabilities to be dropped
254 ## @param query.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
256 containerSecurityContext:
263 readOnlyRootFilesystem: true
264 allowPrivilegeEscalation: false
268 type: "RuntimeDefault"
269 ## Thanos Query containers' resource requests and limits
270 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
271 ## @param query.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if query.resources is set (query.resources is recommended for production).
273 resourcesPreset: "nano"
274 ## @param query.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
285 ## Configure extra options for Thanos Query containers' liveness and readiness probes
286 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
287 ## @param query.livenessProbe.enabled Enable livenessProbe on Thanos Query containers
288 ## @param query.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
289 ## @param query.livenessProbe.periodSeconds Period seconds for livenessProbe
290 ## @param query.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
291 ## @param query.livenessProbe.failureThreshold Failure threshold for livenessProbe
292 ## @param query.livenessProbe.successThreshold Success threshold for livenessProbe
296 initialDelaySeconds: 30
301 ## @param query.readinessProbe.enabled Enable readinessProbe on Thanos Query containers
302 ## @param query.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
303 ## @param query.readinessProbe.periodSeconds Period seconds for readinessProbe
304 ## @param query.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
305 ## @param query.readinessProbe.failureThreshold Failure threshold for readinessProbe
306 ## @param query.readinessProbe.successThreshold Success threshold for readinessProbe
310 initialDelaySeconds: 30
315 ## @param query.startupProbe.enabled Enable startupProbe on Thanos Query containers
316 ## @param query.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
317 ## @param query.startupProbe.periodSeconds Period seconds for startupProbe
318 ## @param query.startupProbe.timeoutSeconds Timeout seconds for startupProbe
319 ## @param query.startupProbe.failureThreshold Failure threshold for startupProbe
320 ## @param query.startupProbe.successThreshold Success threshold for startupProbe
324 initialDelaySeconds: 5
329 ## @param query.customLivenessProbe Custom livenessProbe that overrides the default one
331 customLivenessProbe: {}
332 ## @param query.customReadinessProbe Custom readinessProbe that overrides the default one
334 customReadinessProbe: {}
335 ## @param query.customStartupProbe Custom startupProbe that overrides the default one
337 customStartupProbe: {}
338 ## @param query.initContainers Add additional init containers to the Thanos Query pods
339 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
342 ## - name: your-image-name
344 ## imagePullPolicy: Always
345 ## command: ['sh', '-c', 'echo "hello world"']
348 ## @param query.sidecars Extra containers running as sidecars to Thanos Query pods
351 ## - name: your-image-name
353 ## imagePullPolicy: Always
356 ## containerPort: 1234
359 ## @param query.extraVolumes Extra volumes to add to Thanos Query
362 ## @param query.extraVolumeMounts Extra volume mounts to add to the query container
364 extraVolumeMounts: []
365 ## @param query.podAffinityPreset Thanos Query pod affinity preset
366 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
368 podAffinityPreset: ""
369 ## @param query.podAntiAffinityPreset Thanos Query pod anti-affinity preset. Ignored if `query.affinity` is set. Allowed values: `soft` or `hard`
370 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
372 podAntiAffinityPreset: soft
373 ## @param query.podAntiAffinityPresetTopologyKey Thanos Query pod anti-affinity topologyKey. Ignored if `query.affinity` is set.
374 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
376 podAntiAffinityPresetTopologyKey: ""
377 ## Thanos Query node affinity preset
378 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
381 ## @param query.nodeAffinityPreset.type Thanos Query node affinity preset type. Ignored if `query.affinity` is set. Allowed values: `soft` or `hard`
384 ## @param query.nodeAffinityPreset.key Thanos Query node label key to match Ignored if `query.affinity` is set.
386 ## key: "kubernetes.io/e2e-az-name"
389 ## @param query.nodeAffinityPreset.values Thanos Query node label values to match. Ignored if `query.affinity` is set.
396 ## @param query.affinity Thanos Query affinity for pod assignment
397 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
398 ## Note: query.podAffinityPreset, query.podAntiAffinityPreset, and query.nodeAffinityPreset will be ignored when it's set
401 ## @param query.nodeSelector Thanos Query node labels for pod assignment
402 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
405 ## @param query.tolerations Thanos Query tolerations for pod assignment
406 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
409 ## @param query.podLabels Thanos Query pod labels
410 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
413 ## @param query.podAnnotations Annotations for Thanos Query pods
414 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
417 ## @param query.dnsConfig Deployment pod DNS config
418 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
424 ## - name: single-request-reopen
427 ## @param query.dnsPolicy Deployment pod DNS policy
428 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
430 ## dnsPolicy: ClusterFirstWithHostNet
433 ## @param query.hostAliases Deployment pod host aliases
434 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
437 ## @param query.lifecycleHooks for the Thanos Query container(s) to automate configuration before or after startup
440 ## @param query.priorityClassName Thanos Query priorityClassName
441 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
443 priorityClassName: ""
444 ## @param query.schedulerName Name of the k8s scheduler (other than default) for Thanos Query pods
445 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
448 ## @param query.topologySpreadConstraints Topology Spread Constraints for Thanos Query pods assignment spread across your cluster among failure-domains
449 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
451 topologySpreadConstraints: []
452 ## Thanos Query GRPC parameters
453 ## ref: https://github.com/thanos-io/thanos/blob/master/docs/components/query.md#flags
460 ## @param query.grpc.server.tls.enabled Enable TLS encryption in the GRPC server
461 ## @param query.grpc.server.tls.autoGenerated Create self-signed TLS certificates. Currently only supports PEM certificates
462 ## @param query.grpc.server.tls.cert TLS Certificate for GRPC server - ignored if existingSecret is provided
463 ## @param query.grpc.server.tls.key TLS Key for GRPC server - ignored if existingSecret is provided
464 ## @param query.grpc.server.tls.ca TLS CA to verify clients against - ignored if existingSecret is provided
465 ## @param query.grpc.server.tls.clientAuthEnabled Enable TLS client verification against provided CA
466 ## @param query.grpc.server.tls.existingSecret Existing secret containing your own TLS certificates
472 ## tls-cert: cert.pem
481 clientAuthEnabled: true
486 ## @param query.grpc.client.serverName Server name to verify the hostname on the returned GRPC certificates
490 ## @param query.grpc.client.tls.enabled Enable TLS encryption in the GRPC server
491 ## @param query.grpc.client.tls.autoGenerated Create self-signed TLS certificates. Currently only supports PEM certificates
492 ## @param query.grpc.client.tls.cert TLS Certificate for GRPC server - ignored if existingSecret is provided
493 ## @param query.grpc.client.tls.key TLS Key for GRPC server - ignored if existingSecret is provided
494 ## @param query.grpc.client.tls.ca TLS CA to verify clients against - ignored if existingSecret is provided
495 ## @param query.grpc.client.tls.existingSecret Existing secret containing your own TLS certificates
501 ## tls-cert: cert.pem
512 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
515 ## @param query.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
518 ## @param query.networkPolicy.allowExternal Don't require client label for connections
519 ## The Policy model to apply. When set to false, only pods with the correct
520 ## client label will have network access to the ports the application is listening
521 ## on. When true, the app will accept connections from any source
522 ## (with the correct destination port).
525 ## @param query.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
527 allowExternalEgress: true
528 ## @param query.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
538 ## - matchExpressions:
544 ## @param query.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
554 ## - matchExpressions:
561 ## @param query.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
562 ## @param query.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
564 ingressNSMatchLabels: {}
565 ingressNSPodMatchLabels: {}
566 ## Service parameters
569 ## @param query.service.type Kubernetes service type
572 ## @param query.service.ports.http Thanos Query service HTTP port
576 ## @param query.service.nodePorts.http Specify the Thanos Query HTTP nodePort value for the LoadBalancer and NodePort service types
577 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
581 ## @param query.service.clusterIP Thanos Query service clusterIP IP
586 ## @param query.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
587 ## Set the LoadBalancer service type to internal only
588 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
591 ## @param query.service.loadBalancerSourceRanges Address that are allowed when service is LoadBalancer
592 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
594 ## loadBalancerSourceRanges:
597 loadBalancerSourceRanges: []
598 ## @param query.service.externalTrafficPolicy Thanos Query service externalTrafficPolicy
599 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
601 externalTrafficPolicy: Cluster
602 ## @param query.service.labels Labels for Thanos Query service
605 ## @param query.service.annotations Annotations for Thanos Query service
608 ## @param query.service.extraPorts Extra ports to expose in the Thanos Query service
611 ## @param query.service.labelSelectorsOverride Selector for Thanos Query service
613 labelSelectorsOverride: {}
614 ## @param query.service.additionalHeadless Additional Headless service
616 additionalHeadless: false
617 ## Headless service properties
620 ## @param query.service.headless.annotations Annotations for the headless service.
623 ## @param query.service.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
626 ## @param query.service.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
629 ## Service GRPC parameters
632 ## @param query.serviceGrpc.type Kubernetes service type
635 ## @param query.serviceGrpc.ports.grpc Thanos Query service GRPC port
639 ## @param query.serviceGrpc.nodePorts.grpc Specify the Thanos Query GRPC nodePort value for the LoadBalancer and NodePort service types
640 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
644 ## @param query.serviceGrpc.clusterIP Thanos Query service clusterIP IP
649 ## @param query.serviceGrpc.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
650 ## Set the LoadBalancer service type to internal only
651 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
654 ## @param query.serviceGrpc.loadBalancerSourceRanges Address that are allowed when service is LoadBalancer
655 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
657 ## loadBalancerSourceRanges:
660 loadBalancerSourceRanges: []
661 ## @param query.serviceGrpc.externalTrafficPolicy Thanos Query service externalTrafficPolicy
662 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
664 externalTrafficPolicy: Cluster
665 ## @param query.serviceGrpc.labels Labels for Thanos Query service GRPC
668 ## @param query.serviceGrpc.annotations Annotations for Thanos Query service
671 ## @param query.serviceGrpc.extraPorts Extra ports to expose in the Thanos Query service
674 ## @param query.serviceGrpc.labelSelectorsOverride Selector for Thanos Query service
676 labelSelectorsOverride: {}
677 ## @param query.serviceGrpc.additionalHeadless Additional Headless service
679 additionalHeadless: false
680 ## Headless service properties
683 ## @param query.serviceGrpc.headless.annotations Annotations for the headless service.
686 ## @param query.serviceGrpc.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
689 ## @param query.serviceGrpc.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
692 ## Autoscaling parameters
693 ## @param query.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the deployment
695 automountServiceAccountToken: true
696 ## ServiceAccount configuration
697 ## @param query.serviceAccount.create Specifies whether a ServiceAccount should be created
698 ## @param query.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
699 ## @param query.serviceAccount.annotations Annotations for Thanos Query Service Account
700 ## @param query.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
706 automountServiceAccountToken: false
707 ## RBAC configuration
710 ## @param query.rbac.create Create a ClusterRole and ClusterRoleBinding for the Thanos Query Service Account
713 ## @param query.rbac.rules Custom RBAC rules to set
725 ## @param query.pspEnabled Whether to create a PodSecurityPolicy for Thanos Query
726 ## WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later
729 ## Thanos Query Autoscaling configuration
730 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
731 ## @param query.autoscaling.enabled Enable autoscaling for Thanos Query
732 ## @param query.autoscaling.minReplicas Minimum number of Thanos Query replicas
733 ## @param query.autoscaling.maxReplicas Maximum number of Thanos Query replicas
734 ## @param query.autoscaling.targetCPU Target CPU utilization percentage
735 ## @param query.autoscaling.targetMemory Target Memory utilization percentage
736 ## @param query.autoscaling.targetPodMetrics [array] List of custom pod metrics name and averageValue to evaluate for scaling
737 ## @param query.autoscaling.behavior HPA Behavior
738 ## @param query.externalAutoscaler Specifies whether the Thanos Query deployment is scaled by an external autoscaler
741 ## - name: thanos_query_range_query_duration
743 ## - name: thanos_query_promql_duration_metric
754 externalAutoscaler: false
755 ## Thanos Query Pod Disruption Budget configuration
756 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
757 ## @param query.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Query
758 ## @param query.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
759 ## @param query.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
765 ## Configure the ingress resource that allows you to access Thanos Query
766 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
769 ## @param query.ingress.enabled Enable ingress controller resource
772 ## @param query.ingress.hostname Default host for the ingress resource
774 hostname: thanos.local
775 ## @param query.ingress.secretName Custom secretName for the ingress resource
776 ## If query.ingress.secretName is not set, the secret will be named as follows: query.ingress.hostname-tls
778 ## @param query.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
779 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
780 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
783 ## @param query.ingress.labels Additional label for the Ingress resource.
784 ## Use this parameter to set the required labels for your needs
787 ## dns-managed-by-external-dns: 'true'
790 ## @param query.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
791 ## For a full list of possible ingress annotations, please see
792 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
793 ## Use this parameter to set the required annotations for cert-manager, see
794 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
798 ## kubernetes.io/ingress.class: nginx
799 ## cert-manager.io/cluster-issuer: cluster-issuer-name
802 ## @param query.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
803 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
805 ## - name: thanos.local
807 ## pathType: ImplementationSpecific
810 ## @param query.ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
811 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
815 ## secretName: thanos.local-tls
818 ## @param query.ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
819 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
820 ## -----BEGIN RSA PRIVATE KEY-----
822 ## name should line up with a tlsSecret set further up
823 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
825 ## It is also possible to create and manage the certificates outside of this helm chart
826 ## Please see README.md for more information
828 ## - name: thanos.local-tls
833 ## @param query.ingress.extraRules Additional rules to be covered with this ingress record
834 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
837 ## - host: example.local
847 ## @param query.ingress.tls Enable TLS configuration for the hostname defined at `query.ingress.hostname` parameter
848 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.query.ingress.hostname }}`
850 ## - Use the `query.ingress.secrets` parameter to create this TLS secret
851 ## - Rely on cert-manager to create it by setting the corresponding annotations
852 ## - Rely on Helm to create self-signed certificates by setting `query.ingress.selfSigned=true`
855 ## @param query.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
858 ## @param query.ingress.apiVersion Force Ingress API version (automatically detected if not set)
861 ## @param query.ingress.path Ingress path
864 ## @param query.ingress.pathType Ingress path type
866 pathType: ImplementationSpecific
867 ## Create an ingress object for the GRPC service. This requires an HTTP/2
868 ## capable Ingress controller (eg. traefik using AWS NLB). Example annotations
869 ## - ingress.kubernetes.io/protocol: h2c
870 ## - service.beta.kubernetes.io/aws-load-balancer-type: nlb
871 ## - service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
872 ## For more information see https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/
873 ## and also the documentation for your ingress controller.
875 ## The options that are accepted are identical to the HTTP one listed above
878 ## @param query.ingress.grpc.enabled Enable ingress controller resource (GRPC)
881 ## @param query.ingress.grpc.hostname Default host for the ingress resource (GRPC)
883 hostname: thanos-grpc.local
884 ## @param query.ingress.grpc.secretName Custom secretName for the ingress resource (GRPC)
885 ## If query.ingress.grpc.secretName is not set, the secret will be named as follows: query.ingress.grpc.hostname-tls
887 ## @param query.ingress.grpc.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
888 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
889 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
892 ## @param query.ingress.grpc.annotations Additional annotations for the Ingress resource (GRPC). To enable certificate autogeneration, place here your cert-manager annotations.
893 ## For a full list of possible ingress annotations, please see
894 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
895 ## Use this parameter to set the required annotations for cert-manager, see
896 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
899 ## kubernetes.io/ingress.class: nginx
900 ## cert-manager.io/cluster-issuer: cluster-issuer-name
903 ## @param query.ingress.grpc.extraHosts The list of additional hostnames to be covered with this ingress record.
904 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
906 ## - name: thanos-grpc.local
910 ## @param query.ingress.grpc.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
911 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
914 ## - thanos-grpc.local
915 ## secretName: thanos-grpc.local-tls
918 ## @param query.ingress.grpc.secrets If you're providing your own certificates, please use this to add the certificates as secrets
919 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
920 ## -----BEGIN RSA PRIVATE KEY-----
922 ## name should line up with a tlsSecret set further up
923 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
925 ## It is also possible to create and manage the certificates outside of this helm chart
926 ## Please see README.md for more information
928 ## - name: thanos-grpc.local-tls
933 ## @param query.ingress.grpc.extraRules Additional rules to be covered with this ingress record
934 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
937 ## - host: example.local
947 ## @param query.ingress.grpc.tls Enable TLS configuration for the hostname defined at `query.ingress.grpc.hostname` parameter
948 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.query.ingress.grpc.hostname }}`
950 ## - Use the `query.ingress.grpc.secrets` parameter to create this TLS secret
951 ## - Rely on cert-manager to create it by setting the corresponding annotations
952 ## - Rely on Helm to create self-signed certificates by setting `query.ingress.grpc.selfSigned=true`
955 ## @param query.ingress.grpc.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
958 ## @param query.ingress.grpc.apiVersion Override API Version (automatically detected if not set)
961 ## @param query.ingress.grpc.path Ingress Path
964 ## @param query.ingress.grpc.pathType Ingress Path type
966 pathType: ImplementationSpecific
967## @section Thanos Query Frontend parameters
969 ## @param queryFrontend.enabled Enable/disable Thanos Query Frontend component
972 ## @param queryFrontend.logLevel Thanos Query Frontend log level
975 ## @param queryFrontend.logFormat Thanos Query Frontend log format
978 ## @param queryFrontend.config Thanos Query Frontend configuration
979 ## Specify content for config.yml
982 ## @param queryFrontend.existingConfigmap Name of existing ConfigMap with Thanos Query Frontend configuration
983 ## NOTE: This will override queryFrontend.config
985 existingConfigmap: ""
986 ## @param queryFrontend.extraEnvVars Extra environment variables for Thanos Query Frontend container
993 ## @param queryFrontend.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Query Frontend nodes
996 ## @param queryFrontend.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Query Frontend nodes
998 extraEnvVarsSecret: ""
999 ## @param queryFrontend.extraFlags Extra Flags to passed to Thanos Query Frontend
1002 ## @param queryFrontend.command Override default container command (useful when using custom images)
1005 ## @param queryFrontend.args Override default container args (useful when using custom images)
1008 ## @param queryFrontend.replicaCount Number of Thanos Query Frontend replicas to deploy
1011 ## @param queryFrontend.revisionHistoryLimit The number of old history to retain to allow rollback
1013 revisionHistoryLimit: 10
1014 ## @param queryFrontend.updateStrategy.type Update strategy type for Thanos Query Frontend replicas
1018 ## @param queryFrontend.containerPorts.http HTTP container port
1022 ## K8s Pod Security Context for Thanos Query Frontend pods
1023 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1024 ## @param queryFrontend.podSecurityContext.enabled Enable security context for the Thanos Query Frontend pods
1025 ## @param queryFrontend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1026 ## @param queryFrontend.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1027 ## @param queryFrontend.podSecurityContext.supplementalGroups Set filesystem extra groups
1028 ## @param queryFrontend.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Query Frontend pods
1032 fsGroupChangePolicy: Always
1034 supplementalGroups: []
1036 ## K8s containers' Security Context for Thanos Query Frontend containers
1037 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1038 ## @param queryFrontend.containerSecurityContext.enabled Enabled containers' Security Context
1039 ## @param queryFrontend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1040 ## @param queryFrontend.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1041 ## @param queryFrontend.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1042 ## @param queryFrontend.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1043 ## @param queryFrontend.containerSecurityContext.privileged Set container's Security Context privileged
1044 ## @param queryFrontend.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1045 ## @param queryFrontend.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1046 ## @param queryFrontend.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1047 ## @param queryFrontend.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1049 containerSecurityContext:
1056 readOnlyRootFilesystem: true
1057 allowPrivilegeEscalation: false
1061 type: "RuntimeDefault"
1062 ## Thanos Query Frontend containers' resource requests and limits
1063 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1064 ## @param queryFrontend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if queryFrontend.resources is set (queryFrontend.resources is recommended for production).
1066 resourcesPreset: "nano"
1067 ## @param queryFrontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1078 ## Configure extra options for Thanos Query Frontend containers' liveness and readiness probes
1079 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
1080 ## @param queryFrontend.livenessProbe.enabled Enable livenessProbe on Thanos Query Frontend containers
1081 ## @param queryFrontend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1082 ## @param queryFrontend.livenessProbe.periodSeconds Period seconds for livenessProbe
1083 ## @param queryFrontend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1084 ## @param queryFrontend.livenessProbe.failureThreshold Failure threshold for livenessProbe
1085 ## @param queryFrontend.livenessProbe.successThreshold Success threshold for livenessProbe
1089 initialDelaySeconds: 30
1094 ## @param queryFrontend.readinessProbe.enabled Enable readinessProbe on Thanos Query Frontend containers
1095 ## @param queryFrontend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1096 ## @param queryFrontend.readinessProbe.periodSeconds Period seconds for readinessProbe
1097 ## @param queryFrontend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1098 ## @param queryFrontend.readinessProbe.failureThreshold Failure threshold for readinessProbe
1099 ## @param queryFrontend.readinessProbe.successThreshold Success threshold for readinessProbe
1103 initialDelaySeconds: 30
1108 ## @param queryFrontend.startupProbe.enabled Enable startupProbe on Thanos Query Frontend containers
1109 ## @param queryFrontend.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1110 ## @param queryFrontend.startupProbe.periodSeconds Period seconds for startupProbe
1111 ## @param queryFrontend.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1112 ## @param queryFrontend.startupProbe.failureThreshold Failure threshold for startupProbe
1113 ## @param queryFrontend.startupProbe.successThreshold Success threshold for startupProbe
1117 initialDelaySeconds: 5
1120 failureThreshold: 15
1122 ## @param queryFrontend.customLivenessProbe Custom livenessProbe that overrides the default one
1124 customLivenessProbe: {}
1125 ## @param queryFrontend.customReadinessProbe Custom readinessProbe that overrides the default one
1127 customReadinessProbe: {}
1128 ## @param queryFrontend.customStartupProbe Custom startupProbe that overrides the default one
1130 customStartupProbe: {}
1131 ## @param queryFrontend.initContainers Add additional init containers to the Thanos Query Frontend pods
1132 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1135 ## - name: your-image-name
1136 ## image: your-image
1137 ## imagePullPolicy: Always
1138 ## command: ['sh', '-c', 'echo "hello world"']
1141 ## @param queryFrontend.sidecars Extra containers running as sidecars to Thanos Query Frontend pods
1144 ## - name: your-image-name
1145 ## image: your-image
1146 ## imagePullPolicy: Always
1149 ## containerPort: 1234
1152 ## @param queryFrontend.extraVolumes Extra volumes to add to Thanos Query Frontend
1155 ## @param queryFrontend.extraVolumeMounts Extra volume mounts to add to the query-frontend container
1157 extraVolumeMounts: []
1158 ## @param queryFrontend.podAffinityPreset Thanos Query Frontend pod affinity preset
1159 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1161 podAffinityPreset: ""
1162 ## @param queryFrontend.podAntiAffinityPreset Thanos Query Frontend pod anti-affinity preset. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
1163 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1165 podAntiAffinityPreset: soft
1166 ## Thanos Query Frontend node affinity preset
1167 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1170 ## @param queryFrontend.nodeAffinityPreset.type Thanos Query Frontend node affinity preset type. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
1173 ## @param queryFrontend.nodeAffinityPreset.key Thanos Query Frontend node label key to match. Ignored if `queryFrontend.affinity` is set.
1175 ## key: "kubernetes.io/e2e-az-name"
1178 ## @param queryFrontend.nodeAffinityPreset.values Thanos Query Frontend node label values to match. Ignored if `queryFrontend.affinity` is set.
1185 ## @param queryFrontend.affinity Thanos Query Frontend affinity for pod assignment
1186 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1187 ## Note: queryFrontend.podAffinityPreset, queryFrontend.podAntiAffinityPreset, and queryFrontend.nodeAffinityPreset will be ignored when it's set
1190 ## @param queryFrontend.nodeSelector Thanos Query Frontend node labels for pod assignment
1191 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1194 ## @param queryFrontend.tolerations Thanos Query Frontend tolerations for pod assignment
1195 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1198 ## @param queryFrontend.podLabels Thanos Query Frontend pod labels
1199 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1202 ## @param queryFrontend.podAnnotations Annotations for Thanos Query Frontend pods
1203 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1206 ## @param queryFrontend.dnsConfig Deployment pod DNS config
1207 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
1213 ## - name: single-request-reopen
1216 ## @param queryFrontend.dnsPolicy Deployment pod DNS policy
1217 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
1219 ## dnsPolicy: ClusterFirstWithHostNet
1222 ## @param queryFrontend.hostAliases Deployment pod host aliases
1223 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1226 ## @param queryFrontend.lifecycleHooks for the Thanos Query Frontend container(s) to automate configuration before or after startup
1229 ## @param queryFrontend.priorityClassName Thanos Query Frontend priorityClassName
1230 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
1232 priorityClassName: ""
1233 ## @param queryFrontend.schedulerName Name of the k8s scheduler (other than default) for Thanos Query Frontend pods
1234 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1237 ## @param queryFrontend.topologySpreadConstraints Topology Spread Constraints for Thanos Query Frontend pods assignment spread across your cluster among failure-domains
1238 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1240 topologySpreadConstraints: []
1242 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1245 ## @param queryFrontend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1248 ## @param queryFrontend.networkPolicy.allowExternal Don't require client label for connections
1249 ## The Policy model to apply. When set to false, only pods with the correct
1250 ## client label will have network access to the ports the application is listening
1251 ## on. When true, the app will accept connections from any source
1252 ## (with the correct destination port).
1255 ## @param queryFrontend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1257 allowExternalEgress: true
1258 ## @param queryFrontend.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1268 ## - matchExpressions:
1274 ## @param queryFrontend.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1284 ## - matchExpressions:
1291 ## @param queryFrontend.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1292 ## @param queryFrontend.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1294 ingressNSMatchLabels: {}
1295 ingressNSPodMatchLabels: {}
1296 ## Service parameters
1299 ## @param queryFrontend.service.type Kubernetes service type
1302 ## @param queryFrontend.service.ports.http Thanos Query Frontend service HTTP port
1306 ## @param queryFrontend.service.nodePorts.http Specify the Thanos Query Frontend HTTP nodePort value for the LoadBalancer and NodePort service types
1307 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
1311 ## @param queryFrontend.service.clusterIP Thanos Query Frontend service clusterIP IP
1316 ## @param queryFrontend.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
1317 ## Set the LoadBalancer service type to internal only
1318 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
1321 ## @param queryFrontend.service.loadBalancerSourceRanges Address that are allowed when service is LoadBalancer
1322 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1324 ## loadBalancerSourceRanges:
1327 loadBalancerSourceRanges: []
1328 ## @param queryFrontend.service.externalTrafficPolicy Thanos Query Frontend service externalTrafficPolicy
1329 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
1331 externalTrafficPolicy: Cluster
1332 ## @param queryFrontend.service.annotations Annotations for Thanos Query Frontend service
1335 ## @param queryFrontend.service.labels Labels for Thanos Query Frontend service
1338 ## @param queryFrontend.service.extraPorts Extra ports to expose in the Thanos Query Frontend service
1341 ## @param queryFrontend.service.labelSelectorsOverride Selector for Thanos Query service
1343 labelSelectorsOverride: {}
1344 ## @param queryFrontend.service.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
1347 ## @param queryFrontend.service.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
1350 ## @param queryFrontend.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the deployment
1352 automountServiceAccountToken: true
1353 ## ServiceAccount configuration
1354 ## @param queryFrontend.serviceAccount.create Specifies whether a ServiceAccount should be created
1355 ## @param queryFrontend.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
1356 ## @param queryFrontend.serviceAccount.annotations Annotations for Thanos Query Frontend Service Account
1357 ## @param queryFrontend.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
1363 automountServiceAccountToken: false
1364 ## RBAC configuration
1367 ## @param queryFrontend.rbac.create Create a ClusterRole and ClusterRoleBinding for the Thanos Query Frontend Service Account
1370 ## @param queryFrontend.rbac.rules Custom RBAC rules to set
1382 ## @param queryFrontend.pspEnabled Whether to create a PodSecurityPolicy for Thanos Query Frontend
1383 ## WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later
1386 ## Thanos Query Frontend Autoscaling configuration
1387 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
1388 ## @param queryFrontend.autoscaling.enabled Enable autoscaling for Thanos Query Frontend
1389 ## @param queryFrontend.autoscaling.minReplicas Minimum number of Thanos Query Frontend replicas
1390 ## @param queryFrontend.autoscaling.maxReplicas Maximum number of Thanos Query Frontend replicas
1391 ## @param queryFrontend.autoscaling.targetCPU Target CPU utilization percentage
1392 ## @param queryFrontend.autoscaling.targetMemory Target Memory utilization percentage
1393 ## @param queryFrontend.autoscaling.behavior HPA Behavior
1394 ## @param queryFrontend.externalAutoscaler Specifies whether the Thanos Query Frontend deployment is scaled by an external autoscaler
1403 externalAutoscaler: false
1404 ## Thanos Query Frontend Pod Disruption Budget configuration
1405 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1406 ## @param queryFrontend.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Query Frontend
1407 ## @param queryFrontend.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1408 ## @param queryFrontend.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
1414 ## Configure the ingress resource that allows you to access Thanos Query Frontend
1415 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
1418 ## @param queryFrontend.ingress.enabled Enable ingress controller resource
1421 ## @param queryFrontend.ingress.hostname Default host for the ingress resource
1423 hostname: thanos.local
1424 ## @param queryFrontend.ingress.overrideAlertQueryURL Automatically use query-frontend's ingress hostname as --alert.queryURL for both Query and Ruler.
1425 ## This is used in order for the expression url on alerts/rules to be correctly rendered on UI as Frontend's hostname, instead of http://localhost:10902
1427 overrideAlertQueryURL: true
1428 ## @param queryFrontend.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
1429 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
1430 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
1432 ingressClassName: ""
1433 ## @param queryFrontend.ingress.labels Additional label for the Ingress resource.
1434 ## Use this parameter to set the required labels for your needs
1437 ## dns-managed-by-external-dns: 'true'
1440 ## @param queryFrontend.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
1441 ## For a full list of possible ingress annotations, please see
1442 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
1443 ## Use this parameter to set the required annotations for cert-manager, see
1444 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
1448 ## kubernetes.io/ingress.class: nginx
1449 ## cert-manager.io/cluster-issuer: cluster-issuer-name
1452 ## @param queryFrontend.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
1453 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
1455 ## - name: thanos.local
1457 ## pathType: ImplementationSpecific
1460 ## @param queryFrontend.ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
1461 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
1465 ## secretName: thanos.local-tls
1468 ## @param queryFrontend.ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
1469 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
1470 ## -----BEGIN RSA PRIVATE KEY-----
1472 ## name should line up with a tlsSecret set further up
1473 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
1475 ## It is also possible to create and manage the certificates outside of this helm chart
1476 ## Please see README.md for more information
1478 ## - name: thanos.local-tls
1483 ## @param queryFrontend.ingress.extraRules Additional rules to be covered with this ingress record
1484 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
1487 ## - host: example.local
1492 ## name: example-svc
1497 ## @param queryFrontend.ingress.tls Enable TLS configuration for the hostname defined at `queryFrontend.ingress.hostname` parameter
1498 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.queryFrontend.ingress.hostname }}`
1500 ## - Use the `queryFrontend.ingress.secrets` parameter to create this TLS secret
1501 ## - Rely on cert-manager to create it by setting the corresponding annotations
1502 ## - Rely on Helm to create self-signed certificates by setting `queryFrontend.ingress.selfSigned=true`
1505 ## @param queryFrontend.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
1508 ## @param queryFrontend.ingress.apiVersion Force Ingress API version (automatically detected if not set)
1511 ## @param queryFrontend.ingress.path Ingress path
1514 ## @param queryFrontend.ingress.pathType Ingress path type
1516 pathType: ImplementationSpecific
1517## @section Thanos Bucket Web parameters
1519 ## @param bucketweb.enabled Enable/disable Thanos Bucket Web component
1522 ## @param bucketweb.logLevel Thanos Bucket Web log level
1525 ## @param bucketweb.logFormat Thanos Bucket Web log format
1528 ## @param bucketweb.refresh Refresh interval to download metadata from remote storage
1531 ## @param bucketweb.timeout Timeout to download metadata from remote storage
1534 ## @param bucketweb.extraEnvVars Extra environment variables for Thanos Bucket Web container
1541 ## @param bucketweb.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Bucket Web nodes
1544 ## @param bucketweb.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Bucket Web nodes
1546 extraEnvVarsSecret: ""
1547 ## @param bucketweb.extraFlags Extra Flags to passed to Thanos Bucket Web
1550 ## @param bucketweb.command Override default container command (useful when using custom images)
1553 ## @param bucketweb.args Override default container args (useful when using custom images)
1556 ## @param bucketweb.replicaCount Number of Thanos Bucket Web replicas to deploy
1559 ## @param bucketweb.revisionHistoryLimit The number of old history to retain to allow rollback
1561 revisionHistoryLimit: 10
1562 ## @param bucketweb.updateStrategy.type Update strategy type for Thanos Bucket Web replicas
1566 ## @param bucketweb.containerPorts.http HTTP container port
1570 ## K8s Pod Security Context for Thanos Bucket Web pods
1571 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
1572 ## @param bucketweb.podSecurityContext.enabled Enable security context for the Thanos Bucket Web pods
1573 ## @param bucketweb.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1574 ## @param bucketweb.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1575 ## @param bucketweb.podSecurityContext.supplementalGroups Set filesystem extra groups
1576 ## @param bucketweb.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Bucket Web pods
1580 fsGroupChangePolicy: Always
1582 supplementalGroups: []
1584 ## K8s containers' Security Context for Thanos Bucket Web containers
1585 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
1586 ## @param bucketweb.containerSecurityContext.enabled Enabled containers' Security Context
1587 ## @param bucketweb.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1588 ## @param bucketweb.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1589 ## @param bucketweb.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1590 ## @param bucketweb.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1591 ## @param bucketweb.containerSecurityContext.privileged Set container's Security Context privileged
1592 ## @param bucketweb.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1593 ## @param bucketweb.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1594 ## @param bucketweb.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1595 ## @param bucketweb.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1597 containerSecurityContext:
1604 readOnlyRootFilesystem: true
1605 allowPrivilegeEscalation: false
1609 type: "RuntimeDefault"
1610 ## Thanos Bucket Web containers' resource requests and limits
1611 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1612 ## @param bucketweb.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if bucketweb.resources is set (bucketweb.resources is recommended for production).
1614 resourcesPreset: "nano"
1615 ## @param bucketweb.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1626 ## Configure extra options for Thanos Bucket Web containers' liveness and readiness probes
1627 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
1628 ## @param bucketweb.livenessProbe.enabled Enable livenessProbe on Thanos Bucket Web containers
1629 ## @param bucketweb.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1630 ## @param bucketweb.livenessProbe.periodSeconds Period seconds for livenessProbe
1631 ## @param bucketweb.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1632 ## @param bucketweb.livenessProbe.failureThreshold Failure threshold for livenessProbe
1633 ## @param bucketweb.livenessProbe.successThreshold Success threshold for livenessProbe
1637 initialDelaySeconds: 30
1642 ## @param bucketweb.readinessProbe.enabled Enable readinessProbe on Thanos Bucket Web containers
1643 ## @param bucketweb.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1644 ## @param bucketweb.readinessProbe.periodSeconds Period seconds for readinessProbe
1645 ## @param bucketweb.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1646 ## @param bucketweb.readinessProbe.failureThreshold Failure threshold for readinessProbe
1647 ## @param bucketweb.readinessProbe.successThreshold Success threshold for readinessProbe
1651 initialDelaySeconds: 30
1656 ## @param bucketweb.startupProbe.enabled Enable startupProbe on Thanos Bucket Web containers
1657 ## @param bucketweb.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1658 ## @param bucketweb.startupProbe.periodSeconds Period seconds for startupProbe
1659 ## @param bucketweb.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1660 ## @param bucketweb.startupProbe.failureThreshold Failure threshold for startupProbe
1661 ## @param bucketweb.startupProbe.successThreshold Success threshold for startupProbe
1665 initialDelaySeconds: 5
1668 failureThreshold: 15
1670 ## @param bucketweb.customLivenessProbe Custom livenessProbe that overrides the default one
1672 customLivenessProbe: {}
1673 ## @param bucketweb.customReadinessProbe Custom readinessProbe that overrides the default one
1675 customReadinessProbe: {}
1676 ## @param bucketweb.customStartupProbe Custom startupProbe that overrides the default one
1678 customStartupProbe: {}
1679 ## @param bucketweb.initContainers Add additional init containers to the Thanos Bucket Web pods
1680 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1683 ## - name: your-image-name
1684 ## image: your-image
1685 ## imagePullPolicy: Always
1686 ## command: ['sh', '-c', 'echo "hello world"']
1689 ## @param bucketweb.sidecars Extra containers running as sidecars to Thanos Bucket Web pods
1692 ## - name: your-image-name
1693 ## image: your-image
1694 ## imagePullPolicy: Always
1697 ## containerPort: 1234
1700 ## @param bucketweb.extraVolumes Extra volumes to add to Bucket Web
1703 ## @param bucketweb.extraVolumeMounts Extra volume mounts to add to the bucketweb container
1705 extraVolumeMounts: []
1706 ## @param bucketweb.podAffinityPreset Thanos Bucket Web pod affinity preset
1707 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1709 podAffinityPreset: ""
1710 ## @param bucketweb.podAntiAffinityPreset Thanos Bucket Web pod anti-affinity preset. Ignored if `bucketweb.affinity` is set. Allowed values: `soft` or `hard`
1711 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1713 podAntiAffinityPreset: soft
1714 ## Thanos Bucket Web node affinity preset
1715 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1718 ## @param bucketweb.nodeAffinityPreset.type Thanos Bucket Web node affinity preset type. Ignored if `bucketweb.affinity` is set. Allowed values: `soft` or `hard`
1721 ## @param bucketweb.nodeAffinityPreset.key Thanos Bucket Web node label key to match. Ignored if `bucketweb.affinity` is set.
1723 ## key: "kubernetes.io/e2e-az-name"
1726 ## @param bucketweb.nodeAffinityPreset.values Thanos Bucket Web node label values to match. Ignored if `bucketweb.affinity` is set.
1733 ## @param bucketweb.affinity Thanos Bucket Web affinity for pod assignment
1734 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1735 ## Note: bucketweb.podAffinityPreset, bucketweb.podAntiAffinityPreset, and bucketweb.nodeAffinityPreset will be ignored when it's set
1738 ## @param bucketweb.nodeSelector Thanos Bucket Web node labels for pod assignment
1739 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1742 ## @param bucketweb.tolerations Thanos Bucket Web tolerations for pod assignment
1743 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1746 ## @param bucketweb.podLabels Thanos Bucket Web pod labels
1747 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1750 ## @param bucketweb.podAnnotations Annotations for Thanos Bucket Web pods
1751 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1754 ## @param bucketweb.dnsConfig Deployment pod DNS config
1755 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
1761 ## - name: single-request-reopen
1764 ## @param bucketweb.dnsPolicy Deployment pod DNS policy
1765 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
1767 ## dnsPolicy: ClusterFirstWithHostNet
1770 ## @param bucketweb.hostAliases Deployment pod host aliases
1771 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1774 ## @param bucketweb.lifecycleHooks for the Thanos Bucket Web container(s) to automate configuration before or after startup
1777 ## @param bucketweb.priorityClassName Thanos Bucket Web priorityClassName
1778 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
1780 priorityClassName: ""
1781 ## @param bucketweb.schedulerName Name of the k8s scheduler (other than default) for Thanos Bucket Web pods
1782 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1785 ## @param bucketweb.topologySpreadConstraints Topology Spread Constraints for Thanos Bucket Web pods assignment spread across your cluster among failure-domains
1786 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1788 topologySpreadConstraints: []
1790 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1793 ## @param bucketweb.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1796 ## @param bucketweb.networkPolicy.allowExternal Don't require client label for connections
1797 ## The Policy model to apply. When set to false, only pods with the correct
1798 ## client label will have network access to the ports the application is listening
1799 ## on. When true, the app will accept connections from any source
1800 ## (with the correct destination port).
1803 ## @param bucketweb.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1805 allowExternalEgress: true
1806 ## @param bucketweb.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1816 ## - matchExpressions:
1822 ## @param bucketweb.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1832 ## - matchExpressions:
1839 ## @param bucketweb.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1840 ## @param bucketweb.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1842 ingressNSMatchLabels: {}
1843 ingressNSPodMatchLabels: {}
1844 ## Service parameters
1847 ## @param bucketweb.service.type Kubernetes service type
1850 ## @param bucketweb.service.ports.http Thanos Bucket Web service HTTP port
1854 ## @param bucketweb.service.nodePorts.http Specify the Thanos Bucket Web HTTP nodePort value for the LoadBalancer and NodePort service types
1855 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
1859 ## @param bucketweb.service.clusterIP Thanos Bucket Web service clusterIP IP
1864 ## @param bucketweb.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
1865 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
1868 ## @param bucketweb.service.loadBalancerSourceRanges Address that are allowed when service is LoadBalancer
1869 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1871 ## loadBalancerSourceRanges:
1874 loadBalancerSourceRanges: []
1875 ## @param bucketweb.service.externalTrafficPolicy Thanos Bucket Web service externalTrafficPolicy
1877 externalTrafficPolicy: Cluster
1878 ## @param bucketweb.service.labels Extra labels for Thanos Bucket Web service
1881 ## @param bucketweb.service.annotations Annotations for Thanos Bucket Web service
1884 ## @param bucketweb.service.extraPorts Extra ports to expose in the Thanos Bucket Web service
1887 ## @param bucketweb.service.labelSelectorsOverride Selector for Thanos Query service
1889 labelSelectorsOverride: {}
1890 ## @param bucketweb.service.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
1893 ## @param bucketweb.service.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
1896 ## @param bucketweb.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the deployment
1898 automountServiceAccountToken: true
1899 ## ServiceAccount configuration
1900 ## @param bucketweb.serviceAccount.create Specifies whether a ServiceAccount should be created
1901 ## @param bucketweb.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
1902 ## @param bucketweb.serviceAccount.annotations Annotations for Thanos Bucket Web Service Account
1903 ## @param bucketweb.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
1909 automountServiceAccountToken: false
1910 ## Thanos Bucket Web Autoscaling configuration
1911 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
1912 ## @param bucketweb.autoscaling.enabled Enable autoscaling for Thanos Bucket Web
1913 ## @param bucketweb.autoscaling.minReplicas Minimum number of Thanos Bucket Web replicas
1914 ## @param bucketweb.autoscaling.maxReplicas Maximum number of Thanos Bucket Web replicas
1915 ## @param bucketweb.autoscaling.targetCPU Target CPU utilization percentage
1916 ## @param bucketweb.autoscaling.targetMemory Target Memory utilization percentage
1917 ## @param bucketweb.autoscaling.behavior HPA Behavior
1918 ## @param bucketweb.externalAutoscaler Specifies whether the Thanos Bucket Web deployment is scaled by an external autoscaler
1927 externalAutoscaler: false
1928 ## Thanos Bucket Web Pod Disruption Budget configuration
1929 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1930 ## @param bucketweb.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Bucket Web
1931 ## @param bucketweb.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1932 ## @param bucketweb.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
1938 ## Configure the ingress resource that allows you to access Thanos Bucketweb
1939 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
1942 ## @param bucketweb.ingress.enabled Enable ingress controller resource
1945 ## @param bucketweb.ingress.hostname Default host for the ingress resource
1947 hostname: thanos-bucketweb.local
1948 ## @param bucketweb.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
1949 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
1950 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
1952 ingressClassName: ""
1953 ## @param bucketweb.ingress.labels Additional label for the Ingress resource.
1954 ## Use this parameter to set the required labels for your needs
1957 ## dns-managed-by-external-dns: 'true'
1960 ## @param bucketweb.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
1961 ## For a full list of possible ingress annotations, please see
1962 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
1963 ## Use this parameter to set the required annotations for cert-manager, see
1964 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
1968 ## kubernetes.io/ingress.class: nginx
1969 ## cert-manager.io/cluster-issuer: cluster-issuer-name
1972 ## @param bucketweb.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
1973 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
1975 ## - name: thanos-bucketweb.local
1977 ## pathType: ImplementationSpecific
1980 ## @param bucketweb.ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
1981 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
1984 ## - thanos-bucketweb.local
1985 ## secretName: thanos-bucketweb.local-tls
1988 ## @param bucketweb.ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
1989 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
1990 ## -----BEGIN RSA PRIVATE KEY-----
1992 ## name should line up with a tlsSecret set further up
1993 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
1995 ## It is also possible to create and manage the certificates outside of this helm chart
1996 ## Please see README.md for more information
1998 ## - name: thanos-bucketweb.local-tls
2003 ## @param bucketweb.ingress.extraRules Additional rules to be covered with this ingress record
2004 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
2007 ## - host: example.local
2012 ## name: example-svc
2017 ## @param bucketweb.ingress.tls Enable TLS configuration for the hostname defined at `bucketweb.ingress.hostname` parameter
2018 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.bucketweb.ingress.hostname }}`
2020 ## - Use the `bucketweb.ingress.secrets` parameter to create this TLS secret
2021 ## - Rely on cert-manager to create it by setting the corresponding annotations
2022 ## - Rely on Helm to create self-signed certificates by setting `bucketweb.ingress.selfSigned=true`
2025 ## @param bucketweb.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
2028 ## @param bucketweb.ingress.apiVersion Force Ingress API version (automatically detected if not set)
2031 ## @param bucketweb.ingress.path Ingress path
2034 ## @param bucketweb.ingress.pathType Ingress path type
2036 pathType: ImplementationSpecific
2037## @section Thanos Compactor parameters
2039 ## @param compactor.enabled Enable/disable Thanos Compactor component
2042 ## @param compactor.logLevel Thanos Compactor log level
2045 ## @param compactor.logFormat Thanos Compactor log format
2048 ## @param compactor.dataDir Thanos Compactor data directory
2051 ## Resolution and Retention flags
2052 ## @param compactor.retentionResolutionRaw Resolution and Retention flag
2053 ## @param compactor.retentionResolution5m Resolution and Retention flag
2054 ## @param compactor.retentionResolution1h Resolution and Retention flag
2056 retentionResolutionRaw: 30d
2057 retentionResolution5m: 30d
2058 retentionResolution1h: 10y
2059 ## @param compactor.concurrency Number of goroutines to use when compacting groups.
2061 ## @param compactor.consistencyDelay Minimum age of fresh (non-compacted) blocks before they are being processed
2063 consistencyDelay: 30m
2064 ## @param compactor.extraEnvVars Extra environment variables for Thanos Compactor container
2071 ## @param compactor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Compactor nodes
2074 ## @param compactor.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Compactor nodes
2076 extraEnvVarsSecret: ""
2077 ## @param compactor.extraFlags Extra Flags to passed to Thanos Compactor
2080 ## @param compactor.command Override default container command (useful when using custom images)
2083 ## @param compactor.args Override default container args (useful when using custom images)
2086 ## @param compactor.revisionHistoryLimit The number of old history to retain to allow rollback
2088 revisionHistoryLimit: 10
2089 ## K8s CronJob configuration
2090 ## ref: https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/
2091 ## @param compactor.cronJob.enabled Run compactor as a CronJob rather than a Deployment
2092 ## @param compactor.cronJob.schedule The schedule in Cron format, see <https://en.wikipedia.org/wiki/Cron>
2093 ## @param compactor.cronJob.timeZone The time zone name for the given schedule, see <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
2094 ## @param compactor.cronJob.concurrencyPolicy Specifies how to treat concurrent executions of a Job
2095 ## @param compactor.cronJob.startingDeadlineSeconds Optional deadline in seconds for starting the job if it misses scheduled time for any reason
2096 ## @param compactor.cronJob.suspend This flag tells the controller to suspend subsequent executions
2097 ## @param compactor.cronJob.successfulJobsHistoryLimit The number of successful finished jobs to retain
2098 ## @param compactor.cronJob.failedJobsHistoryLimit The number of failed finished jobs to retain
2099 ## @param compactor.cronJob.backoffLimit The number of retries before marking this job failed
2100 ## @param compactor.cronJob.ttlSecondsAfterFinished The maximum retention before removing the job
2104 schedule: "0 */6 * * *"
2106 startingDeadlineSeconds: ""
2107 concurrencyPolicy: Forbid
2109 successfulJobsHistoryLimit: ""
2110 failedJobsHistoryLimit: ""
2112 ttlSecondsAfterFinished: ""
2113 ## @param compactor.restartPolicy Compactor container restart policy.
2114 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
2117 ## @param compactor.updateStrategy.type Update strategy type for Thanos Compactor replicas
2121 ## @param compactor.containerPorts.http HTTP container port
2125 ## K8s Pod Security Context for Thanos Compactor pods
2126 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2127 ## @param compactor.podSecurityContext.enabled Enable security context for the Thanos Compactor pods
2128 ## @param compactor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2129 ## @param compactor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2130 ## @param compactor.podSecurityContext.supplementalGroups Set filesystem extra groups
2131 ## @param compactor.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Compactor pods
2135 fsGroupChangePolicy: Always
2137 supplementalGroups: []
2139 ## K8s containers' Security Context for Thanos Compactor containers
2140 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
2141 ## @param compactor.containerSecurityContext.enabled Enabled containers' Security Context
2142 ## @param compactor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2143 ## @param compactor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2144 ## @param compactor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2145 ## @param compactor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2146 ## @param compactor.containerSecurityContext.privileged Set container's Security Context privileged
2147 ## @param compactor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2148 ## @param compactor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2149 ## @param compactor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2150 ## @param compactor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2152 containerSecurityContext:
2159 readOnlyRootFilesystem: true
2160 allowPrivilegeEscalation: false
2164 type: "RuntimeDefault"
2165 ## Thanos Compactor containers' resource requests and limits
2166 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2167 ## @param compactor.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if compactor.resources is set (compactor.resources is recommended for production).
2169 resourcesPreset: "nano"
2170 ## @param compactor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2181 ## Configure extra options for Thanos Compactor containers' liveness and readiness probes
2182 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
2183 ## @param compactor.livenessProbe.enabled Enable livenessProbe on Thanos Compactor containers
2184 ## @param compactor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2185 ## @param compactor.livenessProbe.periodSeconds Period seconds for livenessProbe
2186 ## @param compactor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2187 ## @param compactor.livenessProbe.failureThreshold Failure threshold for livenessProbe
2188 ## @param compactor.livenessProbe.successThreshold Success threshold for livenessProbe
2192 initialDelaySeconds: 30
2197 ## @param compactor.readinessProbe.enabled Enable readinessProbe on Thanos Compactor containers
2198 ## @param compactor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2199 ## @param compactor.readinessProbe.periodSeconds Period seconds for readinessProbe
2200 ## @param compactor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2201 ## @param compactor.readinessProbe.failureThreshold Failure threshold for readinessProbe
2202 ## @param compactor.readinessProbe.successThreshold Success threshold for readinessProbe
2206 initialDelaySeconds: 30
2211 ## @param compactor.startupProbe.enabled Enable startupProbe on Thanos Compactor containers
2212 ## @param compactor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2213 ## @param compactor.startupProbe.periodSeconds Period seconds for startupProbe
2214 ## @param compactor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2215 ## @param compactor.startupProbe.failureThreshold Failure threshold for startupProbe
2216 ## @param compactor.startupProbe.successThreshold Success threshold for startupProbe
2220 initialDelaySeconds: 5
2223 failureThreshold: 15
2225 ## @param compactor.customLivenessProbe Custom livenessProbe that overrides the default one
2227 customLivenessProbe: {}
2228 ## @param compactor.customReadinessProbe Custom readinessProbe that overrides the default one
2230 customReadinessProbe: {}
2231 ## @param compactor.customStartupProbe Custom startupProbe that overrides the default one
2233 customStartupProbe: {}
2234 ## @param compactor.initContainers Add additional init containers to the Thanos Compactor pods
2235 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2238 ## - name: your-image-name
2239 ## image: your-image
2240 ## imagePullPolicy: Always
2241 ## command: ['sh', '-c', 'echo "hello world"']
2244 ## @param compactor.sidecars Extra containers running as sidecars to Thanos Compactor pods
2247 ## - name: your-image-name
2248 ## image: your-image
2249 ## imagePullPolicy: Always
2252 ## containerPort: 1234
2255 ## @param compactor.extraVolumes Extra volumes to add to Thanos Compactor
2258 ## @param compactor.extraVolumeMounts Extra volume mounts to add to the compactor container
2260 extraVolumeMounts: []
2261 ## @param compactor.podAffinityPreset Thanos Compactor pod affinity preset
2262 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2264 podAffinityPreset: ""
2265 ## @param compactor.podAntiAffinityPreset Thanos Compactor pod anti-affinity preset. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
2266 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2268 podAntiAffinityPreset: soft
2269 ## Thanos Compactor node affinity preset
2270 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2273 ## @param compactor.nodeAffinityPreset.type Thanos Compactor node affinity preset type. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
2276 ## @param compactor.nodeAffinityPreset.key Thanos Compactor node label key to match. Ignored if `compactor.affinity` is set.
2278 ## key: "kubernetes.io/e2e-az-name"
2281 ## @param compactor.nodeAffinityPreset.values Thanos Compactor node label values to match. Ignored if `compactor.affinity` is set.
2288 ## @param compactor.affinity Thanos Compactor affinity for pod assignment
2289 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2290 ## Note: compactor.podAffinityPreset, compactor.podAntiAffinityPreset, and compactor.nodeAffinityPreset will be ignored when it's set
2293 ## @param compactor.nodeSelector Thanos Compactor node labels for pod assignment
2294 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2297 ## @param compactor.tolerations Thanos Compactor tolerations for pod assignment
2298 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2301 ## @param compactor.podLabels Thanos Compactor pod labels
2302 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2305 ## @param compactor.podAnnotations Annotations for Thanos Compactor pods
2306 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2309 ## @param compactor.deploymentAnnotations Thanos Compactor deployment annotations
2310 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2312 deploymentAnnotations: {}
2313 ## @param compactor.dnsConfig Deployment pod DNS config
2314 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
2320 ## - name: single-request-reopen
2323 ## @param compactor.dnsPolicy Deployment pod DNS policy
2324 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
2326 ## dnsPolicy: ClusterFirstWithHostNet
2329 ## @param compactor.hostAliases Deployment pod host aliases
2330 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2333 ## @param compactor.lifecycleHooks for the Thanos Compactor container(s) to automate configuration before or after startup
2336 ## @param compactor.priorityClassName Thanos Compactor priorityClassName
2337 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
2339 priorityClassName: ""
2340 ## @param compactor.schedulerName Name of the k8s scheduler (other than default) for Thanos Compactor pods
2341 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2344 ## @param compactor.topologySpreadConstraints Topology Spread Constraints for Thanos Compactor pods assignment spread across your cluster among failure-domains
2345 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2347 topologySpreadConstraints: []
2349 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2352 ## @param compactor.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2355 ## @param compactor.networkPolicy.allowExternal Don't require client label for connections
2356 ## The Policy model to apply. When set to false, only pods with the correct
2357 ## client label will have network access to the ports the application is listening
2358 ## on. When true, the app will accept connections from any source
2359 ## (with the correct destination port).
2362 ## @param compactor.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2364 allowExternalEgress: true
2365 ## @param compactor.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2375 ## - matchExpressions:
2381 ## @param compactor.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2391 ## - matchExpressions:
2398 ## @param compactor.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
2399 ## @param compactor.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
2401 ingressNSMatchLabels: {}
2402 ingressNSPodMatchLabels: {}
2403 ## Service parameters
2406 ## @param compactor.service.type Kubernetes service type
2409 ## @param compactor.service.ports.http Thanos Compactor service HTTP port
2413 ## @param compactor.service.nodePorts.http Specify the Thanos Compactor HTTP nodePort value for the LoadBalancer and NodePort service types
2414 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
2418 ## @param compactor.service.clusterIP Thanos Compactor service clusterIP IP
2423 ## @param compactor.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
2424 ## Set the LoadBalancer service type to internal only
2425 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
2428 ## @param compactor.service.loadBalancerSourceRanges Addresses that are allowed when service is LoadBalancer
2429 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2431 ## loadBalancerSourceRanges:
2434 loadBalancerSourceRanges: []
2435 ## @param compactor.service.externalTrafficPolicy Thanos Compactor service externalTrafficPolicy
2436 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
2438 externalTrafficPolicy: Cluster
2439 ## @param compactor.service.labels Labels for Thanos Compactor service
2442 ## @param compactor.service.annotations Annotations for Thanos Compactor service
2445 ## @param compactor.service.extraPorts Extra ports to expose in the Thanos Compactor service
2448 ## @param compactor.service.labelSelectorsOverride Selector for Thanos Query service
2450 labelSelectorsOverride: {}
2451 ## @param compactor.service.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
2454 ## @param compactor.service.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
2457 ## @param compactor.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the deployment
2459 automountServiceAccountToken: true
2460 ## ServiceAccount configuration
2461 ## @param compactor.serviceAccount.create Specifies whether a ServiceAccount should be created
2462 ## @param compactor.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
2463 ## @param compactor.serviceAccount.annotations Annotations for Thanos Compactor Service Account
2464 ## @param compactor.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
2470 automountServiceAccountToken: false
2471 ## Configure the ingress resource that allows you to access Thanos Query Frontend
2472 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
2475 ## @param compactor.ingress.enabled Enable ingress controller resource
2478 ## @param compactor.ingress.hostname Default host for the ingress resource
2480 hostname: thanos-compactor.local
2481 ## @param compactor.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
2482 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
2483 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
2485 ingressClassName: ""
2486 ## @param compactor.ingress.labels Additional label for the Ingress resource.
2487 ## Use this parameter to set the required labels for your needs
2490 ## dns-managed-by-external-dns: 'true'
2493 ## @param compactor.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
2494 ## For a full list of possible ingress annotations, please see
2495 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
2496 ## Use this parameter to set the required annotations for cert-manager, see
2497 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
2501 ## kubernetes.io/ingress.class: nginx
2502 ## cert-manager.io/cluster-issuer: cluster-issuer-name
2505 ## @param compactor.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
2506 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
2508 ## - name: thanos.local
2510 ## pathType: ImplementationSpecific
2513 ## @param compactor.ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
2514 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
2518 ## secretName: thanos.local-tls
2521 ## @param compactor.ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
2522 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
2523 ## -----BEGIN RSA PRIVATE KEY-----
2525 ## name should line up with a tlsSecret set further up
2526 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
2528 ## It is also possible to create and manage the certificates outside of this helm chart
2529 ## Please see README.md for more information
2531 ## - name: thanos.local-tls
2536 ## @param compactor.ingress.extraRules Additional rules to be covered with this ingress record
2537 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
2540 ## - host: example.local
2545 ## name: example-svc
2550 ## @param compactor.ingress.tls Enable TLS configuration for the hostname defined at `compactor.ingress.hostname` parameter
2551 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.compactor.ingress.hostname }}`
2553 ## - Use the `compactor.ingress.secrets` parameter to create this TLS secret
2554 ## - Rely on cert-manager to create it by setting the corresponding annotations
2555 ## - Rely on Helm to create self-signed certificates by setting `compactor.ingress.selfSigned=true`
2558 ## @param compactor.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
2561 ## @param compactor.ingress.apiVersion Force Ingress API version (automatically detected if not set)
2564 ## @param compactor.ingress.path Ingress path
2567 ## @param compactor.ingress.pathType Ingress path type
2569 pathType: ImplementationSpecific
2570 ## Persistence parameters
2573 ## @param compactor.persistence.enabled Enable data persistence using PVC(s) on Thanos Compactor pods
2576 ## @param compactor.persistence.ephemeral Use ephemeral volume for data persistence using PVC(s) on Thanos Compactor pods
2579 ## @param compactor.persistence.defaultEmptyDir Defaults to emptyDir if persistence is disabled.
2581 defaultEmptyDir: true
2582 ## @param compactor.persistence.storageClass Specify the `storageClass` used to provision the volume
2583 ## If defined, storageClassName: <storageClass>
2584 ## If set to "-", storageClassName: "", which disables dynamic provisioning
2585 ## If undefined (the default) or set to null, no storageClassName spec is
2586 ## set, choosing the default provisioner.
2589 ## @param compactor.persistence.accessModes PVC Access Modes for data volume
2593 ## @param compactor.persistence.size PVC Storage Request for data volume
2596 ## @param compactor.persistence.labels Labels for the PVC
2599 ## @param compactor.persistence.annotations Annotations for the PVC
2602 ## @param compactor.persistence.existingClaim Name of an existing PVC to use
2603 ## If defined, PVC must be created manually before volume will be bound
2606## @section Thanos Store Gateway parameters
2608 ## @param storegateway.enabled Enable/disable Thanos Store Gateway component
2611 ## @param storegateway.logLevel Thanos Store Gateway log level
2614 ## @param storegateway.logFormat Thanos Store Gateway log format
2617 ## @param storegateway.useEndpointGroup Specify whether to use `endpoint-group` when querying the Store API of HA Store Gateway replicas
2618 ## NOTE: This will take effect in the querier configuration
2620 useEndpointGroup: false
2621 ## @param storegateway.config Thanos Store Gateway configuration
2622 ## Specify content for config.yml
2625 ## @param storegateway.existingConfigmap Name of existing ConfigMap with Thanos Store Gateway configuration
2626 ## NOTE: This will override storegateway.config
2628 existingConfigmap: ""
2629 ## Thanos Store Gateway GRPC parameters
2630 ## ref: https://github.com/thanos-io/thanos/blob/master/docs/components/store.md#flags
2636 ## TLS configuration
2637 ## @param storegateway.grpc.server.tls.enabled Enable TLS encryption in the GRPC server
2638 ## @param storegateway.grpc.server.tls.autoGenerated Create self-signed TLS certificates. Currently only supports PEM certificates
2639 ## @param storegateway.grpc.server.tls.cert TLS Certificate for GRPC server - ignored if existingSecret is provided
2640 ## @param storegateway.grpc.server.tls.key TLS Key for GRPC server - ignored if existingSecret is provided
2641 ## @param storegateway.grpc.server.tls.ca TLS CA to verify clients against - ignored if existingSecret is provided
2642 ## @param storegateway.grpc.server.tls.clientAuthEnabled Enable TLS client verification against provided CA
2643 ## @param storegateway.grpc.server.tls.existingSecret Existing secret containing your own TLS certificates
2649 ## tls-cert: cert.pem
2654 autoGenerated: false
2658 clientAuthEnabled: true
2660 ## @param storegateway.extraEnvVars Extra environment variables for Thanos Store Gateway container
2667 ## @param storegateway.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Store Gateway nodes
2670 ## @param storegateway.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Store Gateway nodes
2672 extraEnvVarsSecret: ""
2673 ## @param storegateway.extraFlags Extra Flags to passed to Thanos Store Gateway
2676 ## @param storegateway.command Override default container command (useful when using custom images)
2679 ## @param storegateway.args Override default container args (useful when using custom images)
2682 ## @param storegateway.replicaCount Number of Thanos Store Gateway replicas to deploy
2685 ## @param storegateway.revisionHistoryLimit The number of old history to retain to allow rollback
2687 revisionHistoryLimit: 10
2688 ## @param storegateway.updateStrategy.type Update strategy type for Thanos Store Gateway replicas
2692 ## @param storegateway.podManagementPolicy Statefulset Pod management policy: OrderedReady (default) or Parallel
2693 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
2695 podManagementPolicy: OrderedReady
2696 ## @param storegateway.containerPorts.http HTTP container port
2697 ## @param storegateway.containerPorts.grpc GRPC container port
2702 ## K8s Pod Security Context for Thanos Store Gateway pods
2703 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
2704 ## @param storegateway.podSecurityContext.enabled Enable security context for the Thanos Store Gateway pods
2705 ## @param storegateway.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2706 ## @param storegateway.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2707 ## @param storegateway.podSecurityContext.supplementalGroups Set filesystem extra groups
2708 ## @param storegateway.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Store Gateway pods
2712 fsGroupChangePolicy: Always
2714 supplementalGroups: []
2716 ## K8s containers' Security Context for Thanos Store Gateway containers
2717 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
2718 ## @param storegateway.containerSecurityContext.enabled Enabled containers' Security Context
2719 ## @param storegateway.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2720 ## @param storegateway.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2721 ## @param storegateway.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2722 ## @param storegateway.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2723 ## @param storegateway.containerSecurityContext.privileged Set container's Security Context privileged
2724 ## @param storegateway.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2725 ## @param storegateway.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2726 ## @param storegateway.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2727 ## @param storegateway.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2729 containerSecurityContext:
2736 readOnlyRootFilesystem: true
2737 allowPrivilegeEscalation: false
2741 type: "RuntimeDefault"
2742 ## Thanos Store Gateway containers' resource requests and limits
2743 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2744 ## @param storegateway.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if storegateway.resources is set (storegateway.resources is recommended for production).
2746 resourcesPreset: "nano"
2747 ## @param storegateway.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2758 ## Configure extra options for Thanos Store Gateway containers' liveness and readiness probes
2759 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
2760 ## @param storegateway.livenessProbe.enabled Enable livenessProbe on Thanos Store Gateway containers
2761 ## @param storegateway.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2762 ## @param storegateway.livenessProbe.periodSeconds Period seconds for livenessProbe
2763 ## @param storegateway.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2764 ## @param storegateway.livenessProbe.failureThreshold Failure threshold for livenessProbe
2765 ## @param storegateway.livenessProbe.successThreshold Success threshold for livenessProbe
2769 initialDelaySeconds: 30
2774 ## @param storegateway.readinessProbe.enabled Enable readinessProbe on Thanos Store Gateway containers
2775 ## @param storegateway.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2776 ## @param storegateway.readinessProbe.periodSeconds Period seconds for readinessProbe
2777 ## @param storegateway.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2778 ## @param storegateway.readinessProbe.failureThreshold Failure threshold for readinessProbe
2779 ## @param storegateway.readinessProbe.successThreshold Success threshold for readinessProbe
2783 initialDelaySeconds: 30
2788 ## @param storegateway.startupProbe.enabled Enable startupProbe on Thanos Store Gateway containers
2789 ## @param storegateway.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2790 ## @param storegateway.startupProbe.periodSeconds Period seconds for startupProbe
2791 ## @param storegateway.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2792 ## @param storegateway.startupProbe.failureThreshold Failure threshold for startupProbe
2793 ## @param storegateway.startupProbe.successThreshold Success threshold for startupProbe
2797 initialDelaySeconds: 5
2800 failureThreshold: 15
2802 ## @param storegateway.customLivenessProbe Custom livenessProbe that overrides the default one
2804 customLivenessProbe: {}
2805 ## @param storegateway.customReadinessProbe Custom readinessProbe that overrides the default one
2807 customReadinessProbe: {}
2808 ## @param storegateway.customStartupProbe Custom startupProbe that overrides the default one
2810 customStartupProbe: {}
2811 ## @param storegateway.initContainers Add additional init containers to the Thanos Store Gateway pods
2812 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2815 ## - name: your-image-name
2816 ## image: your-image
2817 ## imagePullPolicy: Always
2818 ## command: ['sh', '-c', 'echo "hello world"']
2821 ## @param storegateway.sidecars Extra containers running as sidecars to Thanos Store Gateway pods
2824 ## - name: your-image-name
2825 ## image: your-image
2826 ## imagePullPolicy: Always
2829 ## containerPort: 1234
2832 ## @param storegateway.extraVolumes Extra volumes to add to Thanos Store Gateway
2835 ## @param storegateway.extraVolumeMounts Extra volume mounts to add to the storegateway container
2837 extraVolumeMounts: []
2838 ## @param storegateway.podAffinityPreset Thanos Store Gateway pod affinity preset
2839 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2841 podAffinityPreset: ""
2842 ## @param storegateway.podAntiAffinityPreset Thanos Store Gateway pod anti-affinity preset. Ignored if `storegateway.affinity` is set. Allowed values: `soft` or `hard`
2843 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2845 podAntiAffinityPreset: soft
2846 ## Thanos Store Gateway node affinity preset
2847 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2850 ## @param storegateway.nodeAffinityPreset.type Thanos Store Gateway node affinity preset type. Ignored if `storegateway.affinity` is set. Allowed values: `soft` or `hard`
2853 ## @param storegateway.nodeAffinityPreset.key Thanos Store Gateway node label key to match. Ignored if `storegateway.affinity` is set.
2855 ## key: "kubernetes.io/e2e-az-name"
2858 ## @param storegateway.nodeAffinityPreset.values Thanos Store Gateway node label values to match. Ignored if `storegateway.affinity` is set.
2865 ## @param storegateway.affinity Thanos Store Gateway affinity for pod assignment
2866 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2867 ## Note: storegateway.podAffinityPreset, storegateway.podAntiAffinityPreset, and storegateway.nodeAffinityPreset will be ignored when it's set
2870 ## @param storegateway.nodeSelector Thanos Store Gateway node labels for pod assignment
2871 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2874 ## @param storegateway.tolerations Thanos Store Gateway tolerations for pod assignment
2875 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2878 ## @param storegateway.podLabels Thanos Store Gateway pod labels
2879 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2882 ## @param storegateway.podAnnotations Annotations for Thanos Store Gateway pods
2883 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2886 ## @param storegateway.statefulsetLabels Thanos Store Gateway statefulset labels
2887 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2889 statefulsetLabels: {}
2890 ## @param storegateway.statefulsetAnnotations Thanos Store Gateway statefulset annotations
2891 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2893 statefulsetAnnotations: {}
2894 ## @param storegateway.dnsConfig Deployment pod DNS config
2895 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
2901 ## - name: single-request-reopen
2904 ## @param storegateway.dnsPolicy Deployment pod DNS policy
2905 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
2907 ## dnsPolicy: ClusterFirstWithHostNet
2910 ## @param storegateway.hostAliases Deployment pod host aliases
2911 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2914 ## @param storegateway.lifecycleHooks for the Thanos Store Gateway container(s) to automate configuration before or after startup
2917 ## @param storegateway.priorityClassName Thanos Store Gateway priorityClassName
2918 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
2920 priorityClassName: ""
2921 ## @param storegateway.topologySpreadConstraints Topology Spread Constraints for Thanos Store Gateway pods assignment spread across your cluster among failure-domains
2922 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2924 topologySpreadConstraints: []
2925 ## @param storegateway.schedulerName Name of the k8s scheduler (other than default) for Thanos Store Gateway pods
2926 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2930 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2933 ## @param storegateway.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2936 ## @param storegateway.networkPolicy.allowExternal Don't require client label for connections
2937 ## The Policy model to apply. When set to false, only pods with the correct
2938 ## client label will have network access to the ports the application is listening
2939 ## on. When true, the app will accept connections from any source
2940 ## (with the correct destination port).
2943 ## @param storegateway.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2945 allowExternalEgress: true
2946 ## @param storegateway.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2956 ## - matchExpressions:
2962 ## @param storegateway.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2972 ## - matchExpressions:
2979 ## @param storegateway.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
2980 ## @param storegateway.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
2982 ingressNSMatchLabels: {}
2983 ingressNSPodMatchLabels: {}
2984 ## Service parameters
2987 ## @param storegateway.service.type Kubernetes service type
2990 ## @param storegateway.service.ports.http Thanos Store Gateway service HTTP port
2991 ## @param storegateway.service.ports.grpc Thanos Store Gateway service GRPC port
2996 ## @param storegateway.service.nodePorts.http Specify the Thanos Store Gateway HTTP nodePort value for the LoadBalancer and NodePort service types
2997 ## @param storegateway.service.nodePorts.grpc Specify the Thanos Store Gateway GRPC nodePort value for the LoadBalancer and NodePort service types
2998 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
3003 ## @param storegateway.service.clusterIP Thanos Store Gateway service clusterIP IP
3008 ## @param storegateway.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
3009 ## Set the LoadBalancer service type to internal only
3010 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
3013 ## @param storegateway.service.loadBalancerSourceRanges Addresses that are allowed when service is LoadBalancer
3014 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3016 ## loadBalancerSourceRanges:
3019 loadBalancerSourceRanges: []
3020 ## @param storegateway.service.externalTrafficPolicy Thanos Store Gateway service externalTrafficPolicy
3021 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3023 externalTrafficPolicy: Cluster
3024 ## @param storegateway.service.labels Extra labels for Thanos Store Gateway service
3027 ## @param storegateway.service.annotations Annotations for Thanos Store Gateway service
3030 ## @param storegateway.service.extraPorts Extra ports to expose in the Thanos Store Gateway service
3033 ## @param storegateway.service.labelSelectorsOverride Selector for Thanos Query service
3035 labelSelectorsOverride: {}
3036 ## @param storegateway.service.additionalHeadless Additional Headless service
3038 additionalHeadless: false
3039 ## Headless service properties
3042 ## @param storegateway.service.headless.annotations Annotations for the headless service.
3045 ## @param storegateway.service.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
3048 ## @param storegateway.service.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
3051 ## Persistence parameters
3054 ## @param storegateway.persistence.enabled Enable data persistence using PVC(s) on Thanos Store Gateway pods
3057 ## @param storegateway.persistence.storageClass Specify the `storageClass` used to provision the volume
3058 ## If defined, storageClassName: <storageClass>
3059 ## If set to "-", storageClassName: "", which disables dynamic provisioning
3060 ## If undefined (the default) or set to null, no storageClassName spec is
3061 ## set, choosing the default provisioner.
3064 ## @param storegateway.persistence.accessModes PVC Access Modes for data volume
3068 ## @param storegateway.persistence.size PVC Storage Request for data volume
3071 ## @param storegateway.persistence.labels Labels for the PVC
3074 ## @param storegateway.persistence.annotations Annotations for the PVC
3077 ## @param storegateway.persistence.existingClaim Name of an existing PVC to use
3078 ## If defined, PVC must be created manually before volume will be bound
3081 ## Persistent Volume Claim Retention Policy
3082 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
3084 persistentVolumeClaimRetentionPolicy:
3085 ## @param storegateway.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Thanos Store Gateway Statefulset
3088 ## @param storegateway.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
3091 ## @param storegateway.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
3094 ## @param storegateway.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the sts
3096 automountServiceAccountToken: true
3097 ## ServiceAccount configuration
3098 ## @param storegateway.serviceAccount.create Specifies whether a ServiceAccount should be created
3099 ## @param storegateway.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
3100 ## @param storegateway.serviceAccount.annotations Annotations for Thanos Store Gateway Service Account
3101 ## @param storegateway.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
3107 automountServiceAccountToken: false
3108 ## Thanos Store Gateway Autoscaling configuration
3109 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
3110 ## @param storegateway.autoscaling.enabled Enable autoscaling for Thanos Store Gateway
3111 ## @param storegateway.autoscaling.minReplicas Minimum number of Thanos Store Gateway replicas
3112 ## @param storegateway.autoscaling.maxReplicas Maximum number of Thanos Store Gateway replicas
3113 ## @param storegateway.autoscaling.targetCPU Target CPU utilization percentage
3114 ## @param storegateway.autoscaling.targetMemory Target Memory utilization percentage
3115 ## @param storegateway.autoscaling.behavior HPA Behavior
3116 ## @param storegateway.externalAutoscaler Specifies whether the Thanos Store Gateway statefulset is scaled by an external autoscaler
3125 externalAutoscaler: false
3126 ## Thanos Store Gateway Pod Disruption Budget configuration
3127 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3128 ## @param storegateway.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Store Gateway
3129 ## @param storegateway.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3130 ## @param storegateway.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
3136 ## Configure the ingress resource that allows you to access Thanos Query Frontend
3137 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
3140 ## @param storegateway.ingress.enabled Enable ingress controller resource
3143 ## @param storegateway.ingress.hostname Default host for the ingress resource
3145 hostname: thanos-storegateway.local
3146 ## @param storegateway.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
3147 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
3148 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
3150 ingressClassName: ""
3151 ## @param storegateway.ingress.labels Additional label for the Ingress resource.
3152 ## Use this parameter to set the required labels for your needs
3155 ## dns-managed-by-external-dns: 'true'
3158 ## @param storegateway.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
3159 ## For a full list of possible ingress annotations, please see
3160 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
3161 ## Use this parameter to set the required annotations for cert-manager, see
3162 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
3166 ## kubernetes.io/ingress.class: nginx
3167 ## cert-manager.io/cluster-issuer: cluster-issuer-name
3170 ## @param storegateway.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
3171 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
3173 ## - name: thanos.local
3175 ## pathType: ImplementationSpecific
3178 ## @param storegateway.ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
3179 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
3183 ## secretName: thanos.local-tls
3186 ## @param storegateway.ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
3187 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
3188 ## -----BEGIN RSA PRIVATE KEY-----
3190 ## name should line up with a tlsSecret set further up
3191 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
3193 ## It is also possible to create and manage the certificates outside of this helm chart
3194 ## Please see README.md for more information
3196 ## - name: thanos.local-tls
3201 ## @param storegateway.ingress.extraRules Additional rules to be covered with this ingress record
3202 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
3205 ## - host: example.local
3210 ## name: example-svc
3215 ## @param storegateway.ingress.tls Enable TLS configuration for the hostname defined at `storegateway.ingress.hostname` parameter
3216 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.storegateway.ingress.hostname }}`
3218 ## - Use the `storegateway.ingress.secrets` parameter to create this TLS secret
3219 ## - Rely on cert-manager to create it by setting the corresponding annotations
3220 ## - Rely on Helm to create self-signed certificates by setting `storegateway.ingress.selfSigned=true`
3223 ## @param storegateway.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
3226 ## @param storegateway.ingress.apiVersion Force Ingress API version (automatically detected if not set)
3229 ## @param storegateway.ingress.path Ingress path
3232 ## @param storegateway.ingress.pathType Ingress path type
3234 pathType: ImplementationSpecific
3235 ## Create an ingress object for the GRPC service. This requires an HTTP/2
3236 ## capable Ingress controller (eg. traefik using AWS NLB). Example annotations
3237 ## - ingress.kubernetes.io/protocol: h2c
3238 ## - service.beta.kubernetes.io/aws-load-balancer-type: nlb
3239 ## - service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
3240 ## For more information see https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/
3241 ## and also the documentation for your ingress controller.
3243 ## The options that are accepted are identical to the HTTP one listed above
3246 ## @param storegateway.ingress.grpc.enabled Enable ingress controller resource (GRPC)
3249 ## @param storegateway.ingress.grpc.hostname Default host for the ingress resource (GRPC)
3251 hostname: thanos-grpc.local
3252 ## @param storegateway.ingress.grpc.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
3253 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
3254 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
3256 ingressClassName: ""
3257 ## @param storegateway.ingress.grpc.annotations Additional annotations for the Ingress resource (GRPC). To enable certificate autogeneration, place here your cert-manager annotations.
3258 ## For a full list of possible ingress annotations, please see
3259 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
3260 ## Use this parameter to set the required annotations for cert-manager, see
3261 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
3264 ## kubernetes.io/ingress.class: nginx
3265 ## cert-manager.io/cluster-issuer: cluster-issuer-name
3268 ## @param storegateway.ingress.grpc.extraHosts The list of additional hostnames to be covered with this ingress record.
3269 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
3271 ## - name: thanos-grpc.local
3275 ## @param storegateway.ingress.grpc.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
3276 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
3279 ## - thanos-grpc.local
3280 ## secretName: thanos-grpc.local-tls
3283 ## @param storegateway.ingress.grpc.secrets If you're providing your own certificates, please use this to add the certificates as secrets
3284 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
3285 ## -----BEGIN RSA PRIVATE KEY-----
3287 ## name should line up with a tlsSecret set further up
3288 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
3290 ## It is also possible to create and manage the certificates outside of this helm chart
3291 ## Please see README.md for more information
3293 ## - name: thanos-grpc.local-tls
3298 ## @param storegateway.ingress.grpc.extraRules Additional rules to be covered with this ingress record
3299 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
3302 ## - host: example.local
3307 ## name: example-svc
3312 ## @param storegateway.ingress.grpc.tls Enable TLS configuration for the hostname defined at `storegateway.ingress.grpc.hostname` parameter
3313 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.storegateway.ingress.grpc.hostname }}`
3315 ## - Use the `storegateway.ingress.grpc.secrets` parameter to create this TLS secret
3316 ## - Rely on cert-manager to create it by setting the corresponding annotations
3317 ## - Rely on Helm to create self-signed certificates by setting `storegateway.ingress.grpc.selfSigned=true`
3320 ## @param storegateway.ingress.grpc.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
3323 ## @param storegateway.ingress.grpc.apiVersion Override API Version (automatically detected if not set)
3326 ## @param storegateway.ingress.grpc.path Ingress Path
3329 ## @param storegateway.ingress.grpc.pathType Ingress Path type
3331 pathType: ImplementationSpecific
3332 ## Sharded parameters
3333 ## @param storegateway.sharded.enabled Enable sharding for Thanos Store Gateway
3334 ## @param storegateway.sharded.hashPartitioning.shards Setting hashPartitioning will create multiple store statefulsets based on the number of shards specified using the hashmod of the blocks
3335 ## @param storegateway.sharded.hashPartitioning.extraRelabelingConfigs Setting extra relabel config
3337 ## extraRelabelingConfigs:
3339 ## source_labels: ["region"]
3340 ## regex: cn-zhangjiakou
3341 ## @param storegateway.sharded.timePartitioning [array] Setting time timePartitioning will create multiple store deployments based on the number of partitions
3342 ## @param storegateway.sharded.service.clusterIPs Array of cluster IPs for each Store Gateway service. Length must be the same as the number of shards
3347 ## @param storegateway.sharded.service.loadBalancerIPs Array of load balancer IPs for each Store Gateway service. Length must be the same as the number of shards
3352 ## @param storegateway.sharded.service.http.nodePorts Array of http node ports used for Store Gateway service. Length must be the same as the number of shards
3357 ## @param storegateway.sharded.service.grpc.nodePorts Array of grpc node ports used for Store Gateway service. Length must be the same as the number of shards
3367 extraRelabelingConfigs: []
3378## @section Thanos Ruler parameters
3380 ## @param ruler.enabled Enable/disable Thanos Ruler component
3383 ## @param ruler.logLevel Thanos Ruler log level
3386 ## @param ruler.logFormat Thanos Ruler log format
3389 ## @param ruler.replicaLabel Label to treat as a replica indicator along which data is de-duplicated
3391 replicaLabel: replica
3392 ## @param ruler.dnsDiscovery.enabled Dynamically configure Query APIs using DNS discovery
3396 ## @param ruler.queryURL Thanos query/query-frontend URL to link in Ruler UI.
3399 ## @param ruler.alertmanagers Alert managers URLs array
3400 ## NOTE: This is only used when ruler.alertmanagersConfig is not set
3403 ## @param ruler.alertmanagersConfig Alert managers configuration
3404 ## NOTE: This is only used when ruler.alertmanagers is not set
3405 ## ref: https://thanos.io/tip/components/rule.md/#alertmanager
3407 ## alertmanagersConfig:
3411 ## username: some_user
3412 ## password: some_pass
3414 ## - alertmanager.thanos.io
3419 alertmanagersConfig: {}
3420 ## @param ruler.evalInterval The default evaluation interval to use
3423 ## @param ruler.clusterName Used to set the 'ruler_cluster' label
3426 ## @param ruler.ruleFile Change the location Thanos checks for rule files
3428 ruleFile: "/conf/rules/*.yml"
3429 ## @param ruler.config Ruler configuration
3430 ## Specify content for ruler.yml
3433 ## @param ruler.dataPath Path to the data directory
3437 ## @param ruler.existingConfigmap Name of existing ConfigMap with Ruler configuration
3438 ## NOTE: This will override ruler.config
3440 existingConfigmap: ""
3441 ## @param ruler.extraEnvVars Extra environment variables for Thanos Ruler container
3448 ## @param ruler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Ruler nodes
3451 ## @param ruler.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Ruler nodes
3453 extraEnvVarsSecret: ""
3454 ## @param ruler.extraFlags Extra Flags to passed to Thanos Ruler
3457 ## @param ruler.command Override default container command (useful when using custom images)
3460 ## @param ruler.args Override default container args (useful when using custom images)
3463 ## @param ruler.replicaCount Number of Thanos Ruler replicas to deploy
3466 ## @param ruler.revisionHistoryLimit The number of old history to retain to allow rollback
3468 revisionHistoryLimit: 10
3469 ## @param ruler.updateStrategy.type Update strategy type for Thanos Ruler replicas
3473 ## @param ruler.podManagementPolicy Statefulset Pod Management Policy Type
3474 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
3476 podManagementPolicy: OrderedReady
3477 ## @param ruler.containerPorts.http HTTP container port
3478 ## @param ruler.containerPorts.grpc GRPC container port
3483 ## K8s Pod Security Context for Thanos Ruler pods
3484 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
3485 ## @param ruler.podSecurityContext.enabled Enable security context for the Thanos Ruler pods
3486 ## @param ruler.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
3487 ## @param ruler.podSecurityContext.sysctls Set kernel settings using the sysctl interface
3488 ## @param ruler.podSecurityContext.supplementalGroups Set filesystem extra groups
3489 ## @param ruler.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Ruler pods
3493 fsGroupChangePolicy: Always
3495 supplementalGroups: []
3497 ## K8s containers' Security Context for Thanos Ruler containers
3498 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
3499 ## @param ruler.containerSecurityContext.enabled Enabled containers' Security Context
3500 ## @param ruler.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3501 ## @param ruler.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3502 ## @param ruler.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3503 ## @param ruler.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3504 ## @param ruler.containerSecurityContext.privileged Set container's Security Context privileged
3505 ## @param ruler.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3506 ## @param ruler.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3507 ## @param ruler.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3508 ## @param ruler.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3510 containerSecurityContext:
3517 readOnlyRootFilesystem: true
3518 allowPrivilegeEscalation: false
3522 type: "RuntimeDefault"
3523 ## Thanos Ruler containers' resource requests and limits
3524 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
3525 ## @param ruler.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ruler.resources is set (ruler.resources is recommended for production).
3527 resourcesPreset: "nano"
3528 ## @param ruler.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
3539 ## Configure extra options for Thanos Ruler containers' liveness and readiness probes
3540 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
3541 ## @param ruler.livenessProbe.enabled Enable livenessProbe on Thanos Ruler containers
3542 ## @param ruler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
3543 ## @param ruler.livenessProbe.periodSeconds Period seconds for livenessProbe
3544 ## @param ruler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
3545 ## @param ruler.livenessProbe.failureThreshold Failure threshold for livenessProbe
3546 ## @param ruler.livenessProbe.successThreshold Success threshold for livenessProbe
3550 initialDelaySeconds: 30
3555 ## @param ruler.readinessProbe.enabled Enable readinessProbe on Thanos Ruler containers
3556 ## @param ruler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
3557 ## @param ruler.readinessProbe.periodSeconds Period seconds for readinessProbe
3558 ## @param ruler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
3559 ## @param ruler.readinessProbe.failureThreshold Failure threshold for readinessProbe
3560 ## @param ruler.readinessProbe.successThreshold Success threshold for readinessProbe
3564 initialDelaySeconds: 30
3569 ## @param ruler.startupProbe.enabled Enable startupProbe on Thanos Ruler containers
3570 ## @param ruler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
3571 ## @param ruler.startupProbe.periodSeconds Period seconds for startupProbe
3572 ## @param ruler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
3573 ## @param ruler.startupProbe.failureThreshold Failure threshold for startupProbe
3574 ## @param ruler.startupProbe.successThreshold Success threshold for startupProbe
3578 initialDelaySeconds: 5
3581 failureThreshold: 15
3583 ## @param ruler.customLivenessProbe Custom livenessProbe that overrides the default one
3585 customLivenessProbe: {}
3586 ## @param ruler.customReadinessProbe Custom readinessProbe that overrides the default one
3588 customReadinessProbe: {}
3589 ## @param ruler.customStartupProbe Custom startupProbe that overrides the default one
3591 customStartupProbe: {}
3592 ## @param ruler.initContainers Add additional init containers to the Thanos Ruler pods
3593 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3596 ## - name: your-image-name
3597 ## image: your-image
3598 ## imagePullPolicy: Always
3599 ## command: ['sh', '-c', 'echo "hello world"']
3602 ## @param ruler.sidecars Extra containers running as sidecars to Thanos Ruler pods
3605 ## - name: your-image-name
3606 ## image: your-image
3607 ## imagePullPolicy: Always
3610 ## containerPort: 1234
3613 ## @param ruler.extraVolumes Extra volumes to add to Thanos Ruler
3616 ## @param ruler.extraVolumeMounts Extra volume mounts to add to the ruler container
3618 extraVolumeMounts: []
3619 ## @param ruler.podAffinityPreset Thanos Ruler pod affinity preset
3620 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3622 podAffinityPreset: ""
3623 ## @param ruler.podAntiAffinityPreset Thanos Ruler pod anti-affinity preset. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3624 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3626 podAntiAffinityPreset: soft
3627 ## Thanos Ruler node affinity preset
3628 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3631 ## @param ruler.nodeAffinityPreset.type Thanos Ruler node affinity preset type. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3634 ## @param ruler.nodeAffinityPreset.key Thanos Ruler node label key to match. Ignored if `ruler.affinity` is set.
3636 ## key: "kubernetes.io/e2e-az-name"
3639 ## @param ruler.nodeAffinityPreset.values Thanos Ruler node label values to match. Ignored if `ruler.affinity` is set.
3646 ## @param ruler.affinity Thanos Ruler affinity for pod assignment
3647 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3648 ## Note: ruler.podAffinityPreset, ruler.podAntiAffinityPreset, and ruler.nodeAffinityPreset will be ignored when it's set
3651 ## @param ruler.nodeSelector Thanos Ruler node labels for pod assignment
3652 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3655 ## @param ruler.tolerations Thanos Ruler tolerations for pod assignment
3656 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3659 ## @param ruler.podLabels Thanos Ruler pod labels
3660 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3663 ## @param ruler.podAnnotations Annotations for Thanos Ruler pods
3664 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3667 ## @param ruler.statefulsetLabels Thanos Ruler statefulset labels
3668 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3670 statefulsetLabels: {}
3671 ## @param ruler.statefulsetAnnotations Thanos Ruler statefulset annotations
3672 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3674 statefulsetAnnotations: {}
3675 ## @param ruler.dnsConfig Deployment pod DNS config
3676 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
3682 ## - name: single-request-reopen
3685 ## @param ruler.dnsPolicy Deployment pod DNS policy
3686 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
3688 ## dnsPolicy: ClusterFirstWithHostNet
3691 ## @param ruler.hostAliases Deployment pod host aliases
3692 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3695 ## @param ruler.lifecycleHooks for the Thanos Ruler container(s) to automate configuration before or after startup
3698 ## @param ruler.priorityClassName Thanos Ruler priorityClassName
3699 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
3701 priorityClassName: ""
3702 ## @param ruler.schedulerName Name of the k8s scheduler (other than default) for Thanos Ruler pods
3703 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3706 ## @param ruler.topologySpreadConstraints Topology Spread Constraints for Thanos Ruler pods assignment spread across your cluster among failure-domains
3707 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3709 topologySpreadConstraints: []
3711 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
3714 ## @param ruler.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
3717 ## @param ruler.networkPolicy.allowExternal Don't require client label for connections
3718 ## The Policy model to apply. When set to false, only pods with the correct
3719 ## client label will have network access to the ports the application is listening
3720 ## on. When true, the app will accept connections from any source
3721 ## (with the correct destination port).
3724 ## @param ruler.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
3726 allowExternalEgress: true
3727 ## @param ruler.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
3737 ## - matchExpressions:
3743 ## @param ruler.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
3753 ## - matchExpressions:
3760 ## @param ruler.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
3761 ## @param ruler.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
3763 ingressNSMatchLabels: {}
3764 ingressNSPodMatchLabels: {}
3765 ## Service parameters
3768 ## @param ruler.service.type Kubernetes service type
3771 ## @param ruler.service.ports.http Thanos Ruler service HTTP port
3772 ## @param ruler.service.ports.grpc Thanos Ruler service GRPC port
3777 ## @param ruler.service.nodePorts.http Specify the Thanos Ruler HTTP nodePort value for the LoadBalancer and NodePort service types
3778 ## @param ruler.service.nodePorts.grpc Specify the Thanos Ruler GRPC nodePort value for the LoadBalancer and NodePort service types
3779 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
3784 ## @param ruler.service.clusterIP Thanos Ruler service clusterIP IP
3789 ## @param ruler.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
3790 ## Set the LoadBalancer service type to internal only
3791 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
3794 ## @param ruler.service.loadBalancerSourceRanges Address that are allowed when service is LoadBalancer
3795 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3797 ## loadBalancerSourceRanges:
3800 loadBalancerSourceRanges: []
3801 ## @param ruler.service.externalTrafficPolicy Thanos Ruler service externalTrafficPolicy
3802 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
3804 externalTrafficPolicy: Cluster
3805 ## @param ruler.service.labels Extra labels for Thanos Ruler service
3808 ## @param ruler.service.annotations Annotations for Thanos Ruler service
3811 ## @param ruler.service.extraPorts Extra ports to expose in the Thanos Ruler service
3814 ## @param ruler.service.labelSelectorsOverride Selector for Thanos Query service
3816 labelSelectorsOverride: {}
3817 ## @param ruler.service.additionalHeadless Additional Headless service
3819 additionalHeadless: false
3820 ## Headless service properties
3823 ## @param ruler.service.headless.annotations Annotations for the headless service.
3826 ## @param ruler.service.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
3829 ## @param ruler.service.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
3832 ## Persistence parameters
3835 ## @param ruler.persistence.enabled Enable data persistence using PVC(s) on Thanos Ruler pods
3838 ## @param ruler.persistence.storageClass Specify the `storageClass` used to provision the volume
3839 ## If defined, storageClassName: <storageClass>
3840 ## If set to "-", storageClassName: "", which disables dynamic provisioning
3841 ## If undefined (the default) or set to null, no storageClassName spec is
3842 ## set, choosing the default provisioner.
3845 ## @param ruler.persistence.accessModes PVC Access Modes for data volume
3849 ## @param ruler.persistence.size PVC Storage Request for data volume
3852 ## @param ruler.persistence.annotations Annotations for the PVC
3855 ## @param ruler.persistence.existingClaim Name of an existing PVC to use
3856 ## If defined, PVC must be created manually before volume will be bound
3859 ## Persistent Volume Claim Retention Policy
3860 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
3862 persistentVolumeClaimRetentionPolicy:
3863 ## @param ruler.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Thanos Ruler Statefulset
3866 ## @param ruler.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
3869 ## @param ruler.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
3872 ## @param ruler.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the sts
3874 automountServiceAccountToken: true
3875 ## ServiceAccount configuration
3876 ## @param ruler.serviceAccount.create Specifies whether a ServiceAccount should be created
3877 ## @param ruler.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
3878 ## @param ruler.serviceAccount.annotations Annotations for Thanos Ruler Service Account
3879 ## @param ruler.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
3885 automountServiceAccountToken: false
3886 ## Thanos Ruler Autoscaling configuration
3887 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
3888 ## @param ruler.autoscaling.enabled Enable autoscaling for Thanos Ruler
3889 ## @param ruler.autoscaling.minReplicas Minimum number of Thanos Ruler replicas
3890 ## @param ruler.autoscaling.maxReplicas Maximum number of Thanos Ruler replicas
3891 ## @param ruler.autoscaling.targetCPU Target CPU utilization percentage
3892 ## @param ruler.autoscaling.targetMemory Target Memory utilization percentage
3893 ## @param ruler.autoscaling.behavior HPA Behavior
3894 ## @param ruler.externalAutoscaler Specifies whether the Thanos Ruler statefulset is scaled by an external autoscaler
3903 externalAutoscaler: false
3904 ## Thanos Ruler Pod Disruption Budget configuration
3905 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3906 ## @param ruler.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Ruler
3907 ## @param ruler.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3908 ## @param ruler.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
3914 ## Configure the ingress resource that allows you to access Thanos Ruler
3915 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
3918 ## @param ruler.ingress.enabled Enable ingress controller resource
3921 ## @param ruler.ingress.hostname Default host for the ingress resource
3923 hostname: thanos-ruler.local
3924 ## @param ruler.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
3925 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
3926 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
3928 ingressClassName: ""
3929 ## @param ruler.ingress.labels Additional label for the Ingress resource.
3930 ## Use this parameter to set the required labels for your needs
3933 ## dns-managed-by-external-dns: 'true'
3936 ## @param ruler.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
3937 ## For a full list of possible ingress annotations, please see
3938 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
3939 ## Use this parameter to set the required annotations for cert-manager, see
3940 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
3944 ## kubernetes.io/ingress.class: nginx
3945 ## cert-manager.io/cluster-issuer: cluster-issuer-name
3948 ## @param ruler.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
3949 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
3951 ## - name: thanos.local
3953 ## pathType: ImplementationSpecific
3956 ## @param ruler.ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
3957 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
3961 ## secretName: thanos.local-tls
3964 ## @param ruler.ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
3965 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
3966 ## -----BEGIN RSA PRIVATE KEY-----
3968 ## name should line up with a tlsSecret set further up
3969 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
3971 ## It is also possible to create and manage the certificates outside of this helm chart
3972 ## Please see README.md for more information
3974 ## - name: thanos.local-tls
3979 ## @param ruler.ingress.extraRules Additional rules to be covered with this ingress record
3980 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
3983 ## - host: example.local
3988 ## name: example-svc
3993 ## @param ruler.ingress.apiVersion Force Ingress API version (automatically detected if not set)
3996 ## @param ruler.ingress.path Ingress path
3999 ## @param ruler.ingress.pathType Ingress path type
4001 pathType: ImplementationSpecific
4002## @section Thanos Receive parameters
4004 ## @param receive.enabled Enable/disable Thanos Receive component
4007 ## @param receive.mode Mode to run receiver in. Valid options are "standalone" or "dual-mode"
4008 ## ref: https://github.com/thanos-io/thanos/blob/release-0.22/docs/proposals-accepted/202012-receive-split.md
4009 ## Enables running the Thanos Receiver in dual mode. Setting this to "dual-mode" will create a deployment for
4010 ## the stateless thanos distributor.
4012 ## @param receive.logLevel Thanos Receive log level
4015 ## @param receive.logFormat Thanos Receive log format
4018 ## @param receive.tsdbRetention Thanos Receive TSDB retention period
4021 ## @param receive.replicationProtocol Thanos Receive replication-protocol
4022 ## ref: https://thanos.io/tip/components/receive.md/#replication-protocols
4024 replicationProtocol: capnproto
4025 ## @param receive.replicationFactor Thanos Receive replication-factor
4027 replicationFactor: 1
4028 ## @param receive.config Receive Hashring configuration
4029 ## Note: json formatted string and yaml allowed.
4033 ## - "127.0.0.1:10901"
4036 ## @param receive.tsdbPath Thanos Receive path to the time series database
4038 ## e.g.: /var/thanos/receive
4040 ## @param receive.existingConfigmap Name of existing ConfigMap with Thanos Receive Hashring configuration
4041 ## NOTE: This will override receive.config
4043 existingConfigmap: ""
4044 ## @param receive.replicaLabel Label to treat as a replica indicator along which data is de-duplicated
4046 replicaLabel: replica
4047 ## Thanos Receive parameters
4048 ## ref: https://github.com/thanos-io/thanos/blob/master/docs/components/receive.md#flags
4054 ## TLS configuration
4055 ## @param receive.grpc.server.tls.enabled Enable TLS encryption in the GRPC server
4056 ## @param receive.grpc.server.tls.autoGenerated Create self-signed TLS certificates. Currently only supports PEM certificates
4057 ## @param receive.grpc.server.tls.cert TLS Certificate for GRPC server - ignored if existingSecret is provided
4058 ## @param receive.grpc.server.tls.key TLS Key for GRPC server - ignored if existingSecret is provided
4059 ## @param receive.grpc.server.tls.ca TLS CA to verify clients against - ignored if existingSecret is provided
4060 ## @param receive.grpc.server.tls.clientAuthEnabled Enable TLS client verification against provided CA
4061 ## @param receive.grpc.server.tls.existingSecret Existing secret containing your own TLS certificates
4067 ## tls-cert: cert.pem
4072 autoGenerated: false
4076 clientAuthEnabled: true
4078 ## @param receive.extraEnvVars Extra environment variables for Thanos Receive container
4085 ## @param receive.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Receive nodes
4088 ## @param receive.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Receive nodes
4090 extraEnvVarsSecret: ""
4091 ## @param receive.extraFlags Extra Flags to passed to Thanos Receive
4094 ## @param receive.command Override default container command (useful when using custom images)
4097 ## @param receive.args Override default container args (useful when using custom images)
4100 ## @param receive.replicaCount Number of Thanos Receive replicas to deploy
4103 ## @param receive.revisionHistoryLimit The number of old history to retain to allow rollback
4105 revisionHistoryLimit: 10
4106 ## @param receive.updateStrategy.type Update strategy type for Thanos Receive replicas
4110 ## @param receive.podManagementPolicy
4111 ## @param receive.podManagementPolicy Statefulset Pod management policy: OrderedReady (default) or Parallel
4112 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
4114 podManagementPolicy: OrderedReady
4115 ## @param receive.minReadySeconds How many seconds a pod needs to be ready before killing the next, during update
4118 ## @param receive.containerPorts.http HTTP container port
4119 ## @param receive.containerPorts.grpc GRPC container port
4120 ## @param receive.containerPorts.remote Remote-write container port
4121 ## @param receive.containerPorts.capnproto Cap'n'Proto container port
4128 ## K8s Pod Security Context for Thanos Receive pods
4129 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4130 ## @param receive.podSecurityContext.enabled Enable security context for the Thanos Receive pods
4131 ## @param receive.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
4132 ## @param receive.podSecurityContext.sysctls Set kernel settings using the sysctl interface
4133 ## @param receive.podSecurityContext.supplementalGroups Set filesystem extra groups
4134 ## @param receive.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Receive pods
4138 fsGroupChangePolicy: Always
4140 supplementalGroups: []
4142 ## K8s containers' Security Context for Thanos Receive containers
4143 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
4144 ## @param receive.containerSecurityContext.enabled Enabled containers' Security Context
4145 ## @param receive.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4146 ## @param receive.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
4147 ## @param receive.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
4148 ## @param receive.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
4149 ## @param receive.containerSecurityContext.privileged Set container's Security Context privileged
4150 ## @param receive.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
4151 ## @param receive.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
4152 ## @param receive.containerSecurityContext.capabilities.drop List of capabilities to be dropped
4153 ## @param receive.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4155 containerSecurityContext:
4162 readOnlyRootFilesystem: true
4163 allowPrivilegeEscalation: false
4167 type: "RuntimeDefault"
4168 ## Thanos Receive containers' resource requests and limits
4169 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4170 ## @param receive.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if receive.resources is set (receive.resources is recommended for production).
4172 resourcesPreset: "nano"
4173 ## @param receive.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4184 ## Configure extra options for Thanos Receive containers' liveness and readiness probes
4185 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
4186 ## @param receive.livenessProbe.enabled Enable livenessProbe on Thanos Receive containers
4187 ## @param receive.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
4188 ## @param receive.livenessProbe.periodSeconds Period seconds for livenessProbe
4189 ## @param receive.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
4190 ## @param receive.livenessProbe.failureThreshold Failure threshold for livenessProbe
4191 ## @param receive.livenessProbe.successThreshold Success threshold for livenessProbe
4195 initialDelaySeconds: 30
4200 ## @param receive.readinessProbe.enabled Enable readinessProbe on Thanos Receive containers
4201 ## @param receive.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
4202 ## @param receive.readinessProbe.periodSeconds Period seconds for readinessProbe
4203 ## @param receive.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
4204 ## @param receive.readinessProbe.failureThreshold Failure threshold for readinessProbe
4205 ## @param receive.readinessProbe.successThreshold Success threshold for readinessProbe
4209 initialDelaySeconds: 30
4214 ## @param receive.startupProbe.enabled Enable startupProbe on Thanos Receive containers
4215 ## @param receive.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
4216 ## @param receive.startupProbe.periodSeconds Period seconds for startupProbe
4217 ## @param receive.startupProbe.timeoutSeconds Timeout seconds for startupProbe
4218 ## @param receive.startupProbe.failureThreshold Failure threshold for startupProbe
4219 ## @param receive.startupProbe.successThreshold Success threshold for startupProbe
4223 initialDelaySeconds: 5
4226 failureThreshold: 15
4228 ## @param receive.customLivenessProbe Custom livenessProbe that overrides the default one
4230 customLivenessProbe: {}
4231 ## @param receive.customReadinessProbe Custom readinessProbe that overrides the default one
4233 customReadinessProbe: {}
4234 ## @param receive.customStartupProbe Custom startupProbe that overrides the default one
4236 customStartupProbe: {}
4237 ## @param receive.initContainers Add additional init containers to the Thanos Receive pods
4238 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
4241 ## - name: your-image-name
4242 ## image: your-image
4243 ## imagePullPolicy: Always
4244 ## command: ['sh', '-c', 'echo "hello world"']
4247 ## @param receive.sidecars Extra containers running as sidecars to Thanos Receive pods
4250 ## - name: your-image-name
4251 ## image: your-image
4252 ## imagePullPolicy: Always
4255 ## containerPort: 1234
4258 ## @param receive.extraVolumes Extra volumes to add to Thanos Receive
4261 ## @param receive.extraVolumeMounts Extra volume mounts to add to the receive container
4263 extraVolumeMounts: []
4264 ## @param receive.podAffinityPreset Thanos Receive pod affinity preset
4265 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4266 ## Allowed values: soft, hard
4268 podAffinityPreset: ""
4269 ## @param receive.podAntiAffinityPreset Thanos Receive pod anti-affinity preset. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
4270 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4272 podAntiAffinityPreset: soft
4273 ## Thanos Receive node affinity preset
4274 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
4277 ## @param receive.nodeAffinityPreset.type Thanos Receive node affinity preset type. Ignored if `receive.affinity` is set. Allowed values: `soft` or `hard`
4280 ## @param receive.nodeAffinityPreset.key Thanos Receive node label key to match. Ignored if `receive.affinity` is set.
4282 ## key: "kubernetes.io/e2e-az-name"
4285 ## @param receive.nodeAffinityPreset.values Thanos Receive node label values to match. Ignored if `receive.affinity` is set.
4292 ## @param receive.affinity Thanos Receive affinity for pod assignment
4293 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
4294 ## Note: receive.podAffinityPreset, receive.podAntiAffinityPreset, and receive.nodeAffinityPreset will be ignored when it's set
4297 ## @param receive.nodeSelector Thanos Receive node labels for pod assignment
4298 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
4301 ## @param receive.tolerations Thanos Receive tolerations for pod assignment
4302 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4305 ## @param receive.statefulsetLabels Thanos Receive statefulset labels
4306 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
4308 statefulsetLabels: {}
4309 ## @param receive.statefulsetAnnotations Thanos Receive statefulset annotations
4310 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
4312 statefulsetAnnotations: {}
4313 ## @param receive.podLabels Thanos Receive pod labels
4314 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
4317 ## @param receive.podAnnotations Annotations for Thanos Receive pods
4318 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
4321 ## @param receive.dnsConfig Deployment pod DNS config
4322 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
4328 ## - name: single-request-reopen
4331 ## @param receive.dnsPolicy Deployment pod DNS policy
4332 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
4334 ## dnsPolicy: ClusterFirstWithHostNet
4337 ## @param receive.hostAliases Deployment pod host aliases
4338 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
4341 ## @param receive.terminationGracePeriodSeconds for the Thanos Receive containers(s) to extend the grace period
4343 terminationGracePeriodSeconds: ""
4344 ## @param receive.lifecycleHooks for the Thanos Receive container(s) to automate configuration before or after startup
4347 ## @param receive.priorityClassName Thanos Receive priorityClassName
4348 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
4350 priorityClassName: ""
4351 ## @param receive.schedulerName Name of the k8s scheduler (other than default) for Thanos Receive pods
4352 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
4355 ## @param receive.topologySpreadConstraints Topology Spread Constraints for Thanos Receive pods assignment spread across your cluster among failure-domains
4356 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
4358 topologySpreadConstraints: []
4360 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
4363 ## @param receive.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
4366 ## @param receive.networkPolicy.allowExternal Don't require client label for connections
4367 ## The Policy model to apply. When set to false, only pods with the correct
4368 ## client label will have network access to the ports the application is listening
4369 ## on. When true, the app will accept connections from any source
4370 ## (with the correct destination port).
4373 ## @param receive.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
4375 allowExternalEgress: true
4376 ## @param receive.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
4386 ## - matchExpressions:
4392 ## @param receive.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
4402 ## - matchExpressions:
4409 ## @param receive.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
4410 ## @param receive.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
4412 ingressNSMatchLabels: {}
4413 ingressNSPodMatchLabels: {}
4414 ## Service parameters
4417 ## @param receive.service.type Kubernetes service type
4420 ## @param receive.service.ports.http Thanos Receive service HTTP port
4421 ## @param receive.service.ports.grpc Thanos Receive service GRPC port
4422 ## @param receive.service.ports.remote Thanos Receive service Remote-write port
4423 ## @param receive.service.ports.capnproto Thanos Receive service Cap'n'Proto port
4430 ## @param receive.service.nodePorts.http Specify the Thanos Receive HTTP nodePort value for the LoadBalancer and NodePort service types
4431 ## @param receive.service.nodePorts.grpc Specify the Thanos Receive GRPC nodePort value for the LoadBalancer and NodePort service types
4432 ## @param receive.service.nodePorts.remote Specify the Thanos Receive Remote-write nodePort value for the LoadBalancer and NodePort service types
4433 ## @param receive.service.nodePorts.capnproto Specify the Thanos Receive Cap'n'Proto nodePort value for the LoadBalancer and NodePort service types
4434 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
4441 ## @param receive.service.clusterIP Thanos Receive service clusterIP IP
4446 ## @param receive.service.loadBalancerIP Load balancer IP if service type is `LoadBalancer`
4447 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
4450 ## @param receive.service.loadBalancerSourceRanges Addresses that are allowed when service is LoadBalancer
4451 ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
4453 ## loadBalancerSourceRanges:
4456 loadBalancerSourceRanges: []
4457 ## @param receive.service.externalTrafficPolicy Thanos Receive service externalTrafficPolicy
4458 ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
4460 externalTrafficPolicy: Cluster
4461 ## @param receive.service.labels Extra labels for Thanos Receive service
4464 ## @param receive.service.annotations Annotations for Thanos Receive service
4467 ## @param receive.service.extraPorts Extra ports to expose in the Thanos Receive service
4470 ## @param receive.service.labelSelectorsOverride Selector for Thanos receive service
4472 labelSelectorsOverride: {}
4473 ## @param receive.service.additionalHeadless Additional Headless service
4475 additionalHeadless: false
4476 ## Headless service properties
4479 ## @param receive.service.headless.annotations Annotations for the headless service.
4482 ## @param receive.service.ipFamilyPolicy Sets the IP family policy for the Service to be able to configure dual-stack; see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services).
4485 ## @param receive.service.ipFamilies A list of IP families for the Service that should be supported, in the order in which they should be applied. Can be "IPv4" and/or "IPv6".
4488 ## @param receive.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the sts
4490 automountServiceAccountToken: true
4491 ## ServiceAccount configuration
4492 ## @param receive.serviceAccount.create Specifies whether a ServiceAccount should be created
4493 ## @param receive.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
4494 ## @param receive.serviceAccount.annotations Annotations for Thanos Receive Service Account
4495 ## @param receive.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
4501 automountServiceAccountToken: false
4502 ## Thanos Receive Autoscaling configuration
4503 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
4504 ## @param receive.autoscaling.enabled Enable autoscaling for Thanos Receive
4505 ## @param receive.autoscaling.minReplicas Minimum number of Thanos Receive replicas
4506 ## @param receive.autoscaling.maxReplicas Maximum number of Thanos Receive replicas
4507 ## @param receive.autoscaling.targetCPU Target CPU utilization percentage
4508 ## @param receive.autoscaling.targetMemory Target Memory utilization percentage
4509 ## @param receive.autoscaling.behavior HPA Behavior
4510 ## @param receive.externalAutoscaler Specifies whether the Thanos Receive statefulset is scaled by an external autoscaler
4519 externalAutoscaler: false
4520 ## Thanos Receive Pod Disruption Budget configuration
4521 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
4522 ## @param receive.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Receive
4523 ## @param receive.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
4524 ## @param receive.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
4530 ## Persistence parameters
4533 ## @param receive.persistence.enabled Enable data persistence using PVC(s) on Thanos Receive pods
4536 ## @param receive.persistence.storageClass Specify the `storageClass` used to provision the volume
4537 ## If defined, storageClassName: <storageClass>
4538 ## If set to "-", storageClassName: "", which disables dynamic provisioning
4539 ## If undefined (the default) or set to null, no storageClassName spec is
4540 ## set, choosing the default provisioner.
4543 ## @param receive.persistence.accessModes PVC Access Modes for data volume
4547 ## @param receive.persistence.size PVC Storage Request for data volume
4550 ## @param receive.persistence.labels Labels for the PVC
4553 ## @param receive.persistence.annotations Annotations for the PVC
4556 ## @param receive.persistence.existingClaim Name of an existing PVC to use
4557 ## If defined, PVC must be created manually before volume will be bound
4560 ## Persistent Volume Claim Retention Policy
4561 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
4563 persistentVolumeClaimRetentionPolicy:
4564 ## @param receive.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Thanos Receive Statefulset
4567 ## @param receive.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
4570 ## @param receive.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
4573 ## Configure the ingress resource that allows you to access Thanos Receive
4574 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
4577 ## @param receive.ingress.enabled Set to true to enable ingress record generation
4580 ## @param receive.ingress.hostname When the ingress is enabled, a host pointing to this will be created
4582 hostname: thanos-receive.local
4583 ## @param receive.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
4584 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
4585 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
4587 ingressClassName: ""
4588 ## @param receive.ingress.labels Additional label for the Ingress resource.
4589 ## Use this parameter to set the required labels for your needs
4592 ## dns-managed-by-external-dns: 'true'
4595 ## @param receive.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
4596 ## For a full list of possible ingress annotations, please see
4597 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
4598 ## Use this parameter to set the required annotations for cert-manager, see
4599 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
4603 ## kubernetes.io/ingress.class: nginx
4604 ## cert-manager.io/cluster-issuer: cluster-issuer-name
4607 ## @param receive.ingress.extraHosts The list of additional hostnames to be covered with this ingress record.
4608 ## Most likely the hostname above will be enough, but in the event more hosts are needed, this is an array
4610 ## - name: thanos.local
4612 ## pathType: ImplementationSpecific
4613 ## portName: "http" # or "remote"
4616 ## @param receive.ingress.extraTls The tls configuration for additional hostnames to be covered with this ingress record.
4617 ## see: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
4621 ## secretName: thanos.local-tls
4624 ## @param receive.ingress.secrets If you're providing your own certificates, please use this to add the certificates as secrets
4625 ## key and certificate should start with -----BEGIN CERTIFICATE----- or
4626 ## -----BEGIN RSA PRIVATE KEY-----
4628 ## name should line up with a tlsSecret set further up
4629 ## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
4631 ## It is also possible to create and manage the certificates outside of this helm chart
4632 ## Please see README.md for more information
4634 ## - name: thanos.local-tls
4639 ## @param receive.ingress.extraRules Additional rules to be covered with this ingress record
4640 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
4643 ## - host: example.local
4648 ## name: example-svc
4653 ## @param receive.ingress.tls Enable TLS configuration for the hostname defined at `receive.ingress.hostname` parameter
4654 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.receive.ingress.hostname }}`
4656 ## - Use the `receive.ingress.secrets` parameter to create this TLS secret
4657 ## - Rely on cert-manager to create it by setting the corresponding annotations
4658 ## - Rely on Helm to create self-signed certificates by setting `receive.ingress.selfSigned=true`
4661 ## @param receive.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
4664 ## @param receive.ingress.apiVersion Override API Version (automatically detected if not set)
4667 ## @param receive.ingress.path Ingress Path
4670 ## @param receive.ingress.pathType Ingress Path type
4672 pathType: ImplementationSpecific
4673## @section Thanos Receive Distributor parameters
4675 ## @param receiveDistributor.enabled Enable/disable Thanos Receive Distributor component
4678 ## @param receiveDistributor.logLevel Thanos Receive Distributor log level
4681 ## @param receiveDistributor.logFormat Thanos Receive Distributor log format
4684 ## @param receiveDistributor.replicaLabel Label to treat as a replica indicator along which data is de-duplicated
4686 replicaLabel: replica
4687 ## @param receiveDistributor.replicationProtocol Thanos Receive Distributor replication-protocol
4688 ## ref: https://thanos.io/tip/components/receive.md/#replication-protocols
4690 replicationProtocol: capnproto
4691 ## @param receiveDistributor.replicationFactor Thanos Receive Distributor replication-factor
4693 replicationFactor: 1
4694 ## @param receiveDistributor.extraEnvVars Extra environment variables for Thanos Receive Distributor container
4701 ## @param receiveDistributor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Thanos Receive Distributor nodes
4704 ## @param receiveDistributor.extraEnvVarsSecret Name of existing Secret containing extra env vars for Thanos Receive Distributor nodes
4706 extraEnvVarsSecret: ""
4707 ## @param receiveDistributor.extraFlags Extra Flags to passed to Thanos Receive Distributor
4710 ## @param receiveDistributor.command Override default container command (useful when using custom images)
4713 ## @param receiveDistributor.args Override default container args (useful when using custom images)
4716 ## @param receiveDistributor.replicaCount Number of Thanos Receive Distributor replicas to deploy
4719 ## @param receiveDistributor.revisionHistoryLimit The number of old history to retain to allow rollback
4721 revisionHistoryLimit: 10
4722 ## @param receiveDistributor.updateStrategy.type Update strategy type for Thanos Receive Distributor replicas
4726 ## K8s Pod Security Context for Thanos Receive Distributor pods
4727 ## https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
4728 ## @param receiveDistributor.podSecurityContext.enabled Enable security context for the Thanos Receive Distributor pods
4729 ## @param receiveDistributor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
4730 ## @param receiveDistributor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
4731 ## @param receiveDistributor.podSecurityContext.supplementalGroups Set filesystem extra groups
4732 ## @param receiveDistributor.podSecurityContext.fsGroup Group ID for the filesystem used by Thanos Receive Distributor pods
4736 fsGroupChangePolicy: Always
4738 supplementalGroups: []
4740 ## K8s containers' Security Context for Thanos Receive Distributor containers
4741 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
4742 ## @param receiveDistributor.containerSecurityContext.enabled Enabled containers' Security Context
4743 ## @param receiveDistributor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4744 ## @param receiveDistributor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
4745 ## @param receiveDistributor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
4746 ## @param receiveDistributor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
4747 ## @param receiveDistributor.containerSecurityContext.privileged Set container's Security Context privileged
4748 ## @param receiveDistributor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
4749 ## @param receiveDistributor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
4750 ## @param receiveDistributor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
4751 ## @param receiveDistributor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4753 containerSecurityContext:
4760 readOnlyRootFilesystem: true
4761 allowPrivilegeEscalation: false
4765 type: "RuntimeDefault"
4766 ## Thanos Receive Distributor containers' resource requests and limits
4767 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4768 ## @param receiveDistributor.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if receiveDistributor.resources is set (receiveDistributor.resources is recommended for production).
4770 resourcesPreset: "nano"
4771 ## @param receiveDistributor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4782 ## Configure extra options for Thanos Receive Distributor containers' liveness and readiness probes
4783 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
4784 ## @param receiveDistributor.livenessProbe.enabled Enable livenessProbe on Thanos Receive Distributor containers
4785 ## @param receiveDistributor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
4786 ## @param receiveDistributor.livenessProbe.periodSeconds Period seconds for livenessProbe
4787 ## @param receiveDistributor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
4788 ## @param receiveDistributor.livenessProbe.failureThreshold Failure threshold for livenessProbe
4789 ## @param receiveDistributor.livenessProbe.successThreshold Success threshold for livenessProbe
4793 initialDelaySeconds: 30
4798 ## @param receiveDistributor.readinessProbe.enabled Enable readinessProbe on Thanos Receive Distributor containers
4799 ## @param receiveDistributor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
4800 ## @param receiveDistributor.readinessProbe.periodSeconds Period seconds for readinessProbe
4801 ## @param receiveDistributor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
4802 ## @param receiveDistributor.readinessProbe.failureThreshold Failure threshold for readinessProbe
4803 ## @param receiveDistributor.readinessProbe.successThreshold Success threshold for readinessProbe
4807 initialDelaySeconds: 30
4812 ## @param receiveDistributor.startupProbe.enabled Enable startupProbe on Thanos Receive Distributor containers
4813 ## @param receiveDistributor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
4814 ## @param receiveDistributor.startupProbe.periodSeconds Period seconds for startupProbe
4815 ## @param receiveDistributor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
4816 ## @param receiveDistributor.startupProbe.failureThreshold Failure threshold for startupProbe
4817 ## @param receiveDistributor.startupProbe.successThreshold Success threshold for startupProbe
4821 initialDelaySeconds: 5
4824 failureThreshold: 15
4826 ## @param receiveDistributor.customLivenessProbe Custom livenessProbe that overrides the default one
4828 customLivenessProbe: {}
4829 ## @param receiveDistributor.customReadinessProbe Custom readinessProbe that overrides the default one
4831 customReadinessProbe: {}
4832 ## @param receiveDistributor.customStartupProbe Custom startupProbe that overrides the default one
4834 customStartupProbe: {}
4835 ## @param receiveDistributor.terminationGracePeriodSeconds for the Thanos Receive containers(s) to extend the grace period
4837 terminationGracePeriodSeconds: ""
4838 ## @param receiveDistributor.initContainers Add additional init containers to the Thanos Receive Distributor pods
4839 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
4842 ## - name: your-image-name
4843 ## image: your-image
4844 ## imagePullPolicy: Always
4845 ## command: ['sh', '-c', 'echo "hello world"']
4848 ## @param receiveDistributor.sidecars Extra containers running as sidecars to Thanos Receive Distributor pods
4851 ## - name: your-image-name
4852 ## image: your-image
4853 ## imagePullPolicy: Always
4856 ## containerPort: 1234
4859 ## @param receiveDistributor.extraVolumes Extra volumes to add to Thanos Receive Distributor
4862 ## @param receiveDistributor.extraVolumeMounts Extra volume mounts to add to the receive distributor container
4864 extraVolumeMounts: []
4865 ## @param receiveDistributor.podAffinityPreset Thanos Receive pod affinity preset
4866 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4867 ## Allowed values: soft, hard
4869 podAffinityPreset: ""
4870 ## @param receiveDistributor.podAntiAffinityPreset Thanos Receive pod anti-affinity preset. Ignored if `receiveDistributor.affinity` is set. Allowed values: `soft` or `hard`
4871 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4873 podAntiAffinityPreset: soft
4874 ## Thanos Receive node affinity preset
4875 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
4878 ## @param receiveDistributor.nodeAffinityPreset.type Thanos Receive node affinity preset type. Ignored if `receiveDistributor.affinity` is set. Allowed values: `soft` or `hard`
4881 ## @param receiveDistributor.nodeAffinityPreset.key Thanos Receive node label key to match. Ignored if `receiveDistributor.affinity` is set.
4883 ## key: "kubernetes.io/e2e-az-name"
4886 ## @param receiveDistributor.nodeAffinityPreset.values Thanos Receive node label values to match. Ignored if `receiveDistributor.affinity` is set.
4893 ## @param receiveDistributor.affinity Thanos Receive Distributor affinity for pod assignment
4894 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
4895 ## Note: receiveDistributor.podAffinityPreset, receiveDistributor.podAntiAffinityPreset, and receiveDistributor.nodeAffinityPreset will be ignored when it's set
4898 ## @param receiveDistributor.nodeSelector Thanos Receive Distributor node labels for pod assignment
4899 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
4902 ## @param receiveDistributor.tolerations Thanos Receive Distributor tolerations for pod assignment
4903 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4906 ## @param receiveDistributor.podLabels Thanos Receive Distributor pod labels
4907 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
4910 ## @param receiveDistributor.podAnnotations Annotations for Thanos Receive Distributor pods
4911 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
4914 ## @param receiveDistributor.dnsConfig Deployment pod DNS config
4915 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
4921 ## - name: single-request-reopen
4924 ## @param receiveDistributor.dnsPolicy Deployment pod DNS policy
4925 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
4927 ## dnsPolicy: ClusterFirstWithHostNet
4930 ## @param receiveDistributor.hostAliases Deployment pod host aliases
4931 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
4934 ## @param receiveDistributor.lifecycleHooks for the Thanos Receive Distributor container(s) to automate configuration before or after startup
4937 ## @param receiveDistributor.priorityClassName Thanos Receive Distributor priorityClassName
4938 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
4940 priorityClassName: ""
4941 ## @param receiveDistributor.schedulerName Name of the k8s scheduler (other than default) for Thanos Receive Distributor pods
4942 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
4945 ## @param receiveDistributor.topologySpreadConstraints Topology Spread Constraints for Thanos Receive Distributor pods assignment spread across your cluster among failure-domains
4946 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
4948 topologySpreadConstraints: []
4949 ## @param receiveDistributor.automountServiceAccountToken Enable/disable auto mounting of the service account token only for the deployment
4951 automountServiceAccountToken: true
4952 ## ServiceAccount configuration
4953 ## @param receiveDistributor.serviceAccount.create Specifies whether a ServiceAccount should be created
4954 ## @param receiveDistributor.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
4955 ## @param receiveDistributor.serviceAccount.annotations Annotations for Thanos Receive Distributor Service Account
4956 ## @param receiveDistributor.serviceAccount.automountServiceAccountToken Enable/disable auto mounting of the service account token
4962 automountServiceAccountToken: false
4963 ## Thanos Receive Distributor Autoscaling configuration
4964 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
4965 ## @param receiveDistributor.autoscaling.enabled Enable autoscaling for Thanos Receive Distributor
4966 ## @param receiveDistributor.autoscaling.minReplicas Minimum number of Thanos Receive Distributor replicas
4967 ## @param receiveDistributor.autoscaling.maxReplicas Maximum number of Thanos Receive Distributor replicas
4968 ## @param receiveDistributor.autoscaling.targetCPU Target CPU utilization percentage
4969 ## @param receiveDistributor.autoscaling.targetMemory Target Memory utilization percentage
4970 ## @param receiveDistributor.autoscaling.behavior HPA Behavior
4971 ## @param receiveDistributor.externalAutoscaler Specifies whether the Thanos Receive Distributor deployment is scaled by an external autoscaler
4980 externalAutoscaler: false
4981 ## Thanos Receive Distributor Pod Disruption Budget configuration
4982 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
4983 ## @param receiveDistributor.pdb.create Enable/disable a Pod Disruption Budget creation for Thanos Receive Distributor
4984 ## @param receiveDistributor.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
4985 ## @param receiveDistributor.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
4991## @section Metrics parameters
4993## Prometheus metrics
4996 ## @param metrics.enabled Enable the export of Prometheus metrics
4999 ## Prometheus Operator ServiceMonitor configuration
5002 ## @param metrics.serviceMonitor.enabled Specify if a ServiceMonitor will be deployed for Prometheus Operator
5005 ## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running
5008 ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
5011 ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in Prometheus
5014 ## @param metrics.serviceMonitor.interval How frequently to scrape metrics
5019 ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
5021 ## scrapeTimeout: 10s
5024 ## @param metrics.serviceMonitor.metricRelabelings [array] Specify additional relabeling of metrics
5026 metricRelabelings: []
5027 ## @param metrics.serviceMonitor.relabelings [array] Specify general relabeling
5030 ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
5033 ## @param metrics.serviceMonitor.extraParameters Any extra parameter to be added to the endpoint configured in the ServiceMonitor
5034 ## (e.g. tlsConfig for further customization of the HTTPS behavior)
5035 ## Note that the 'scheme' is automatically set to 'https' when the 'https.enabled' flag is used in this chart.
5036 ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.Endpoint
5039 ## PrometheusRule CRD configuration
5042 ## @param metrics.prometheusRule.enabled If `true`, creates a Prometheus Operator PrometheusRule (also requires `metrics.enabled` to be `true`)
5045 ## Configure prometheus rules
5048 ## @extra metrics.prometheusRule.default.absent_rules Enable absent_rules when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5049 ## @extra metrics.prometheusRule.default.compaction Enable compaction rules when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5050 ## @extra metrics.prometheusRule.default.query Enable query when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5051 ## @extra metrics.prometheusRule.default.receive Enable receive rules when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5052 ## @extra metrics.prometheusRule.default.replicate Enable replicate rules when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5053 ## @extra metrics.prometheusRule.default.ruler Enable ruler rules when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5054 ## @extra metrics.prometheusRule.default.sidecar Enable sidecar rules when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5055 ## @param metrics.prometheusRule.default.sidecarJobRegex Allows the customization of the thanos-sidecar job name to use in the sidecar prometheus alerts
5056 sidecarJobRegex: ".*thanos-sidecar.*"
5057 ## @extra metrics.prometheusRule.default.store_gateway Enable store_gateway rules when metrics.prometheusRule.default.create is false (also requires `metrics.enabled` to be `true`)
5058 ## @param metrics.prometheusRule.default.create would create all default prometheus alerts
5061 ## @extra metrics.prometheusRule.default.disabled.ThanosCompactIsDown Disable ThanosCompactIsDown rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.absent_rules is true
5062 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryIsDown Disable ThanosQueryIsDown rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.absent_rules is true
5063 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveIsDown Disable ThanosReceiveIsDown rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.absent_rules is true
5064 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleIsDown Disable ThanosRuleIsDown rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.absent_rules is true
5065 ## @extra metrics.prometheusRule.default.disabled.ThanosSidecarIsDown Disable ThanosSidecarIsDown rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.absent_rules is true
5066 ## @extra metrics.prometheusRule.default.disabled.ThanosStoreIsDown Disable ThanosStoreIsDown rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.absent_rules is true
5067 ## @extra metrics.prometheusRule.default.disabled.ThanosCompactMultipleRunning Disable ThanosCompactMultipleRunning rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.compaction is true
5068 ## @extra metrics.prometheusRule.default.disabled.ThanosCompactHalted Disable ThanosCompactMultipleRunning rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.compaction is true
5069 ## @extra metrics.prometheusRule.default.disabled.ThanosCompactHighCompactionFailures Disable ThanosCompactMultipleRunning rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.compaction is true
5070 ## @extra metrics.prometheusRule.default.disabled.ThanosCompactBucketHighOperationFailures Disable ThanosCompactMultipleRunning rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.compaction is true
5071 ## @extra metrics.prometheusRule.default.disabled.ThanosCompactHasNotRun Disable ThanosCompactMultipleRunning rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.compaction is true
5072 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryHttpRequestQueryErrorRateHigh Disable ThanosQueryHttpRequestQueryErrorRateHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5073 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryHttpRequestQueryRangeErrorRateHigh Disable ThanosQueryHttpRequestQueryRangeErrorRateHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5074 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryGrpcServerErrorRate Disable ThanosQueryGrpcServerErrorRate rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5075 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryGrpcClientErrorRate Disable ThanosQueryGrpcClientErrorRate rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5076 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryHighDNSFailures Disable ThanosQueryHighDNSFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5077 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryInstantLatencyHigh Disable ThanosQueryInstantLatencyHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5078 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryRangeLatencyHigh Disable ThanosQueryRangeLatencyHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5079 ## @extra metrics.prometheusRule.default.disabled.ThanosQueryOverload Disable ThanosQueryOverload rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.query is true
5080 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveHttpRequestErrorRateHigh Disable ThanosReceiveHttpRequestErrorRateHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5081 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveHttpRequestLatencyHigh Disable ThanosReceiveHttpRequestLatencyHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5082 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveHighReplicationFailures Disable ThanosReceiveHighReplicationFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5083 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveHighForwardRequestFailures Disable ThanosReceiveHighForwardRequestFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5084 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveHighHashringFileRefreshFailures Disable ThanosReceiveHighHashringFileRefreshFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5085 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveConfigReloadFailure Disable ThanosReceiveConfigReloadFailure rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5086 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveNoUpload Disable ThanosReceiveNoUpload rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5087 ## @extra metrics.prometheusRule.default.disabled.ThanosReceiveTrafficBelowThreshold Disable ThanosReceiveTrafficBelowThreshold rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5088 ## @extra metrics.prometheusRule.default.disabled.ThanosBucketReplicateErrorRate Disable ThanosBucketReplicateErrorRate rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5089 ## @extra metrics.prometheusRule.default.disabled.ThanosBucketReplicateRunLatency Disable ThanosBucketReplicateRunLatency rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.receive is true
5090 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleQueueIsDroppingAlerts Disable ThanosRuleQueueIsDroppingAlerts rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5091 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleSenderIsFailingAlerts Disable ThanosRuleSenderIsFailingAlerts rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5092 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleHighRuleEvaluationFailures Disable ThanosRuleHighRuleEvaluationFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5093 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleHighRuleEvaluationWarnings Disable ThanosRuleHighRuleEvaluationWarnings rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5094 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleRuleEvaluationLatencyHigh Disable ThanosRuleRuleEvaluationLatencyHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5095 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleGrpcErrorRate Disable ThanosRuleGrpcErrorRate rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5096 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleConfigReloadFailure Disable ThanosRuleConfigReloadFailure rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5097 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleQueryHighDNSFailures Disable ThanosRuleQueryHighDNSFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5098 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleAlertmanagerHighDNSFailures Disable ThanosRuleAlertmanagerHighDNSFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5099 ## @extra metrics.prometheusRule.default.disabled.ThanosRuleNoEvaluationFor10Intervals Disable ThanosRuleNoEvaluationFor10Intervals rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5100 ## @extra metrics.prometheusRule.default.disabled.ThanosNoRuleEvaluations Disable ThanosNoRuleEvaluations rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.ruler is true
5101 ## @extra metrics.prometheusRule.default.disabled.ThanosSidecarBucketOperationsFailed Disable ThanosSidecarBucketOperationsFailed rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.sidecar is true
5102 ## @extra metrics.prometheusRule.default.disabled.ThanosSidecarNoConnectionToStartedPrometheus Disable ThanosSidecarNoConnectionToStartedPrometheus rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.sidecar is true
5103 ## @extra metrics.prometheusRule.default.disabled.ThanosStoreGrpcErrorRate Disable ThanosSidecarNoConnectionToStartedPrometheus rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.store_gateway is true
5104 ## @extra metrics.prometheusRule.default.disabled.ThanosStoreSeriesGateLatencyHigh Disable ThanosStoreSeriesGateLatencyHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.store_gateway is true
5105 ## @extra metrics.prometheusRule.default.disabled.ThanosStoreBucketHighOperationFailures Disable ThanosStoreBucketHighOperationFailures rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.store_gateway is true
5106 ## @extra metrics.prometheusRule.default.disabled.ThanosStoreObjstoreOperationLatencyHigh Disable ThanosStoreObjstoreOperationLatencyHigh rule when metrics.prometheusRule.default.create or metrics.prometheusRule.default.store_gateway is true
5107 ## @param metrics.prometheusRule.default.disabled disable one specific prometheus alert rule
5110 ## @param metrics.prometheusRule.runbookUrl Prefix for runbook URLs. Use this to override the first part of the runbookURLs that is common to all rules
5112 runbookUrl: "https://github.com/thanos-io/thanos/tree/main/mixin/runbook.md#alert-name-"
5113 ## @param metrics.prometheusRule.namespace Namespace in which the PrometheusRule CRD is created
5116 ## @param metrics.prometheusRule.additionalLabels Additional labels for the prometheusRule
5118 additionalLabels: {}
5119 ## @param metrics.prometheusRule.groups Prometheus Rule Groups for Thanos components
5120 ## These are just examples rules, please adapt them to your needs.
5122 ## - name: Compactor
5124 ## - alert: ThanosCompactMultipleRunning
5126 ## description: No more than one Thanos Compact instance should be running at once. There are {{`{{`}}$value{{`}}`}} instances running.
5127 ## runbook_url: {{ .Values.metrics.prometheusRule.runbookUrl }}thanoscompactmultiplerunning
5128 ## summary: Thanos Compact has multiple instances running.
5129 ## expr: sum by (job) (up{job=~"{{ template "common.names.fullname" . }}-compact.*"}) > 1
5132 ## severity: warning
5134## @section Volume Permissions parameters
5136## 'volumePermissions' init container parameters
5137## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
5138## based on the *podSecurityContext/*containerSecurityContext parameters
5141 ## @param volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`
5144 ## @param volumePermissions.image.registry [default: REGISTRY_NAME] Init container volume-permissions image registry
5145 ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] Init container volume-permissions image repository
5146 ## @skip volumePermissions.image.tag Init container volume-permissions image tag
5147 ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
5148 ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
5149 ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
5153 repository: chainguard-private/os-shell-iamguarded
5156 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
5158 pullPolicy: IfNotPresent
5159 ## Optionally specify an array of imagePullSecrets.
5160 ## Secrets must be manually created in the namespace.
5161 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
5164 ## - myRegistryKeySecretName
5167## @section MinIO® chart parameters
5169 ## @param minio.enabled Enable/disable MinIO® chart installation
5170 ## to be used as an objstore for Thanos
5173 ## MinIO® authentication parameters
5176 ## @param minio.auth.rootUser MinIO® root username
5179 ## @param minio.auth.rootPassword Password for MinIO® root user
5182 ## @param minio.defaultBuckets Comma, semi-colon or space separated list of MinIO® buckets to create
5184 defaultBuckets: "thanos"
5185 ## MinIO® containers' resource requests and limits
5186 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
5187 ## We usually recommend not to specify default resources and to leave this as a conscious
5188 ## choice for the user. This also increases chances charts run on environments with little
5189 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
5190 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
5191 ## @param minio.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
5193 resourcesPreset: "micro"
5194 ## @param minio.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
5207 repository: chainguard-private/minio-iamguarded
5208 tag: 0.20251015.172955
5212 repository: chainguard-private/minio-client-iamguarded
5213 tag: 0.20250813.083541
5215 defaultInitContainers:
5219 repository: chainguard-private/os-shell-iamguarded
5222 ## @param minio.console.enabled Enable MinIO® Console