Skip to content

cortexproject/cortex-helm-chart

Repository files navigation

cortex

Version: 2.4.0 AppVersion: v1.18.1

Horizontally scalable, highly available, multi-tenant, long term Prometheus.

Homepage: https://cortexmetrics.io/

Maintainers

Name Email Url
Tom Hayward thayward@infoblox.com https://github.com/kd7lxl
Niclas Schad niclas.schad@stackit.cloud https://github.com/nschad

Documentation

Checkout our documentation for the cortex-helm-chart here

Dependencies

Key-Value store

Cortex requires a Key-Value (KV) store to store the ring. It can use traditional KV stores like Consul or etcd, but it can also build its own KV store on top of memberlist library using a gossip algorithm.

The recommended approach is to use the built-in memberlist as a KV store, where supported.

External KV stores can be installed alongside Cortex using their respective helm charts https://github.com/bitnami/charts/tree/master/bitnami/etcd and https://github.com/hashicorp/consul-k8s/tree/main/charts/consul.

Storage

Cortex requires a storage backend to store metrics and indexes. See cortex documentation for details on storage types and documentation

Installation

Helm must be installed to use the charts. Please refer to Helm's documentation to get started.

Once Helm is set up properly, add the repo as follows:

  helm repo add cortex-helm https://cortexproject.github.io/cortex-helm-chart

Cortex can now be installed with the following command:

  helm install cortex --namespace cortex cortex-helm/cortex

If you have custom options or values you want to override:

  helm install cortex --namespace cortex -f my-cortex-values.yaml cortex-helm/cortex

Specific versions of the chart can be installed using the --version option, with the default being the latest release. What versions are available for installation can be listed with the following command:

  helm search repo cortex-helm

As part of this chart many different pods and services are installed which all have varying resource requirements. Please make sure that you have sufficient resources (CPU/memory) available in your cluster before installing Cortex Helm chart.

Upgrades

To upgrade Cortex use the following command:

  helm upgrade cortex -f my-cortex-values.yaml cortex-helm/cortex

Note that it might be necessary to use --reset-values since some default values in the values.yaml might have changed or were removed.

Source code can be found here

Requirements

Kubernetes: ^1.19.0-0

Repository Name Version
https://charts.bitnami.com/bitnami memcached-frontend(memcached) 6.3.12
https://charts.bitnami.com/bitnami memcached-blocks-index(memcached) 6.3.12
https://charts.bitnami.com/bitnami memcached-blocks(memcached) 6.3.12
https://charts.bitnami.com/bitnami memcached-blocks-metadata(memcached) 6.3.12

Values

