1## Global settings for all charts in a tree of dependent charts
2## This allows to set the same values for the imagePullSecrets, obviating the need
3## to set the same values for each chart (and image) separately
5 ## Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
16 ## or a templated value
19 ## - "{{ .Values.templateValue }}"
20 ## templateValue: test
23# -- Override the namespace
25## number of exporter instances
28## Number of old replicasets to retain ##
29## The default value is 10, 0 will garbage-collect old replicasets ##
30revisionHistoryLimit: 10
31## restart policy for all containers
36 repository: chainguard-private/prometheus-elasticsearch-exporter
37 # if not set appVersion field from Chart.yaml is used
38 tag: latest@sha256:6b68cd204eb74299b70201cecb2d6c1b93a9de0d824787d4ae1bcac1021ccd3f
39 pullPolicy: IfNotPresent
45 type: "RuntimeDefault"
47 allowPrivilegeEscalation: false
51 readOnlyRootFilesystem: true
52# Custom DNS configuration to be added to prometheus-elasticsearch-exporter pods
57# - ns1.svc.cluster-domain.example
58# - my.dns.search.suffix
79 initialDelaySeconds: 5
86 initialDelaySeconds: 1
89# Example of a more complex liveness probe:
97# # 1. Check if the exporter itself is alive
98# if ! wget -qO- http://localhost:9108/healthz > /dev/null; then
102# # 2. Check if the credentials are still valid by hitting ES directly
103# AUTH=$(printf "%s:%s" "$ES_USERNAME" "$ES_PASSWORD" | base64 | tr -d '\n')
104# ES_URI="http://elasticsearch-es-http.elastic-stack.svc:9200"
105# if ! wget --spider --quiet --header "Authorization: Basic $AUTH" "$ES_URI"; then
108# initialDelaySeconds: 60
117## Labels to attach to all resources
120## Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in.
121## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
122topologySpreadConstraints: []
124# topologyKey: failure-domain.beta.kubernetes.io/zone
125# whenUnsatisfiable: DoNotSchedule
128# app.kubernetes.io/instance: prometheus-elasticsearch-exporter
144## Extra environment variables that will be passed into the exporter pod
150## Extra arguments to pass to the container's executable
153# - --es.indices_mappings
155# Extra manifests to deploy as an array
161# name: prometheus-elasticsearch-exporter-extra
165## The name of a secret in the same kubernetes namespace which contain values to be added to the environment
166## This can be useful for auth tokens, etc
168## A list of environment variables from secret refs that will be passed into the exporter pod
170## This will set ${ES_PASSWORD} to the 'password' key from the 'my-secret' secret
176# A list of secrets and their paths to mount inside the pod
177# This is useful for mounting certificates for security
179# - name: elastic-certs
180# secretName: elastic-certs
183# A list of additional Volume to add to the deployment
184# this is useful if the volume you need is not a secret (csi volume etc.)
188# driver: secrets-store.csi.k8s.io
191# secretProviderClass: my-spc
193# A list of additional VolumeMounts to add to the deployment
194# this is useful for mounting any other needed resource into
195# the elasticsearch-exporter pod
198# mountPath: /csi/volume
202 ## Address (host and port) of the Elasticsearch node we should connect to.
203 ## This could be a local node (localhost:9200, for instance), or the address
204 ## of a remote Elasticsearch server. When basic auth is needed,
205 ## specify as: <proto>://<user>:<password>@<host>:<port>. e.g., http://admin:pass@localhost:9200.
207 uri: http://localhost:9200
208 ## If true, query stats for all nodes in the cluster, rather than just the
209 ## node we connect to.
212 ## If true, query stats for all indices in the cluster.
215 ## If true, query settings stats for all indices in the cluster.
217 indices_settings: true
218 ## If true, query mapping stats for all indices in the cluster.
220 indices_mappings: true
221 ## If true, query stats for aliases.
224 ## If true, query stats for shards in the cluster.
227 ## If true, query stats for snapshots in the cluster.
230 ## If true, query stats for cluster settings.
232 cluster_settings: false
233 ## If true, query stats for SLM snapshots.
236 ## If true, query stats for data streams.
239 ## If true, query stats for Index Lifecycle Management.
242 ## Timeout for trying to get stats from Elasticsearch. (ex: 20s)
245 ## Skip SSL verification when connecting to Elasticsearch
246 ## (only available if image.tag >= 1.0.4rc1)
250 ## If true, a secure connection to ES cluster is used
253 ## If true, certs from secretMounts will be need to be referenced instead of certs below
255 useExistingSecrets: false
257 ## PEM that contains trusted CAs used for setting up secure Elasticsearch connection
261 # Path of ca pem file which should match a secretMount path
264 ## if true, client SSL certificate is used for authentication
267 ## PEM that contains the client cert to connect to Elasticsearch.
271 # Path of client pem file which should match a secretMount path
272 pemPath: /ssl/client.pem
273 ## Private key for client auth when connecting to Elasticsearch
277 # Path of client key file which should match a secretMount path
278 keyPath: /ssl/client.key
280 ## Path under which to expose metrics.
284 ## If true, a ServiceMonitor CRD is created for a prometheus operator
285 ## https://github.com/coreos/prometheus-operator
288 apiVersion: "monitoring.coreos.com/v1"
291 # release: kube-prometheus-stack
298 metricRelabelings: []
301 ## If true, a PodMonitor CRD is created for a Prometheus Operator
302 ## https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.PodMonitor
305 apiVersion: "monitoring.coreos.com/v1"
313 metricRelabelings: []
315 ## If true, a PrometheusRule CRD is created for a prometheus operator
316 ## https://github.com/coreos/prometheus-operator
318 ## The rules will be processed as Helm template, allowing to set variables in them.
323 # - record: elasticsearch_filesystem_data_used_percent
325 # 100 * (elasticsearch_filesystem_data_size_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}"} - elasticsearch_filesystem_data_free_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}"})
326 # / elasticsearch_filesystem_data_size_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}"}
327 # - record: elasticsearch_filesystem_data_free_percent
328 # expr: 100 - elasticsearch_filesystem_data_used_percent{service="{{ template "elasticsearch-exporter.fullname" . }}"}
329 # - alert: ElasticsearchTooFewNodesRunning
330 # expr: elasticsearch_cluster_health_number_of_nodes{service="{{ template "elasticsearch-exporter.fullname" . }}"} < 3
335 # description: There are only {{ "{{ $value }}" }} < 3 ElasticSearch nodes running
336 # summary: ElasticSearch running on less than 3 nodes
337 # - alert: ElasticsearchHeapTooHigh
339 # elasticsearch_jvm_memory_used_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}", area="heap"} / elasticsearch_jvm_memory_max_bytes{service="{{ template "elasticsearch-exporter.fullname" . }}", area="heap"}
345 # description: The heap usage is over 90% for 15m
346 # summary: ElasticSearch node {{ "{{ $labels.node }}" }} heap usage is high
347# Create a service account
348# To use a service account not handled by the chart, set the name here
349# and set create to false
353 automountServiceAccountToken: true