Key Type Default Description
alertmanager.​affinity object {}
alertmanager.​annotations object {}
alertmanager.​containerSecurityContext.​enabled bool true
alertmanager.​containerSecurityContext.​readOnlyRootFilesystem bool true
alertmanager.​enabled bool true
alertmanager.​env list [] Extra env variables to pass to the cortex container
alertmanager.​extraArgs object {} Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
alertmanager.​extraContainers list [] Additional containers to be added to the cortex pod.
alertmanager.​extraPorts list [] Additional ports to the cortex services. Useful to expose extra container ports.
alertmanager.​extraVolumeMounts list [] Extra volume mounts that will be added to the cortex container
alertmanager.​extraVolumes list [] Additional volumes to the cortex pod.
alertmanager.​initContainers list [] Init containers to be added to the cortex pod.
alertmanager.​livenessProbe.​httpGet.​path string "/ready"
alertmanager.​livenessProbe.​httpGet.​port string "http-metrics"
alertmanager.​nodeSelector object {}
alertmanager.​persistentVolume.​accessModes list ["ReadWriteOnce"] Alertmanager data Persistent Volume access modes Must match those of existing PV or dynamic provisioner Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
alertmanager.​persistentVolume.​annotations object {} Alertmanager data Persistent Volume Claim annotations
alertmanager.​persistentVolume.​enabled bool true If true and alertmanager.statefulSet.enabled is true, Alertmanager will create/use a Persistent Volume Claim If false, use emptyDir
alertmanager.​persistentVolume.​size string "2Gi" Alertmanager data Persistent Volume size
alertmanager.​persistentVolume.​storageClass string nil Alertmanager data Persistent Volume Storage Class If defined, storageClassName: If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
alertmanager.​persistentVolume.​subPath string "" Subdirectory of Alertmanager data Persistent Volume to mount Useful if the volume's root directory is not empty
alertmanager.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
alertmanager.​podDisruptionBudget object {"maxUnavailable":1} If not set then a PodDisruptionBudget will not be created
alertmanager.​podLabels object {} Pod Labels
alertmanager.​readinessProbe.​httpGet.​path string "/ready"
alertmanager.​readinessProbe.​httpGet.​port string "http-metrics"
alertmanager.​replicas int 1
alertmanager.​resources object {}
alertmanager.​securityContext object {}
alertmanager.​service.​annotations object {}
alertmanager.​service.​labels object {}
alertmanager.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
alertmanager.​serviceMonitor.​additionalLabels object {}
alertmanager.​serviceMonitor.​enabled bool false
alertmanager.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
alertmanager.​serviceMonitor.​metricRelabelings list []
alertmanager.​serviceMonitor.​podTargetLabels list []
alertmanager.​serviceMonitor.​relabelings list []
alertmanager.​sidecar.​containerSecurityContext.​enabled bool true
alertmanager.​sidecar.​containerSecurityContext.​readOnlyRootFilesystem bool true
alertmanager.​sidecar.​defaultFolderName string "" The default folder name, it will create a subfolder under the folder and put rules in there instead
alertmanager.​sidecar.​enableUniqueFilenames bool false A value of true will produce unique filenames to avoid issues when duplicate data keys exist between ConfigMaps and/or Secrets within the same or multiple Namespaces.
alertmanager.​sidecar.​enabled bool false Enable sidecar that collect the configmaps with specified label and stores the included files them into the respective folders
alertmanager.​sidecar.​folder string "/data" Folder where the files should be placed.
alertmanager.​sidecar.​folderAnnotation string "k8s-sidecar-target-directory" The annotation the sidecar will look for in ConfigMaps and/or Secrets to override the destination folder for files. If the value is a relative path, it will be relative to FOLDER
alertmanager.​sidecar.​image.​repository string "kiwigrid/k8s-sidecar"
alertmanager.​sidecar.​image.​sha string ""
alertmanager.​sidecar.​image.​tag string "1.19.5"
alertmanager.​sidecar.​imagePullPolicy string "IfNotPresent"
alertmanager.​sidecar.​label string "cortex_alertmanager" Label that should be used for filtering
alertmanager.​sidecar.​labelValue string "" The value for the label you want to filter your resources on. Don't set a value to filter by any value
alertmanager.​sidecar.​resource string "both" The resource type that the operator will filter for. Can be configmap, secret or both
alertmanager.​sidecar.​resources object {}
alertmanager.​sidecar.​searchNamespace string "" The Namespace(s) from which resources will be watched. For multiple namespaces, use a comma-separated string like "default,test". If not set or set to ALL, it will watch all Namespaces.
alertmanager.​sidecar.​skipTlsVerify bool false Set to true to skip tls verification for kube api calls
alertmanager.​sidecar.​watchMethod string "" Determines how kopf-k8s-sidecar will run. If WATCH it will run like a normal operator forever. If LIST it will gather the matching configmaps and secrets currently present, write those files to the destination directory and die
alertmanager.​startupProbe.​failureThreshold int 10
alertmanager.​startupProbe.​httpGet.​path string "/ready"
alertmanager.​startupProbe.​httpGet.​port string "http-metrics"
alertmanager.​statefulSet.​enabled bool false If true, use a statefulset instead of a deployment for pod management. This is useful for using a persistent volume for storing silences between restarts.
alertmanager.​statefulStrategy.​type string "RollingUpdate"
alertmanager.​strategy.​rollingUpdate.​maxSurge int 0
alertmanager.​strategy.​rollingUpdate.​maxUnavailable int 1
alertmanager.​strategy.​type string "RollingUpdate"
alertmanager.​terminationGracePeriodSeconds int 60
alertmanager.​tolerations list [] Tolerations for pod assignment ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
alertmanager.​topologySpreadConstraints list []
clusterDomain string "cluster.local" Kubernetes cluster DNS domain
compactor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
compactor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
compactor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "compactor"
compactor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
compactor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
compactor.​annotations object {}
compactor.​containerSecurityContext.​enabled bool true
compactor.​containerSecurityContext.​readOnlyRootFilesystem bool true
compactor.​enabled bool true
compactor.​env list []
compactor.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
compactor.​extraContainers list []
compactor.​extraPorts list []
compactor.​extraVolumeMounts list []
compactor.​extraVolumes list []
compactor.​initContainers list []
compactor.​livenessProbe object {}
compactor.​nodeSelector object {}
compactor.​persistentVolume.​accessModes list ["ReadWriteOnce"] compactor data Persistent Volume access modes Must match those of existing PV or dynamic provisioner Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
compactor.​persistentVolume.​annotations object {} compactor data Persistent Volume Claim annotations
compactor.​persistentVolume.​enabled bool true If true compactor will create/use a Persistent Volume Claim If false, use emptyDir
compactor.​persistentVolume.​size string "2Gi"
compactor.​persistentVolume.​storageClass string nil compactor data Persistent Volume Storage Class If defined, storageClassName: If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
compactor.​persistentVolume.​subPath string "" Subdirectory of compactor data Persistent Volume to mount Useful if the volume's root directory is not empty
compactor.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
compactor.​podDisruptionBudget.​maxUnavailable int 1
compactor.​podLabels object {} Pod Labels
compactor.​readinessProbe.​httpGet.​path string "/ready"
compactor.​readinessProbe.​httpGet.​port string "http-metrics"
compactor.​replicas int 1
compactor.​resources object {}
compactor.​securityContext object {}
compactor.​service.​annotations object {}
compactor.​service.​labels object {}
compactor.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
compactor.​serviceMonitor.​additionalLabels object {}
compactor.​serviceMonitor.​enabled bool false
compactor.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
compactor.​serviceMonitor.​metricRelabelings list []
compactor.​serviceMonitor.​podTargetLabels list []
compactor.​serviceMonitor.​relabelings list []
compactor.​startupProbe.​failureThreshold int 60
compactor.​startupProbe.​httpGet.​path string "/ready"
compactor.​startupProbe.​httpGet.​port string "http-metrics"
compactor.​startupProbe.​httpGet.​scheme string "HTTP"
compactor.​startupProbe.​initialDelaySeconds int 120
compactor.​startupProbe.​periodSeconds int 30
compactor.​strategy.​type string "RollingUpdate"
compactor.​terminationGracePeriodSeconds int 240
compactor.​tolerations list []
compactor.​topologySpreadConstraints list []
config.​alertmanager.​cluster object {"listen_address":"0.0.0.0:9094"} Disable alertmanager gossip cluster by setting empty listen_address to empty string
config.​alertmanager.​enable_api bool false Enable the experimental alertmanager config api.
config.​alertmanager.​external_url string "/api/prom/alertmanager"
config.​api.​prometheus_http_prefix string "/prometheus"
config.​api.​response_compression_enabled bool true Use GZIP compression for API responses. Some endpoints serve large YAML or JSON blobs which can benefit from compression.
config.​auth_enabled bool false
config.​blocks_storage.​bucket_store.​bucket_index.​enabled bool true
config.​blocks_storage.​bucket_store.​sync_dir string "/data/tsdb-sync"
config.​blocks_storage.​tsdb.​dir string "/data/tsdb"
config.​distributor.​pool.​health_check_ingesters bool true
config.​distributor.​shard_by_all_labels bool true Distribute samples based on all labels, as opposed to solely by user and metric name.
config.​frontend.​log_queries_longer_than string "10s"
config.​ingester.​lifecycler.​final_sleep string "30s" Duration to sleep for before exiting, to ensure metrics are scraped.
config.​ingester.​lifecycler.​join_after string "10s" We don't want to join immediately, but wait a bit to see other ingesters and their tokens first. It can take a while to have the full picture when using gossip
config.​ingester.​lifecycler.​num_tokens int 512
config.​ingester.​lifecycler.​observe_period string "10s" To avoid generating same tokens by multiple ingesters, they can "observe" the ring for a while, after putting their own tokens into it. This is only useful when using gossip, since multiple ingesters joining at the same time can have conflicting tokens if they don't see each other yet.
config.​ingester.​lifecycler.​ring.​kvstore.​store string "memberlist"
config.​ingester.​lifecycler.​ring.​replication_factor int 3 Ingester replication factor per default is 3
config.​ingester_client.​grpc_client_config.​max_recv_msg_size int 10485760
config.​ingester_client.​grpc_client_config.​max_send_msg_size int 10485760
config.​limits.​enforce_metric_name bool true Enforce that every sample has a metric name
config.​limits.​max_query_lookback string "0s"
config.​limits.​reject_old_samples bool true
config.​limits.​reject_old_samples_max_age string "168h"
config.​memberlist.​bind_port int 7946
config.​memberlist.​join_members list ["{{ include \"cortex.fullname\" $ }}-memberlist"] the service name of the memberlist if using memberlist discovery
config.​querier.​active_query_tracker_dir string "/data/active-query-tracker"
config.​querier.​store_gateway_addresses string automatic Comma separated list of store-gateway addresses in DNS Service Discovery format. This option should is set automatically when using the blocks storage and the store-gateway sharding is disabled (when enabled, the store-gateway instances form a ring and addresses are picked from the ring).
config.​query_range.​align_queries_with_step bool true
config.​query_range.​cache_results bool true
config.​query_range.​results_cache.​cache.​memcached.​expiration string "1h"
config.​query_range.​results_cache.​cache.​memcached_client.​timeout string "1s"
config.​query_range.​split_queries_by_interval string "24h"
config.​ruler.​enable_alertmanager_discovery bool false
config.​ruler.​enable_api bool true Enable the experimental ruler config api.
config.​runtime_config.​file string "/etc/cortex-runtime-config/runtime_config.yaml"
config.​server.​grpc_listen_port int 9095
config.​server.​grpc_server_max_concurrent_streams int 10000
config.​server.​grpc_server_max_recv_msg_size int 10485760
config.​server.​grpc_server_max_send_msg_size int 10485760
config.​server.​http_listen_port int 8080
config.​store_gateway object {"sharding_enabled":false} https://cortexmetrics.io/docs/configuration/configuration-file/#store_gateway_config
distributor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
distributor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
distributor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "distributor"
distributor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
distributor.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
distributor.​annotations object {}
distributor.​autoscaling.​behavior object {} Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
distributor.​autoscaling.​enabled bool false Creates a HorizontalPodAutoscaler for the distributor pods.
distributor.​autoscaling.​extraMetrics list [] Optional custom and external metrics for the distributor pods to scale on In order to use this option , define a list of of specific following https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics and https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects
distributor.​autoscaling.​maxReplicas int 30
distributor.​autoscaling.​minReplicas int 2
distributor.​autoscaling.​targetCPUUtilizationPercentage int 80
distributor.​autoscaling.​targetMemoryUtilizationPercentage int 0
distributor.​containerSecurityContext.​enabled bool true
distributor.​containerSecurityContext.​readOnlyRootFilesystem bool true
distributor.​enabled bool true
distributor.​env list []
distributor.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
distributor.​extraContainers list []
distributor.​extraPorts list []
distributor.​extraVolumeMounts list []
distributor.​extraVolumes list []
distributor.​initContainers list []
distributor.​lifecycle object {}
distributor.​livenessProbe.​httpGet.​path string "/ready"
distributor.​livenessProbe.​httpGet.​port string "http-metrics"
distributor.​nodeSelector object {}
distributor.​persistentVolume.​subPath string nil
distributor.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
distributor.​podDisruptionBudget.​maxUnavailable int 1
distributor.​podLabels object {} Pod Labels
distributor.​readinessProbe.​httpGet.​path string "/ready"
distributor.​readinessProbe.​httpGet.​port string "http-metrics"
distributor.​replicas int 2
distributor.​resources object {}
distributor.​securityContext object {}
distributor.​service.​annotations object {}
distributor.​service.​labels object {}
distributor.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
distributor.​serviceMonitor.​additionalLabels object {}
distributor.​serviceMonitor.​enabled bool false
distributor.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
distributor.​serviceMonitor.​metricRelabelings list []
distributor.​serviceMonitor.​podTargetLabels list []
distributor.​serviceMonitor.​relabelings list []
distributor.​startupProbe.​failureThreshold int 10
distributor.​startupProbe.​httpGet.​path string "/ready"
distributor.​startupProbe.​httpGet.​port string "http-metrics"
distributor.​strategy.​rollingUpdate.​maxSurge int 0
distributor.​strategy.​rollingUpdate.​maxUnavailable int 1
distributor.​strategy.​type string "RollingUpdate"
distributor.​terminationGracePeriodSeconds int 60
distributor.​tolerations list []
distributor.​topologySpreadConstraints list []
externalConfigSecretName string "secret-with-config.yaml"
externalConfigVersion string "0"
image.​pullPolicy string "IfNotPresent"
image.​pullSecrets list [] Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace. ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
image.​repository string "quay.io/cortexproject/cortex"
image.​tag string "" Allows you to override the cortex version in this chart. Use at your own risk.
ingester.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
ingester.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
ingester.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "ingester"
ingester.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
ingester.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
ingester.​annotations object {}
ingester.​autoscaling.​behavior.​scaleDown.​policies list [{"periodSeconds":1800,"type":"Pods","value":1}] see https://cortexmetrics.io/docs/guides/ingesters-scaling-up-and-down/#scaling-down for scaledown details
ingester.​autoscaling.​behavior.​scaleDown.​stabilizationWindowSeconds int 3600 uses metrics from the past 1h to make scaleDown decisions
ingester.​autoscaling.​behavior.​scaleUp.​policies list [{"periodSeconds":1800,"type":"Pods","value":1}] This default scaleup policy allows adding 1 pod every 30 minutes. Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
ingester.​autoscaling.​enabled bool false
ingester.​autoscaling.​extraMetrics list [] Optional custom and external metrics for the ingester pods to scale on In order to use this option , define a list of of specific following https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics and https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects
ingester.​autoscaling.​maxReplicas int 30
ingester.​autoscaling.​minReplicas int 3
ingester.​autoscaling.​targetMemoryUtilizationPercentage int 80
ingester.​containerSecurityContext.​enabled bool true
ingester.​containerSecurityContext.​readOnlyRootFilesystem bool true
ingester.​enabled bool true
ingester.​env list []
ingester.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
ingester.​extraContainers list []
ingester.​extraPorts list []
ingester.​extraVolumeMounts list []
ingester.​extraVolumes list []
ingester.​initContainers list []
ingester.​lifecycle.​preStop object {"httpGet":{"path":"/ingester/shutdown","port":"http-metrics"}} The /shutdown preStop hook is recommended as part of the ingester scaledown process, but can be removed to optimize rolling restarts in instances that will never be scaled down. https://cortexmetrics.io/docs/guides/ingesters-scaling-up-and-down/#scaling-down
ingester.​livenessProbe object {} Startup/liveness probes for ingesters are not recommended. Ref: https://cortexmetrics.io/docs/guides/running-cortex-on-kubernetes/#take-extra-care-with-ingesters
ingester.​nodeSelector object {}
ingester.​persistentVolume.​accessModes list ["ReadWriteOnce"] Ingester data Persistent Volume access modes Must match those of existing PV or dynamic provisioner Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
ingester.​persistentVolume.​annotations object {} Ingester data Persistent Volume Claim annotations
ingester.​persistentVolume.​enabled bool true If true and ingester.statefulSet.enabled is true, Ingester will create/use a Persistent Volume Claim If false, use emptyDir
ingester.​persistentVolume.​size string "2Gi" Ingester data Persistent Volume size
ingester.​persistentVolume.​storageClass string nil Ingester data Persistent Volume Storage Class If defined, storageClassName: If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
ingester.​persistentVolume.​subPath string "" Subdirectory of Ingester data Persistent Volume to mount Useful if the volume's root directory is not empty
ingester.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
ingester.​podDisruptionBudget.​maxUnavailable int 1
ingester.​podLabels object {} Pod Labels
ingester.​readinessProbe.​httpGet.​path string "/ready"
ingester.​readinessProbe.​httpGet.​port string "http-metrics"
ingester.​replicas int 3
ingester.​resources object {}
ingester.​securityContext object {}
ingester.​service.​annotations object {}
ingester.​service.​labels object {}
ingester.​serviceAccount.​name string nil
ingester.​serviceMonitor.​additionalLabels object {}
ingester.​serviceMonitor.​enabled bool false
ingester.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
ingester.​serviceMonitor.​metricRelabelings list []
ingester.​serviceMonitor.​podTargetLabels list []
ingester.​serviceMonitor.​relabelings list []
ingester.​startupProbe object {} Startup/liveness probes for ingesters are not recommended. Ref: https://cortexmetrics.io/docs/guides/running-cortex-on-kubernetes/#take-extra-care-with-ingesters
ingester.​statefulSet.​enabled bool false If true, use a statefulset instead of a deployment for pod management. This is useful when using WAL
ingester.​statefulSet.​podManagementPolicy string "OrderedReady" ref: https://cortexmetrics.io/docs/guides/ingesters-scaling-up-and-down/#scaling-down and https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies for scaledown details
ingester.​statefulStrategy.​type string "RollingUpdate"
ingester.​strategy.​rollingUpdate.​maxSurge int 0
ingester.​strategy.​rollingUpdate.​maxUnavailable int 1
ingester.​strategy.​type string "RollingUpdate"
ingester.​terminationGracePeriodSeconds int 240
ingester.​tolerations list []
ingester.​topologySpreadConstraints list []
ingress.​annotations object {}
ingress.​enabled bool false
ingress.​hosts[0].​host string "chart-example.local"
ingress.​hosts[0].​paths[0] string "/"
ingress.​ingressClass.​enabled bool false
ingress.​ingressClass.​name string "nginx"
ingress.​tls list []
memberlist.​service.​annotations object {}
memberlist.​service.​labels object {}
memcached-blocks-index.​architecture string "high-availability"
memcached-blocks-index.​enabled bool false Enables support for block index caching
memcached-blocks-index.​extraEnvVars[0] object {"name":"MEMCACHED_CACHE_SIZE","value":"1024"} MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage
memcached-blocks-index.​extraEnvVars[1] object {"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"} MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service
memcached-blocks-index.​extraEnvVars[2] object {"name":"MEMCACHED_THREADS","value":"4"} MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values.
memcached-blocks-index.​metrics.​enabled bool true
memcached-blocks-index.​metrics.​serviceMonitor.​enabled bool false
memcached-blocks-index.​replicaCount int 2
memcached-blocks-index.​resources object {}
memcached-blocks-metadata.​architecture string "high-availability"
memcached-blocks-metadata.​enabled bool false Enables support for block metadata caching
memcached-blocks-metadata.​extraEnvVars[0] object {"name":"MEMCACHED_CACHE_SIZE","value":"1024"} MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage
memcached-blocks-metadata.​extraEnvVars[1] object {"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"} MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service
memcached-blocks-metadata.​extraEnvVars[2] object {"name":"MEMCACHED_THREADS","value":"4"} MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values.
memcached-blocks-metadata.​metrics.​enabled bool true
memcached-blocks-metadata.​metrics.​serviceMonitor.​enabled bool false
memcached-blocks-metadata.​replicaCount int 2
memcached-blocks-metadata.​resources object {}
memcached-blocks.​architecture string "high-availability"
memcached-blocks.​enabled bool false Enables support for block caching
memcached-blocks.​extraEnvVars[0] object {"name":"MEMCACHED_CACHE_SIZE","value":"1024"} MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage
memcached-blocks.​extraEnvVars[1] object {"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"} MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service
memcached-blocks.​extraEnvVars[2] object {"name":"MEMCACHED_THREADS","value":"4"} MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values.
memcached-blocks.​metrics.​enabled bool true
memcached-blocks.​metrics.​serviceMonitor.​enabled bool false
memcached-blocks.​replicaCount int 2
memcached-blocks.​resources object {}
memcached-frontend.​architecture string "high-availability"
memcached-frontend.​enabled bool false Enables support for caching queries in the frontend
memcached-frontend.​extraEnvVars[0] object {"name":"MEMCACHED_CACHE_SIZE","value":"1024"} MEMCACHED_CACHE_SIZE is the amount of memory allocated to memcached for object storage
memcached-frontend.​extraEnvVars[1] object {"name":"MEMCACHED_MAX_CONNECTIONS","value":"1024"} MEMCACHED_MAX_CONNECTIONS is the maximum number of simultaneous connections to the memcached service
memcached-frontend.​extraEnvVars[2] object {"name":"MEMCACHED_THREADS","value":"4"} MEMCACHED_THREADS is the number of threads to use when processing incoming requests. By default, memcached is configured to use 4 concurrent threads. The threading improves the performance of storing and retrieving data in the cache, using a locking system to prevent different threads overwriting or updating the same values.
memcached-frontend.​metrics.​enabled bool true
memcached-frontend.​metrics.​serviceMonitor.​enabled bool false
memcached-frontend.​replicaCount int 2
memcached-frontend.​resources object {}
nginx.​affinity object {}
nginx.​annotations object {}
nginx.​autoscaling.​behavior object {} Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
nginx.​autoscaling.​enabled bool false Creates a HorizontalPodAutoscaler for the nginx pods.
nginx.​autoscaling.​extraMetrics list [] Optional custom and external metrics for the nginx pods to scale on In order to use this option , define a list of of specific following https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics and https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects
nginx.​autoscaling.​maxReplicas int 30
nginx.​autoscaling.​minReplicas int 2
nginx.​autoscaling.​targetCPUUtilizationPercentage int 80
nginx.​autoscaling.​targetMemoryUtilizationPercentage int 0
nginx.​config.​auth_orgs list [] Optional list of auth tenants to set in the nginx config
nginx.​config.​basicAuthSecretName string "" Optional name of basic auth secret. In order to use this option, a secret with htpasswd formatted contents at the key ".htpasswd" must exist. For example: apiVersion: v1 kind: Secret metadata: name: my-secret namespace: stringData: .htpasswd:
nginx.​config.​client_max_body_size string "1M" ref: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
nginx.​config.​dnsResolver string "kube-dns.kube-system.svc.cluster.local"
nginx.​config.​dnsTTL string "15s" Including the valid parameter to the resolver directive to re-resolve names every dnsTTL seconds/minutes
nginx.​config.​httpSnippet string "" arbitrary snippet to inject in the http { } section of the nginx config
nginx.​config.​mainSnippet string "" arbitrary snippet to inject in the top section of the nginx config
nginx.​config.​serverSnippet string "" arbitrary snippet to inject in the server { } section of the nginx config
nginx.​config.​setHeaders object {}
nginx.​config.​upstream_protocol string "http" protocol for the communication with the upstream
nginx.​config.​verboseLogging bool true Enables all access logs from nginx, otherwise ignores 2XX and 3XX status codes
nginx.​containerSecurityContext.​enabled bool true
nginx.​containerSecurityContext.​readOnlyRootFilesystem bool false
nginx.​enabled bool true
nginx.​env list []
nginx.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
nginx.​extraContainers list []
nginx.​extraPorts list []
nginx.​extraVolumeMounts list []
nginx.​extraVolumes list []
nginx.​http_listen_port int 80
nginx.​image.​pullPolicy string "IfNotPresent"
nginx.​image.​repository string "nginx"
nginx.​image.​tag float 1.23
nginx.​initContainers list []
nginx.​livenessProbe.​httpGet.​path string "/healthz"
nginx.​livenessProbe.​httpGet.​port string "http-metrics"
nginx.​nodeSelector object {}
nginx.​persistentVolume.​subPath string nil
nginx.​podAnnotations object {} Pod Annotations
nginx.​podDisruptionBudget.​maxUnavailable int 1
nginx.​podLabels object {} Pod Labels
nginx.​readinessProbe.​httpGet.​path string "/healthz"
nginx.​readinessProbe.​httpGet.​port string "http-metrics"
nginx.​replicas int 2
nginx.​resources object {}
nginx.​securityContext object {}
nginx.​service.​annotations object {}
nginx.​service.​labels object {}
nginx.​service.​type string "ClusterIP"
nginx.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
nginx.​startupProbe.​failureThreshold int 10
nginx.​startupProbe.​httpGet.​path string "/healthz"
nginx.​startupProbe.​httpGet.​port string "http-metrics"
nginx.​strategy.​rollingUpdate.​maxSurge int 0
nginx.​strategy.​rollingUpdate.​maxUnavailable int 1
nginx.​strategy.​type string "RollingUpdate"
nginx.​terminationGracePeriodSeconds int 10
nginx.​tolerations list []
nginx.​topologySpreadConstraints list []
overrides_exporter.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
overrides_exporter.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
overrides_exporter.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "query-scheduler"
overrides_exporter.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
overrides_exporter.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
overrides_exporter.​annotations object {}
overrides_exporter.​containerSecurityContext.​enabled bool true
overrides_exporter.​containerSecurityContext.​readOnlyRootFilesystem bool true
overrides_exporter.​enabled bool false https://cortexmetrics.io/docs/guides/overrides-exporter/
overrides_exporter.​env list []
overrides_exporter.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
overrides_exporter.​extraContainers list []
overrides_exporter.​extraPorts list []
overrides_exporter.​extraVolumeMounts list []
overrides_exporter.​extraVolumes list []
overrides_exporter.​initContainers list []
overrides_exporter.​lifecycle object {}
overrides_exporter.​livenessProbe.​httpGet.​path string "/ready"
overrides_exporter.​livenessProbe.​httpGet.​port string "http-metrics"
overrides_exporter.​nodeSelector object {}
overrides_exporter.​podAnnotations object {"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"} Pod Annotations
overrides_exporter.​podLabels object {} Pod Labels
overrides_exporter.​readinessProbe.​httpGet.​path string "/ready"
overrides_exporter.​readinessProbe.​httpGet.​port string "http-metrics"
overrides_exporter.​resources object {}
overrides_exporter.​securityContext object {}
overrides_exporter.​service.​annotations object {}
overrides_exporter.​service.​labels object {}
overrides_exporter.​serviceMonitor.​additionalLabels object {}
overrides_exporter.​serviceMonitor.​enabled bool false
overrides_exporter.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
overrides_exporter.​serviceMonitor.​metricRelabelings list []
overrides_exporter.​serviceMonitor.​podTargetLabels list []
overrides_exporter.​serviceMonitor.​relabelings list []
overrides_exporter.​startupProbe.​failureThreshold int 10
overrides_exporter.​startupProbe.​httpGet.​path string "/ready"
overrides_exporter.​startupProbe.​httpGet.​port string "http-metrics"
overrides_exporter.​strategy.​rollingUpdate.​maxSurge int 0
overrides_exporter.​strategy.​rollingUpdate.​maxUnavailable int 1
overrides_exporter.​strategy.​type string "RollingUpdate"
overrides_exporter.​terminationGracePeriodSeconds int 180
overrides_exporter.​tolerations list []
overrides_exporter.​topologySpreadConstraints list []
purger.​affinity object {}
purger.​annotations object {}
purger.​containerSecurityContext.​enabled bool true
purger.​containerSecurityContext.​readOnlyRootFilesystem bool true
purger.​enabled bool false
purger.​env list [] Extra env variables to pass to the cortex container
purger.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
purger.​extraContainers list [] Additional containers to be added to the cortex pod.
purger.​extraPorts list [] Additional ports to the cortex services. Useful to expose extra container ports.
purger.​extraVolumeMounts list [] Extra volume mounts that will be added to the cortex container
purger.​extraVolumes list [] Additional volumes to the cortex pod.
purger.​initContainers list [] Init containers to be added to the cortex pod.
purger.​lifecycle object {}
purger.​livenessProbe.​httpGet.​path string "/ready"
purger.​livenessProbe.​httpGet.​port string "http-metrics"
purger.​livenessProbe.​httpGet.​scheme string "HTTP"
purger.​nodeSelector object {}
purger.​podAnnotations.​"prometheus.​io/port" string "8080"
purger.​podAnnotations.​"prometheus.​io/scrape" string "true"
purger.​podLabels object {}
purger.​readinessProbe.​httpGet.​path string "/ready"
purger.​readinessProbe.​httpGet.​port string "http-metrics"
purger.​replicas int 1
purger.​resources object {}
purger.​securityContext object {}
purger.​service.​annotations object {}
purger.​service.​labels object {}
purger.​serviceAccount.​name string ""
purger.​serviceMonitor.​additionalLabels object {}
purger.​serviceMonitor.​enabled bool false
purger.​serviceMonitor.​extraEndpointSpec object {}
purger.​serviceMonitor.​metricRelabelings list []
purger.​serviceMonitor.​podTargetLabels list []
purger.​serviceMonitor.​relabelings list []
purger.​startupProbe.​failureThreshold int 60
purger.​startupProbe.​httpGet.​path string "/ready"
purger.​startupProbe.​httpGet.​port string "http-metrics"
purger.​startupProbe.​httpGet.​scheme string "HTTP"
purger.​startupProbe.​initialDelaySeconds int 120
purger.​startupProbe.​periodSeconds int 30
purger.​strategy.​type string "RollingUpdate"
purger.​terminationGracePeriodSeconds int 60
purger.​topologySpreadConstraints list []
querier.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
querier.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
querier.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "querier"
querier.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
querier.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
querier.​annotations object {}
querier.​autoscaling.​behavior object {} Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
querier.​autoscaling.​enabled bool false Creates a HorizontalPodAutoscaler for the querier pods.
querier.​autoscaling.​extraMetrics list [] Optional custom and external metrics for the querier pods to scale on In order to use this option , define a list of of specific following https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics and https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects
querier.​autoscaling.​maxReplicas int 30
querier.​autoscaling.​minReplicas int 2
querier.​autoscaling.​targetCPUUtilizationPercentage int 80
querier.​autoscaling.​targetMemoryUtilizationPercentage int 0
querier.​containerSecurityContext.​enabled bool true
querier.​containerSecurityContext.​readOnlyRootFilesystem bool true
querier.​enabled bool true
querier.​env list []
querier.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
querier.​extraContainers list []
querier.​extraPorts list []
querier.​extraVolumeMounts list []
querier.​extraVolumes list []
querier.​initContainers list []
querier.​lifecycle object {}
querier.​livenessProbe.​httpGet.​path string "/ready"
querier.​livenessProbe.​httpGet.​port string "http-metrics"
querier.​nodeSelector object {}
querier.​persistentVolume.​subPath string nil
querier.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
querier.​podDisruptionBudget.​maxUnavailable int 1
querier.​podLabels object {} Pod Labels
querier.​readinessProbe.​httpGet.​path string "/ready"
querier.​readinessProbe.​httpGet.​port string "http-metrics"
querier.​replicas int 2
querier.​resources object {}
querier.​securityContext object {}
querier.​service.​annotations object {}
querier.​service.​labels object {}
querier.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
querier.​serviceMonitor.​additionalLabels object {}
querier.​serviceMonitor.​enabled bool false
querier.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
querier.​serviceMonitor.​metricRelabelings list []
querier.​serviceMonitor.​podTargetLabels list []
querier.​serviceMonitor.​relabelings list []
querier.​startupProbe.​failureThreshold int 10
querier.​startupProbe.​httpGet.​path string "/ready"
querier.​startupProbe.​httpGet.​port string "http-metrics"
querier.​strategy.​rollingUpdate.​maxSurge int 0
querier.​strategy.​rollingUpdate.​maxUnavailable int 1
querier.​strategy.​type string "RollingUpdate"
querier.​terminationGracePeriodSeconds int 180
querier.​tolerations list []
querier.​topologySpreadConstraints list []
query_frontend.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
query_frontend.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
query_frontend.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "query-frontend"
query_frontend.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
query_frontend.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
query_frontend.​annotations object {}
query_frontend.​containerSecurityContext.​enabled bool true
query_frontend.​containerSecurityContext.​readOnlyRootFilesystem bool true
query_frontend.​enabled bool true
query_frontend.​env list []
query_frontend.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
query_frontend.​extraContainers list []
query_frontend.​extraPorts list []
query_frontend.​extraVolumeMounts list []
query_frontend.​extraVolumes list []
query_frontend.​initContainers list []
query_frontend.​lifecycle object {}
query_frontend.​livenessProbe.​httpGet.​path string "/ready"
query_frontend.​livenessProbe.​httpGet.​port string "http-metrics"
query_frontend.​nodeSelector object {}
query_frontend.​persistentVolume.​subPath string nil
query_frontend.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
query_frontend.​podDisruptionBudget.​maxUnavailable int 1
query_frontend.​podLabels object {} Pod Labels
query_frontend.​readinessProbe.​httpGet.​path string "/ready"
query_frontend.​readinessProbe.​httpGet.​port string "http-metrics"
query_frontend.​replicas int 2
query_frontend.​resources object {}
query_frontend.​securityContext object {}
query_frontend.​service.​annotations object {}
query_frontend.​service.​labels object {}
query_frontend.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
query_frontend.​serviceMonitor.​additionalLabels object {}
query_frontend.​serviceMonitor.​enabled bool false
query_frontend.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
query_frontend.​serviceMonitor.​metricRelabelings list []
query_frontend.​serviceMonitor.​podTargetLabels list []
query_frontend.​serviceMonitor.​relabelings list []
query_frontend.​startupProbe.​failureThreshold int 10
query_frontend.​startupProbe.​httpGet.​path string "/ready"
query_frontend.​startupProbe.​httpGet.​port string "http-metrics"
query_frontend.​strategy.​rollingUpdate.​maxSurge int 0
query_frontend.​strategy.​rollingUpdate.​maxUnavailable int 1
query_frontend.​strategy.​type string "RollingUpdate"
query_frontend.​terminationGracePeriodSeconds int 180
query_frontend.​tolerations list []
query_frontend.​topologySpreadConstraints list []
query_scheduler.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
query_scheduler.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
query_scheduler.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "query-scheduler"
query_scheduler.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
query_scheduler.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
query_scheduler.​annotations object {}
query_scheduler.​containerSecurityContext.​enabled bool true
query_scheduler.​containerSecurityContext.​readOnlyRootFilesystem bool true
query_scheduler.​enabled bool false If true, querier and query-frontend will connect to it (requires Cortex v1.6.0+) https://cortexmetrics.io/docs/operations/scaling-query-frontend/#query-scheduler
query_scheduler.​env list []
query_scheduler.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
query_scheduler.​extraContainers list []
query_scheduler.​extraPorts list []
query_scheduler.​extraVolumeMounts list []
query_scheduler.​extraVolumes list []
query_scheduler.​initContainers list []
query_scheduler.​lifecycle object {}
query_scheduler.​livenessProbe.​httpGet.​path string "/ready"
query_scheduler.​livenessProbe.​httpGet.​port string "http-metrics"
query_scheduler.​nodeSelector object {}
query_scheduler.​persistentVolume.​subPath string nil
query_scheduler.​podAnnotations object {"prometheus.io/port":"http-metrics","prometheus.io/scrape":"true"} Pod Annotations
query_scheduler.​podDisruptionBudget.​maxUnavailable int 1
query_scheduler.​podLabels object {} Pod Labels
query_scheduler.​readinessProbe.​httpGet.​path string "/ready"
query_scheduler.​readinessProbe.​httpGet.​port string "http-metrics"
query_scheduler.​replicas int 2
query_scheduler.​resources object {}
query_scheduler.​securityContext object {}
query_scheduler.​service.​annotations object {}
query_scheduler.​service.​labels object {}
query_scheduler.​serviceMonitor.​additionalLabels object {}
query_scheduler.​serviceMonitor.​enabled bool false
query_scheduler.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
query_scheduler.​serviceMonitor.​metricRelabelings list []
query_scheduler.​serviceMonitor.​podTargetLabels list []
query_scheduler.​serviceMonitor.​relabelings list []
query_scheduler.​startupProbe.​failureThreshold int 10
query_scheduler.​startupProbe.​httpGet.​path string "/ready"
query_scheduler.​startupProbe.​httpGet.​port string "http-metrics"
query_scheduler.​strategy.​rollingUpdate.​maxSurge int 0
query_scheduler.​strategy.​rollingUpdate.​maxUnavailable int 1
query_scheduler.​strategy.​type string "RollingUpdate"
query_scheduler.​terminationGracePeriodSeconds int 180
query_scheduler.​tolerations list []
query_scheduler.​topologySpreadConstraints list []
ruler.​affinity object {}
ruler.​annotations object {}
ruler.​autoscaling.​behavior object {} Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
ruler.​autoscaling.​enabled bool false Creates a HorizontalPodAutoscaler for the ruler.
ruler.​autoscaling.​extraMetrics list [] Optional custom and external metrics for the ruler pods to scale on In order to use this option , define a list of of specific following https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics and https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects
ruler.​autoscaling.​maxReplicas int 30
ruler.​autoscaling.​minReplicas int 2
ruler.​autoscaling.​targetCPUUtilizationPercentage int 80
ruler.​autoscaling.​targetMemoryUtilizationPercentage int 80
ruler.​containerSecurityContext.​enabled bool true
ruler.​containerSecurityContext.​readOnlyRootFilesystem bool true
ruler.​directories object {} allow configuring rules via configmap. ref: https://cortexproject.github.io/cortex-helm-chart/guides/configure_rules_via_configmap.html
ruler.​enabled bool true
ruler.​env list []
ruler.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
ruler.​extraContainers list []
ruler.​extraPorts list []
ruler.​extraVolumeMounts list []
ruler.​extraVolumes list []
ruler.​initContainers list []
ruler.​livenessProbe.​httpGet.​path string "/ready"
ruler.​livenessProbe.​httpGet.​port string "http-metrics"
ruler.​nodeSelector object {}
ruler.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
ruler.​podDisruptionBudget.​maxUnavailable int 1
ruler.​podLabels object {} Pod Labels
ruler.​readinessProbe.​httpGet.​path string "/ready"
ruler.​readinessProbe.​httpGet.​port string "http-metrics"
ruler.​replicas int 1
ruler.​resources object {}
ruler.​securityContext object {}
ruler.​service.​annotations object {}
ruler.​service.​labels object {}
ruler.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
ruler.​serviceMonitor.​additionalLabels object {}
ruler.​serviceMonitor.​enabled bool false
ruler.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
ruler.​serviceMonitor.​metricRelabelings list []
ruler.​serviceMonitor.​podTargetLabels list []
ruler.​serviceMonitor.​relabelings list []
ruler.​sidecar.​containerSecurityContext.​enabled bool true
ruler.​sidecar.​containerSecurityContext.​readOnlyRootFilesystem bool true
ruler.​sidecar.​defaultFolderName string "" The default folder name, it will create a subfolder under the folder and put rules in there instead
ruler.​sidecar.​enableUniqueFilenames bool false A value of true will produce unique filenames to avoid issues when duplicate data keys exist between ConfigMaps and/or Secrets within the same or multiple Namespaces.
ruler.​sidecar.​enabled bool false Enable sidecar that collect the configmaps with specified label and stores the included files them into the respective folders
ruler.​sidecar.​folder string "/data/rules" Folder where the files should be placed.
ruler.​sidecar.​folderAnnotation string "k8s-sidecar-target-directory" The annotation the sidecar will look for in ConfigMaps and/or Secrets to override the destination folder for files. If the value is a relative path, it will be relative to FOLDER
ruler.​sidecar.​image.​repository string "kiwigrid/k8s-sidecar"
ruler.​sidecar.​image.​sha string ""
ruler.​sidecar.​image.​tag string "1.19.5"
ruler.​sidecar.​imagePullPolicy string "IfNotPresent"
ruler.​sidecar.​label string "cortex_rules" label that the configmaps with rules are marked with
ruler.​sidecar.​labelValue string "" The value for the label you want to filter your resources on. Don't set a value to filter by any value
ruler.​sidecar.​resource string "both" The resource type that the operator will filter for. Can be configmap, secret or both
ruler.​sidecar.​resources object {}
ruler.​sidecar.​searchNamespace string "" The Namespace(s) from which resources will be watched. For multiple namespaces, use a comma-separated string like "default,test". If not set or set to ALL, it will watch all Namespaces.
ruler.​sidecar.​skipTlsVerify bool false Set to true to skip tls verification for kube api calls
ruler.​sidecar.​watchMethod string "" Determines how kopf-k8s-sidecar will run. If WATCH it will run like a normal operator forever. If LIST it will gather the matching configmaps and secrets currently present, write those files to the destination directory and die
ruler.​startupProbe.​failureThreshold int 10
ruler.​startupProbe.​httpGet.​path string "/ready"
ruler.​startupProbe.​httpGet.​port string "http-metrics"
ruler.​strategy.​rollingUpdate.​maxSurge int 0
ruler.​strategy.​rollingUpdate.​maxUnavailable int 1
ruler.​strategy.​type string "RollingUpdate"
ruler.​terminationGracePeriodSeconds int 180
ruler.​tolerations list []
ruler.​topologySpreadConstraints list []
ruler.​validation.​enabled bool true Checks that the ruler is compatible with horizontal scaling, as documented in https://cortexmetrics.io/docs/guides/ruler-sharding/. You may need to disable this if your config is compatible, but not understood by the validator.
runtimeconfigmap.​annotations object {}
runtimeconfigmap.​create bool true If true, a configmap for the runtime_config will be created. If false, the configmap must exist already on the cluster or pods will fail to create.
runtimeconfigmap.​runtime_config object {} https://cortexmetrics.io/docs/configuration/arguments/#runtime-configuration-file
serviceAccount.​annotations object {}
serviceAccount.​automountServiceAccountToken bool true
serviceAccount.​create bool true
serviceAccount.​name string nil
store_gateway.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​key string "app.kubernetes.io/component"
store_gateway.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​operator string "In"
store_gateway.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​labelSelector.​matchExpressions[0].​values[0] string "store-gateway"
store_gateway.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​podAffinityTerm.​topologyKey string "kubernetes.io/hostname"
store_gateway.​affinity.​podAntiAffinity.​preferredDuringSchedulingIgnoredDuringExecution[0].​weight int 100
store_gateway.​annotations object {}
store_gateway.​autoscaling.​behavior object {} Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-configurable-scaling-behavior
store_gateway.​autoscaling.​enabled bool false
store_gateway.​autoscaling.​extraMetrics list [] Optional custom and external metrics for the store gateway pods to scale on In order to use this option , define a list of of specific following https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics and https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects
store_gateway.​autoscaling.​maxReplicas int 30
store_gateway.​autoscaling.​minReplicas int 3
store_gateway.​autoscaling.​targetMemoryUtilizationPercentage int 80
store_gateway.​containerSecurityContext.​enabled bool true
store_gateway.​containerSecurityContext.​readOnlyRootFilesystem bool true
store_gateway.​enabled bool true
store_gateway.​env list []
store_gateway.​extraArgs object {} Additional Cortex container arguments, e.g. log.level (debug, info, warn, error)
store_gateway.​extraContainers list []
store_gateway.​extraPorts list []
store_gateway.​extraVolumeMounts list []
store_gateway.​extraVolumes list []
store_gateway.​initContainers list []
store_gateway.​livenessProbe object {}
store_gateway.​nodeSelector object {}
store_gateway.​persistentVolume.​accessModes list ["ReadWriteOnce"] Store-gateway data Persistent Volume access modes Must match those of existing PV or dynamic provisioner Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
store_gateway.​persistentVolume.​annotations object {} Store-gateway data Persistent Volume Claim annotations
store_gateway.​persistentVolume.​enabled bool true If true Store-gateway will create/use a Persistent Volume Claim If false, use emptyDir
store_gateway.​persistentVolume.​size string "2Gi" Store-gateway data Persistent Volume size
store_gateway.​persistentVolume.​storageClass string nil Store-gateway data Persistent Volume Storage Class If defined, storageClassName: If set to "-", storageClassName: "", which disables dynamic provisioning If undefined (the default) or set to null, no storageClassName spec is set, choosing the default provisioner.
store_gateway.​persistentVolume.​subPath string "" Subdirectory of Store-gateway data Persistent Volume to mount Useful if the volume's root directory is not empty
store_gateway.​podAnnotations object {"prometheus.io/port":"8080","prometheus.io/scrape":"true"} Pod Annotations
store_gateway.​podDisruptionBudget.​maxUnavailable int 1
store_gateway.​podLabels object {} Pod Labels
store_gateway.​podManagementPolicy string "OrderedReady" https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
store_gateway.​readinessProbe.​httpGet.​path string "/ready"
store_gateway.​readinessProbe.​httpGet.​port string "http-metrics"
store_gateway.​replicas int 1
store_gateway.​resources object {}
store_gateway.​securityContext object {}
store_gateway.​service.​annotations object {}
store_gateway.​service.​labels object {}
store_gateway.​serviceAccount.​name string "" "" disables the individual serviceAccount and uses the global serviceAccount for that component
store_gateway.​serviceMonitor.​additionalLabels object {}
store_gateway.​serviceMonitor.​enabled bool false
store_gateway.​serviceMonitor.​extraEndpointSpec object {} Additional endpoint configuration https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint
store_gateway.​serviceMonitor.​metricRelabelings list []
store_gateway.​serviceMonitor.​podTargetLabels list []
store_gateway.​serviceMonitor.​relabelings list []
store_gateway.​startupProbe.​failureThreshold int 60
store_gateway.​startupProbe.​httpGet.​path string "/ready"
store_gateway.​startupProbe.​httpGet.​port string "http-metrics"
store_gateway.​startupProbe.​httpGet.​scheme string "HTTP"
store_gateway.​startupProbe.​initialDelaySeconds int 120
store_gateway.​startupProbe.​periodSeconds int 30
store_gateway.​strategy.​type string "RollingUpdate"
store_gateway.​terminationGracePeriodSeconds int 240
store_gateway.​tolerations list []
store_gateway.​topologySpreadConstraints list []
useConfigMap bool false
useExternalConfig bool false