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)
18## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
19## @param global.elasticsearch.service.name Elasticsearch service name to be referenced by the Kibana subchart (ignored if kibanaEnabled=false or global.elasticsearch.service.fullname is set)
20## @param global.elasticsearch.service.fullname Full Elasticsearch service name to be referenced by the Kibana subchart (ignored if kibanaEnabled=false)
21## @param global.elasticsearch.service.ports.restAPI Elasticsearch service restAPI port to be used in the Kibana subchart (ignored if kibanaEnabled=false)
22## @param global.kibanaEnabled Whether or not to enable Kibana
28 ## - myRegistryKeySecretName
31 defaultStorageClass: ""
33 ## Security parameters
36 ## @param global.security.allowInsecureImages Allows skipping image verification
37 allowInsecureImages: false
45 ## Compatibility adaptations for Kubernetes platforms
48 ## Compatibility adaptations for Openshift
51 ## @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)
53 adaptSecurityContext: auto
55## @section Common parameters
57## @param kubeVersion Override Kubernetes version
60## @param nameOverride String to partially override common.names.fullname
63## @param fullnameOverride String to fully override common.names.fullname
66## @param commonLabels Labels to add to all deployed objects
69## @param commonAnnotations Annotations to add to all deployed objects
72## @param clusterDomain Kubernetes cluster domain name
74clusterDomain: cluster.local
75## @param extraDeploy Array of extra objects to deploy with the release
78## @param namespaceOverride String to fully override common.names.namespace
81## @param usePasswordFiles Mount credentials as files instead of using environment variables
84## Enable diagnostic mode in the deployment
87 ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
90 ## @param diagnosticMode.command Command to override all containers in the deployment
94 ## @param diagnosticMode.args Args to override all containers in the deployment
98## @section Elasticsearch cluster Parameters
100## @param clusterName Elasticsearch cluster name
103## @param containerPorts.restAPI Elasticsearch REST API port
104## @param containerPorts.transport Elasticsearch Transport port
109## @param plugins Comma, semi-colon or space separated list of plugins to install at initialization
112## @param snapshotRepoPath File System snapshot repository path
115## @param config Override elasticsearch configuration
118## @param extraConfig Append extra configuration to the elasticsearch node configuration
119## Use this instead of `config` to add more configuration
125## ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html
128## @param extraHosts A list of external hosts which are part of this cluster
129## Example Use Case: When you have a cluster with nodes spaned acorss multiple K8s or namespaces
131## - datacenter2-elasticsearch-master-hl.namespace2.svc
132## - datacenter2-elasticsearch-data-hl.namespace2.svc
134## @param extraVolumes A list of volumes to be added to the pod
135## Example Use Case: mount ssl certificates when elasticsearch has tls enabled
140## secretName: es-certs
142## @param extraVolumeMounts A list of volume mounts to be added to the pod
148## @param initScripts Dictionary of init scripts. Evaluated as a template.
149## Specify dictionary of scripts to be run at first boot
150## Alternatively, you can put your scripts under the files/docker-entrypoint-initdb.d directory
153## my_init_script.sh: |
155## echo "Do something."
158## @param initScriptsCM ConfigMap with the init scripts. Evaluated as a template.
159## Note: This will override initScripts
162## @param initScriptsSecret Secret containing `/docker-entrypoint-initdb.d` scripts to be executed at initialization time that contain sensitive data. Evaluated as a template.
165## @param extraEnvVars Array containing extra env vars to be added to all pods (evaluated as a template)
169## value: env_var_value
172## @param extraEnvVarsCM ConfigMap containing extra env vars to be added to all pods (evaluated as a template)
175## @param extraEnvVarsSecret Secret containing extra env vars to be added to all pods (evaluated as a template)
177extraEnvVarsSecret: ""
178## @param sidecars Add additional sidecar containers to the all elasticsearch node pod(s)
181## - name: your-image-name
183## imagePullPolicy: Always
186## containerPort: 1234
189## @param initContainers Add additional init containers to the all elasticsearch node pod(s)
190## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
193## - name: your-image-name
195## imagePullPolicy: Always
196## command: ['sh', '-c', 'echo "hello world"']
199## @param enableDefaultInitContainers enables (or disables if false) the default init containers (sysctl, volume permissions, copy plugins etc...)
201enableDefaultInitContainers: true
202## @param useIstioLabels Use this variable to add Istio labels to all pods
205## Iamguarded Elasticsearch image
206## @param image.registry [default: REGISTRY_NAME] Elasticsearch image registry
207## @param image.repository [default: REPOSITORY_NAME/elasticsearch] Elasticsearch image repository
208## @skip image.tag Elasticsearch image tag (immutable tags are recommended)
209## @param image.digest Elasticsearch image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
210## @param image.pullPolicy Elasticsearch image pull policy
211## @param image.pullSecrets Elasticsearch image pull secrets
212## @param image.debug Enable Elasticsearch image debug mode
216 repository: chainguard-private/elasticsearch-iamguarded
219 ## Specify a imagePullPolicy
220 ## ref: http://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
222 pullPolicy: IfNotPresent
223 ## Optionally specify an array of imagePullSecrets.
224 ## Secrets must be manually created in the namespace.
225 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
228 ## - myRegistryKeySecretName
234## X-Pack security parameters
235## Note: TLS configuration is required in order to configure password authentication
238 ## @param security.enabled Enable X-Pack Security settings
241 ## @param security.elasticPassword Password for 'elastic' user
244 ## @param security.existingSecret Name of the existing secret containing the Elasticsearch password (expected key: `elasticsearch-password`)
248 ## @param security.fipsMode Configure elasticsearch with FIPS 140 compliant mode
249 ## Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/fips-140-compliance.html
255 ## @param security.tls.restEncryption Enable SSL/TLS encryption for Elasticsearch REST API.
258 ## @param security.tls.autoGenerated Create self-signed TLS certificates.
259 ## NOTE: If autoGenerated certs are enabled and a new node type is enabled using helm upgrade, make sure you remove previously existing Elasticsearch TLS secrets.
260 ## Otherwise, the new node certs won't match the existing certs.
263 ## @param security.tls.verificationMode Verification mode for SSL communications.
264 ## Supported values: full, certificate, none.
265 ## Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html
267 verificationMode: "full"
268 ## @param security.tls.master.existingSecret Existing secret containing the certificates for the master nodes
269 ## @param security.tls.data.existingSecret Existing secret containing the certificates for the data nodes
270 ## @param security.tls.ingest.existingSecret Existing secret containing the certificates for the ingest nodes
271 ## @param security.tls.coordinating.existingSecret Existing secret containing the certificates for the coordinating nodes
281 ## @param security.tls.keystoreFilename Name of the keystore file
283 keystoreFilename: elasticsearch.keystore.jks
284 ## @param security.tls.truststoreFilename Name of the truststore
286 truststoreFilename: elasticsearch.truststore.jks
287 ## @param security.tls.usePemCerts Use this variable if your secrets contain PEM certificates instead of JKS/PKCS12
288 ## Ignored when using autoGenerated certs.
291 ## @param security.tls.passwordsSecret Existing secret containing the Keystore and Truststore passwords, or key password if PEM certs are used
294 ## @param security.tls.keystorePassword Password to access the JKS/PKCS12 keystore or PEM key when they are password-protected.
295 ## Ignored if security.tls.passwordsSecret is provided.
298 ## @param security.tls.truststorePassword Password to access the JKS/PKCS12 truststore when they are password-protected.
299 ## Ignored if security.tls.passwordsSecret is provided.
301 truststorePassword: ""
302 ## @param security.tls.keyPassword Password to access the PEM key when they are password-protected.
303 ## Ignored if security.tls.passwordsSecret is provided.
306 ## @param security.tls.secretKeystoreKey Name of the secret key containing the Keystore password
308 secretKeystoreKey: ""
309 ## @param security.tls.secretTruststoreKey Name of the secret key containing the Truststore password
311 secretTruststoreKey: ""
312 ## @param security.tls.secretKey Name of the secret key containing the PEM key password
315## @section Traffic Exposure Parameters
318## Elasticsearch service parameters
321 ## @param service.type Elasticsearch service type
324 ## @param service.ports.restAPI Elasticsearch service REST API port
325 ## @param service.ports.transport Elasticsearch service transport port
330 ## Node ports to expose
331 ## @param service.nodePorts.restAPI Node port for REST API
332 ## @param service.nodePorts.transport Node port for REST API
333 ## NOTE: choose port between <30000-32767>
338 ## @param service.clusterIP Elasticsearch service Cluster IP
343 ## @param service.loadBalancerIP Elasticsearch service Load Balancer IP
344 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
347 ## @param service.loadBalancerSourceRanges Elasticsearch service Load Balancer sources
348 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
350 ## loadBalancerSourceRanges:
353 loadBalancerSourceRanges: []
354 ## @param service.externalTrafficPolicy Elasticsearch service external traffic policy
355 ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
357 externalTrafficPolicy: Cluster
358 ## @param service.annotations Additional custom annotations for Elasticsearch service
361 ## @param service.extraPorts Extra ports to expose in Elasticsearch service (normally used with the `sidecars` value)
364 ## @param service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
365 ## If "ClientIP", consecutive client requests will be directed to the same Pod
366 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
368 sessionAffinity: None
369 ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
370 ## sessionAffinityConfig:
372 ## timeoutSeconds: 300
374 sessionAffinityConfig: {}
375## Elasticsearch ingress parameters
376## ref: http://kubernetes.io/docs/concepts/services-networking/ingress/
379 ## @param ingress.enabled Enable ingress record generation for Elasticsearch
382 ## @param ingress.pathType Ingress path type
384 pathType: ImplementationSpecific
385 ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
388 ## @param ingress.hostname Default host for the ingress record
390 hostname: elasticsearch.local
391 ## @param ingress.path Default path for the ingress record
392 ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
395 ## @param ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
396 ## Use this parameter to set the required annotations for cert-manager, see
397 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
400 ## kubernetes.io/ingress.class: nginx
401 ## cert-manager.io/cluster-issuer: cluster-issuer-name
404 ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
405 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
407 ## - Use the `ingress.secrets` parameter to create this TLS secret
408 ## - Rely on cert-manager to create it by setting the corresponding annotations
409 ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
412 ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
415 ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
416 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
417 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
420 ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
423 ## - name: elasticsearch.local
427 ## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
432 ## serviceName: ssl-redirect
433 ## servicePort: use-annotation
436 ## @param ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
437 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
441 ## - elasticsearch.local
442 ## secretName: elasticsearch.local-tls
445 ## @param ingress.secrets Custom TLS certificates as secrets
446 ## NOTE: 'key' and 'certificate' are expected in PEM format
447 ## NOTE: 'name' should line up with a 'secretName' set further up
448 ## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
449 ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
450 ## It is also possible to create and manage the certificates outside of this helm chart
451 ## Please see README.md for more information
454 ## - name: elasticsearch.local-tls
456 ## -----BEGIN RSA PRIVATE KEY-----
458 ## -----END RSA PRIVATE KEY-----
460 ## -----BEGIN CERTIFICATE-----
462 ## -----END CERTIFICATE-----
465 ## @param ingress.extraRules Additional rules to be covered with this ingress record
466 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
469 ## - host: example.local
479## @section Master-elegible nodes parameters
481 ## @param master.masterOnly Deploy the Elasticsearch master-elegible nodes as master-only nodes. Recommended for high-demand deployments.
484 ## @param master.replicaCount Number of master-elegible replicas to deploy
487 ## @param master.extraRoles Append extra roles to the node role
490 ## Pod Disruption Budget configuration
491 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
492 ## @param master.pdb.create Enable/disable a Pod Disruption Budget creation
493 ## @param master.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
494 ## @param master.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
500 ## @param master.nameOverride String to partially override elasticsearch.master.fullname
503 ## @param master.fullnameOverride String to fully override elasticsearch.master.fullname
506 ## @param master.servicenameOverride String to fully override elasticsearch.master.servicename
508 servicenameOverride: ""
509 ## @param master.annotations [object] Annotations for the master statefulset
512 ## @param master.updateStrategy.type Master-elegible nodes statefulset stategy type
513 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
517 ## Elasticsearch resource requests and limits
518 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
519 ## We usually recommend not to specify default resources and to leave this as a conscious
520 ## choice for the user. This also increases chances charts run on environments with little
521 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
522 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
523 ## @param master.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if master.resources is set (master.resources is recommended for production).
525 resourcesPreset: "small"
526 ## @param master.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
537 ## @param master.heapSize Elasticsearch master-eligible node heap size.
538 ## Note: The recommended heapSize is half of the container's memory.
539 ## If omitted, it will be automatically set.
544 ## Configure Pods Security Context
545 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
546 ## @param master.podSecurityContext.enabled Enabled master-elegible pods' Security Context
547 ## @param master.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
548 ## @param master.podSecurityContext.sysctls Set kernel settings using the sysctl interface
549 ## @param master.podSecurityContext.supplementalGroups Set filesystem extra groups
550 ## @param master.podSecurityContext.fsGroup Set master-elegible pod's Security Context fsGroup
554 fsGroupChangePolicy: Always
556 supplementalGroups: []
558 ## Configure Container Security Context
559 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
560 ## @param master.containerSecurityContext.enabled Elasticseacrh master-eligible container securityContext
561 ## @param master.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
562 ## @param master.containerSecurityContext.runAsUser User ID for the Elasticseacrh master-eligible container
563 ## @param master.containerSecurityContext.runAsGroup Group ID for the Elasticseacrh master-eligible container
564 ## @param master.containerSecurityContext.runAsNonRoot Set Elasticsearch master-eligible container's Security Context runAsNonRoot
565 ## @param master.containerSecurityContext.privileged Set Elasticsearch master-eligible container's Security Context privileged
566 ## @param master.containerSecurityContext.allowPrivilegeEscalation Set Elasticsearch master-eligible container's Security Context allowPrivilegeEscalation
567 ## @param master.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
568 ## @param master.containerSecurityContext.capabilities.drop List of capabilities to be dropped
569 ## @param master.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
571 containerSecurityContext:
578 allowPrivilegeEscalation: false
579 readOnlyRootFilesystem: true
583 type: "RuntimeDefault"
585 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
588 ## @param master.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
591 ## @param master.networkPolicy.allowExternal Don't require server label for connections
592 ## The Policy model to apply. When set to false, only pods with the correct
593 ## server label will have network access to the ports server is listening
594 ## on. When true, server will accept connections from any source
595 ## (with the correct destination port).
598 ## @param master.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
600 allowExternalEgress: true
601 ## @param master.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
611 ## - matchExpressions:
617 ## @param master.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
627 ## - matchExpressions:
634 ## @param master.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
635 ## @param master.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
637 ingressNSMatchLabels: {}
638 ingressNSPodMatchLabels: {}
639 ## @param master.automountServiceAccountToken Mount Service Account token in pod
641 automountServiceAccountToken: false
642 ## @param master.hostAliases master-elegible pods host aliases
643 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
646 ## @param master.podLabels Extra labels for master-elegible pods
647 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
650 ## @param master.podAnnotations Annotations for master-elegible pods
651 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
654 ## @param master.shareProcessNamespace Share a single process namespace between all of the containers in pod
655 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
657 shareProcessNamespace: false
658 ## @param master.podAffinityPreset Pod affinity preset. Ignored if `master.affinity` is set. Allowed values: `soft` or `hard`
659 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
661 podAffinityPreset: ""
662 ## @param master.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `master.affinity` is set. Allowed values: `soft` or `hard`
663 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
665 podAntiAffinityPreset: ""
666 ## Node master.affinity preset
667 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
670 ## @param master.nodeAffinityPreset.type Node affinity preset type. Ignored if `master.affinity` is set. Allowed values: `soft` or `hard`
673 ## @param master.nodeAffinityPreset.key Node label key to match. Ignored if `master.affinity` is set
676 ## @param master.nodeAffinityPreset.values Node label values to match. Ignored if `master.affinity` is set
683 ## @param master.affinity Affinity for master-elegible pods assignment
684 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
685 ## NOTE: `master.podAffinityPreset`, `master.podAntiAffinityPreset`, and `master.nodeAffinityPreset` will be ignored when it's set
688 ## @param master.nodeSelector Node labels for master-elegible pods assignment
689 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
692 ## @param master.tolerations Tolerations for master-elegible pods assignment
693 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
696 ## @param master.priorityClassName master-elegible pods' priorityClassName
698 priorityClassName: ""
699 ## @param master.schedulerName Name of the k8s scheduler (other than default) for master-elegible pods
700 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
703 ## @param master.terminationGracePeriodSeconds In seconds, time the given to the Elasticsearch Master pod needs to terminate gracefully
704 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
706 terminationGracePeriodSeconds: ""
707 ## @param master.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
708 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
710 topologySpreadConstraints: []
711 ## @param master.podManagementPolicy podManagementPolicy to manage scaling operation of Elasticsearch master pods
712 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
714 podManagementPolicy: "Parallel"
715 ## Configure extra options for Elasticsearch master-elegible containers' liveness, readiness and startup probes
716 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
717 ## @param master.startupProbe.enabled Enable/disable the startup probe (master nodes pod)
718 ## @param master.startupProbe.initialDelaySeconds Delay before startup probe is initiated (master nodes pod)
719 ## @param master.startupProbe.periodSeconds How often to perform the probe (master nodes pod)
720 ## @param master.startupProbe.timeoutSeconds When the probe times out (master nodes pod)
721 ## @param master.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (master nodes pod)
722 ## @param master.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
726 initialDelaySeconds: 90
731 ## @param master.livenessProbe.enabled Enable/disable the liveness probe (master-eligible nodes pod)
732 ## @param master.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (master-eligible nodes pod)
733 ## @param master.livenessProbe.periodSeconds How often to perform the probe (master-eligible nodes pod)
734 ## @param master.livenessProbe.timeoutSeconds When the probe times out (master-eligible nodes pod)
735 ## @param master.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (master-eligible nodes pod)
736 ## @param master.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
740 initialDelaySeconds: 180
745 ## @param master.readinessProbe.enabled Enable/disable the readiness probe (master-eligible nodes pod)
746 ## @param master.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (master-eligible nodes pod)
747 ## @param master.readinessProbe.periodSeconds How often to perform the probe (master-eligible nodes pod)
748 ## @param master.readinessProbe.timeoutSeconds When the probe times out (master-eligible nodes pod)
749 ## @param master.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (master-eligible nodes pod)
750 ## @param master.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
754 initialDelaySeconds: 90
759 ## @param master.customStartupProbe Override default startup probe
761 customStartupProbe: {}
762 ## @param master.customLivenessProbe Override default liveness probe
764 customLivenessProbe: {}
765 ## @param master.customReadinessProbe Override default readiness probe
767 customReadinessProbe: {}
768 ## @param master.command Override default container command (useful when using custom images)
771 ## @param master.args Override default container args (useful when using custom images)
774 ## @param master.lifecycleHooks for the master-elegible container(s) to automate configuration before or after startup
777 ## @param master.extraEnvVars Array with extra environment variables to add to master-elegible nodes
784 ## @param master.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for master-elegible nodes
787 ## @param master.extraEnvVarsSecret Name of existing Secret containing extra env vars for master-elegible nodes
789 extraEnvVarsSecret: ""
790 ## @param master.extraVolumes Optionally specify extra list of additional volumes for the master-elegible pod(s)
793 ## @param master.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the master-elegible container(s)
795 extraVolumeMounts: []
796 ## @param master.sidecars Add additional sidecar containers to the master-elegible pod(s)
799 ## - name: your-image-name
801 ## imagePullPolicy: Always
804 ## containerPort: 1234
807 ## @param master.initContainers Add additional init containers to the master-elegible pod(s)
808 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
811 ## - name: your-image-name
813 ## imagePullPolicy: Always
814 ## command: ['sh', '-c', 'echo "hello world"']
817 ## Enable persistence using Persistent Volume Claims
818 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
821 ## @param master.persistence.enabled Enable persistence using a `PersistentVolumeClaim`
824 ## @param master.persistence.storageClass Persistent Volume Storage Class
825 ## If defined, storageClassName: <storageClass>
826 ## If set to "-", storageClassName: "", which disables dynamic provisioning
827 ## If undefined (the default) or set to null, no storageClassName spec is
828 ## set, choosing the default provisioner. (gp2 on AWS, standard on
829 ## GKE, AWS & OpenStack)
832 ## @param master.persistence.existingClaim Existing Persistent Volume Claim
833 ## then accept the value as an existing Persistent Volume Claim to which
834 ## the container should be bound
837 ## @param master.persistence.existingVolume Existing Persistent Volume for use as volume match label selector to the `volumeClaimTemplate`. Ignored when `master.persistence.selector` is set.
840 ## @param master.persistence.selector Configure custom selector for existing Persistent Volume. Overwrites `master.persistence.existingVolume`
846 ## @param master.persistence.annotations Persistent Volume Claim annotations
849 ## @param master.persistence.accessModes Persistent Volume Access Modes
853 ## @param master.persistence.size Persistent Volume Size
856 ## Master Persistent Volume Claim Retention Policy
857 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
859 persistentVolumeClaimRetentionPolicy:
860 ## @param master.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Master StatefulSet
863 ## @param master.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
866 ## @param master.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
869 ## Pods Service Account
870 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
871 ## @param master.serviceAccount.create Specifies whether a ServiceAccount should be created
872 ## @param master.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
873 ## @param master.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
874 ## @param master.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
879 automountServiceAccountToken: false
881 ## Enable HorizontalPodAutoscaler for Elasticsearch Master pods
882 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
883 ## @param master.autoscaling.enabled Whether enable horizontal pod autoscale
884 ## @param master.autoscaling.minReplicas Configure a minimum amount of pods
885 ## @param master.autoscaling.maxReplicas Configure a maximum amount of pods
886 ## @param master.autoscaling.targetCPU Define the CPU target to trigger the scaling actions (utilization percentage)
887 ## @param master.autoscaling.targetMemory Define the memory target to trigger the scaling actions (utilization percentage)
895## @section Data-only nodes parameters
897 ## @param data.replicaCount Number of data-only replicas to deploy
900 ## @param data.extraRoles Append extra roles to the node role
903 ## Pod Disruption Budget configuration
904 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
905 ## @param data.pdb.create Enable/disable a Pod Disruption Budget creation
906 ## @param data.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
907 ## @param data.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
913 ## @param data.nameOverride String to partially override elasticsearch.data.fullname
916 ## @param data.fullnameOverride String to fully override elasticsearch.data.fullname
919 ## @param data.servicenameOverride String to fully override elasticsearch.data.servicename
921 servicenameOverride: ""
922 ## @param data.annotations [object] Annotations for the data statefulset
925 ## @param data.updateStrategy.type Data-only nodes statefulset stategy type
926 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
930 ## Elasticsearch resource requests and limits
931 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
932 ## @param data.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if data.resources is set (data.resources is recommended for production).
934 resourcesPreset: "medium"
935 ## @param data.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
946 ## @param data.heapSize Elasticsearch data node heap size.
947 ## Note: The recommended heapSize is half of the container's memory.
948 ## If omitted, it will be automatically set.
953 ## Configure Pods Security Context
954 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
955 ## @param data.podSecurityContext.enabled Enabled data pods' Security Context
956 ## @param data.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
957 ## @param data.podSecurityContext.sysctls Set kernel settings using the sysctl interface
958 ## @param data.podSecurityContext.supplementalGroups Set filesystem extra groups
959 ## @param data.podSecurityContext.fsGroup Set data pod's Security Context fsGroup
963 fsGroupChangePolicy: Always
965 supplementalGroups: []
967 ## Configure Container Security Context
968 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
969 ## @param data.containerSecurityContext.enabled Elasticseacrh data container securityContext
970 ## @param data.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
971 ## @param data.containerSecurityContext.runAsUser User ID for the Elasticseacrh data container
972 ## @param data.containerSecurityContext.runAsGroup Group ID for the Elasticseacrh data container
973 ## @param data.containerSecurityContext.runAsNonRoot Set Elasticsearch data container's Security Context runAsNonRoot
974 ## @param data.containerSecurityContext.privileged Set Elasticsearch data container's Security Context privileged
975 ## @param data.containerSecurityContext.allowPrivilegeEscalation Set Elasticsearch data container's Security Context allowPrivilegeEscalation
976 ## @param data.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
977 ## @param data.containerSecurityContext.capabilities.drop List of capabilities to be dropped
978 ## @param data.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
980 containerSecurityContext:
987 allowPrivilegeEscalation: false
988 readOnlyRootFilesystem: true
992 type: "RuntimeDefault"
994 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
997 ## @param data.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1000 ## @param data.networkPolicy.allowExternal Don't require server label for connections
1001 ## The Policy model to apply. When set to false, only pods with the correct
1002 ## server label will have network access to the ports server is listening
1003 ## on. When true, server will accept connections from any source
1004 ## (with the correct destination port).
1007 ## @param data.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1009 allowExternalEgress: true
1010 ## @param data.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1020 ## - matchExpressions:
1026 ## @param data.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1036 ## - matchExpressions:
1043 ## @param data.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1044 ## @param data.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1046 ingressNSMatchLabels: {}
1047 ingressNSPodMatchLabels: {}
1048 ## @param data.automountServiceAccountToken Mount Service Account token in pod
1050 automountServiceAccountToken: false
1051 ## @param data.hostAliases data pods host aliases
1052 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1055 ## @param data.podLabels Extra labels for data pods
1056 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1059 ## @param data.podAnnotations Annotations for data pods
1060 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1063 ## @param data.shareProcessNamespace Share a single process namespace between all of the containers in pod
1064 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
1066 shareProcessNamespace: false
1067 ## @param data.podAffinityPreset Pod affinity preset. Ignored if `data.affinity` is set. Allowed values: `soft` or `hard`
1068 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1070 podAffinityPreset: ""
1071 ## @param data.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `data.affinity` is set. Allowed values: `soft` or `hard`
1072 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1074 podAntiAffinityPreset: ""
1075 ## Node data.affinity preset
1076 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1079 ## @param data.nodeAffinityPreset.type Node affinity preset type. Ignored if `data.affinity` is set. Allowed values: `soft` or `hard`
1082 ## @param data.nodeAffinityPreset.key Node label key to match. Ignored if `data.affinity` is set
1085 ## @param data.nodeAffinityPreset.values Node label values to match. Ignored if `data.affinity` is set
1092 ## @param data.affinity Affinity for data pods assignment
1093 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1094 ## NOTE: `data.podAffinityPreset`, `data.podAntiAffinityPreset`, and `data.nodeAffinityPreset` will be ignored when it's set
1097 ## @param data.nodeSelector Node labels for data pods assignment
1098 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1101 ## @param data.tolerations Tolerations for data pods assignment
1102 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1105 ## @param data.priorityClassName data pods' priorityClassName
1107 priorityClassName: ""
1108 ## @param data.schedulerName Name of the k8s scheduler (other than default) for data pods
1109 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1112 ## @param data.terminationGracePeriodSeconds In seconds, time the given to the Elasticsearch data pod needs to terminate gracefully
1113 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1115 terminationGracePeriodSeconds: ""
1116 ## @param data.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
1117 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1119 topologySpreadConstraints: []
1120 ## @param data.podManagementPolicy podManagementPolicy to manage scaling operation of Elasticsearch data pods
1121 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1123 podManagementPolicy: "Parallel"
1124 ## Configure extra options for Elasticsearch data containers' liveness, readiness and startup probes
1125 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
1126 ## @param data.startupProbe.enabled Enable/disable the startup probe (data nodes pod)
1127 ## @param data.startupProbe.initialDelaySeconds Delay before startup probe is initiated (data nodes pod)
1128 ## @param data.startupProbe.periodSeconds How often to perform the probe (data nodes pod)
1129 ## @param data.startupProbe.timeoutSeconds When the probe times out (data nodes pod)
1130 ## @param data.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (data nodes pod)
1131 ## @param data.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1135 initialDelaySeconds: 90
1140 ## @param data.livenessProbe.enabled Enable/disable the liveness probe (data nodes pod)
1141 ## @param data.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (data nodes pod)
1142 ## @param data.livenessProbe.periodSeconds How often to perform the probe (data nodes pod)
1143 ## @param data.livenessProbe.timeoutSeconds When the probe times out (data nodes pod)
1144 ## @param data.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (data nodes pod)
1145 ## @param data.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1149 initialDelaySeconds: 180
1154 ## @param data.readinessProbe.enabled Enable/disable the readiness probe (data nodes pod)
1155 ## @param data.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (data nodes pod)
1156 ## @param data.readinessProbe.periodSeconds How often to perform the probe (data nodes pod)
1157 ## @param data.readinessProbe.timeoutSeconds When the probe times out (data nodes pod)
1158 ## @param data.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (data nodes pod)
1159 ## @param data.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1163 initialDelaySeconds: 90
1168 ## @param data.customStartupProbe Override default startup probe
1170 customStartupProbe: {}
1171 ## @param data.customLivenessProbe Override default liveness probe
1173 customLivenessProbe: {}
1174 ## @param data.customReadinessProbe Override default readiness probe
1176 customReadinessProbe: {}
1177 ## @param data.command Override default container command (useful when using custom images)
1180 ## @param data.args Override default container args (useful when using custom images)
1183 ## @param data.lifecycleHooks for the data container(s) to automate configuration before or after startup
1186 ## @param data.extraEnvVars Array with extra environment variables to add to data nodes
1193 ## @param data.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for data nodes
1196 ## @param data.extraEnvVarsSecret Name of existing Secret containing extra env vars for data nodes
1198 extraEnvVarsSecret: ""
1199 ## @param data.extraVolumes Optionally specify extra list of additional volumes for the data pod(s)
1202 ## @param data.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the data container(s)
1204 extraVolumeMounts: []
1205 ## @param data.sidecars Add additional sidecar containers to the data pod(s)
1208 ## - name: your-image-name
1209 ## image: your-image
1210 ## imagePullPolicy: Always
1213 ## containerPort: 1234
1216 ## @param data.initContainers Add additional init containers to the data pod(s)
1217 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1220 ## - name: your-image-name
1221 ## image: your-image
1222 ## imagePullPolicy: Always
1223 ## command: ['sh', '-c', 'echo "hello world"']
1226 ## Enable persistence using Persistent Volume Claims
1227 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
1230 ## @param data.persistence.enabled Enable persistence using a `PersistentVolumeClaim`
1233 ## @param data.persistence.storageClass Persistent Volume Storage Class
1234 ## If defined, storageClassName: <storageClass>
1235 ## If set to "-", storageClassName: "", which disables dynamic provisioning
1236 ## If undefined (the default) or set to null, no storageClassName spec is
1237 ## set, choosing the default provisioner. (gp2 on AWS, standard on
1238 ## GKE, AWS & OpenStack)
1241 ## @param data.persistence.existingClaim Existing Persistent Volume Claim
1242 ## then accept the value as an existing Persistent Volume Claim to which
1243 ## the container should be bound
1246 ## @param data.persistence.existingVolume Existing Persistent Volume for use as volume match label selector to the `volumeClaimTemplate`. Ignored when `data.persistence.selector` is set.
1249 ## @param data.persistence.selector Configure custom selector for existing Persistent Volume. Overwrites `data.persistence.existingVolume`
1255 ## @param data.persistence.annotations Persistent Volume Claim annotations
1258 ## @param data.persistence.accessModes Persistent Volume Access Modes
1262 ## @param data.persistence.size Persistent Volume Size
1265 ## Data Persistent Volume Claim Retention Policy
1266 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
1268 persistentVolumeClaimRetentionPolicy:
1269 ## @param data.persistentVolumeClaimRetentionPolicy.enabled Enable Persistent volume retention policy for Data StatefulSet
1272 ## @param data.persistentVolumeClaimRetentionPolicy.whenScaled Volume retention behavior when the replica count of the StatefulSet is reduced
1275 ## @param data.persistentVolumeClaimRetentionPolicy.whenDeleted Volume retention behavior that applies when the StatefulSet is deleted
1278 ## Pods Service Account
1279 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
1280 ## @param data.serviceAccount.create Specifies whether a ServiceAccount should be created
1281 ## @param data.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
1282 ## @param data.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
1283 ## @param data.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
1288 automountServiceAccountToken: false
1290 ## Enable HorizontalPodAutoscaler for Elasticsearch data pods
1291 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
1292 ## @param data.autoscaling.enabled Whether enable horizontal pod autoscale
1293 ## @param data.autoscaling.minReplicas Configure a minimum amount of pods
1294 ## @param data.autoscaling.maxReplicas Configure a maximum amount of pods
1295 ## @param data.autoscaling.targetCPU Define the CPU target to trigger the scaling actions (utilization percentage)
1296 ## @param data.autoscaling.targetMemory Define the memory target to trigger the scaling actions (utilization percentage)
1304## @section Coordinating-only nodes parameters
1306 ## @param coordinating.replicaCount Number of coordinating-only replicas to deploy
1309 ## @param coordinating.extraRoles Append extra roles to the node role
1310 ## NOTE: In Elasticsearch, all nodes act as coordinators, coordinating-only nodes do not have any other role by default.
1313 ## Pod Disruption Budget configuration
1314 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1315 ## @param coordinating.pdb.create Enable/disable a Pod Disruption Budget creation
1316 ## @param coordinating.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1317 ## @param coordinating.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
1323 ## @param coordinating.nameOverride String to partially override elasticsearch.coordinating.fullname
1326 ## @param coordinating.fullnameOverride String to fully override elasticsearch.coordinating.fullname
1328 fullnameOverride: ""
1329 ## @param coordinating.servicenameOverride String to fully override elasticsearch.coordinating.servicename
1331 servicenameOverride: ""
1332 ## @param coordinating.annotations [object] Annotations for the coordinating-only statefulset
1335 ## @param coordinating.updateStrategy.type Coordinating-only nodes statefulset stategy type
1336 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1340 ## Elasticsearch resource requests and limits
1341 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1342 ## @param coordinating.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if coordinating.resources is set (coordinating.resources is recommended for production).
1344 resourcesPreset: "small"
1345 ## @param coordinating.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1356 ## @param coordinating.heapSize Elasticsearch coordinating node heap size.
1357 ## Note: The recommended heapSize is half of the container's memory.
1358 ## If omitted, it will be automatically set.
1363 ## Configure Pods Security Context
1364 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1365 ## @param coordinating.podSecurityContext.enabled Enabled coordinating-only pods' Security Context
1366 ## @param coordinating.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1367 ## @param coordinating.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1368 ## @param coordinating.podSecurityContext.supplementalGroups Set filesystem extra groups
1369 ## @param coordinating.podSecurityContext.fsGroup Set coordinating-only pod's Security Context fsGroup
1373 fsGroupChangePolicy: Always
1375 supplementalGroups: []
1377 ## Configure Container Security Context
1378 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1379 ## @param coordinating.containerSecurityContext.enabled Elasticseacrh coordinating container securityContext
1380 ## @param coordinating.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1381 ## @param coordinating.containerSecurityContext.runAsUser User ID for the Elasticseacrh coordinating container
1382 ## @param coordinating.containerSecurityContext.runAsGroup Group ID for the Elasticseacrh coordinating container
1383 ## @param coordinating.containerSecurityContext.runAsNonRoot Set Elasticsearch coordinating container's Security Context runAsNonRoot
1384 ## @param coordinating.containerSecurityContext.privileged Set Elasticsearch coordinating container's Security Context privileged
1385 ## @param coordinating.containerSecurityContext.allowPrivilegeEscalation Set Elasticsearch coordinating container's Security Context allowPrivilegeEscalation
1386 ## @param coordinating.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1387 ## @param coordinating.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1388 ## @param coordinating.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1390 containerSecurityContext:
1397 allowPrivilegeEscalation: false
1398 readOnlyRootFilesystem: true
1402 type: "RuntimeDefault"
1404 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1407 ## @param coordinating.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1410 ## @param coordinating.networkPolicy.allowExternal Don't require server label for connections
1411 ## The Policy model to apply. When set to false, only pods with the correct
1412 ## server label will have network access to the ports server is listening
1413 ## on. When true, server will accept connections from any source
1414 ## (with the correct destination port).
1417 ## @param coordinating.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1419 allowExternalEgress: true
1420 ## @param coordinating.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1430 ## - matchExpressions:
1436 ## @param coordinating.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1446 ## - matchExpressions:
1453 ## @param coordinating.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1454 ## @param coordinating.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1456 ingressNSMatchLabels: {}
1457 ingressNSPodMatchLabels: {}
1458 ## @param coordinating.automountServiceAccountToken Mount Service Account token in pod
1460 automountServiceAccountToken: false
1461 ## @param coordinating.hostAliases coordinating-only pods host aliases
1462 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1465 ## @param coordinating.podLabels Extra labels for coordinating-only pods
1466 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1469 ## @param coordinating.podAnnotations Annotations for coordinating-only pods
1470 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1473 ## @param coordinating.shareProcessNamespace Share a single process namespace between all of the containers in pod
1474 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
1476 shareProcessNamespace: false
1477 ## @param coordinating.podAffinityPreset Pod affinity preset. Ignored if `coordinating.affinity` is set. Allowed values: `soft` or `hard`
1478 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1480 podAffinityPreset: ""
1481 ## @param coordinating.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `coordinating.affinity` is set. Allowed values: `soft` or `hard`
1482 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1484 podAntiAffinityPreset: ""
1485 ## Node coordinating.affinity preset
1486 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1489 ## @param coordinating.nodeAffinityPreset.type Node affinity preset type. Ignored if `coordinating.affinity` is set. Allowed values: `soft` or `hard`
1492 ## @param coordinating.nodeAffinityPreset.key Node label key to match. Ignored if `coordinating.affinity` is set
1495 ## @param coordinating.nodeAffinityPreset.values Node label values to match. Ignored if `coordinating.affinity` is set
1502 ## @param coordinating.affinity Affinity for coordinating-only pods assignment
1503 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1504 ## NOTE: `coordinating.podAffinityPreset`, `coordinating.podAntiAffinityPreset`, and `coordinating.nodeAffinityPreset` will be ignored when it's set
1507 ## @param coordinating.nodeSelector Node labels for coordinating-only pods assignment
1508 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1511 ## @param coordinating.tolerations Tolerations for coordinating-only pods assignment
1512 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1515 ## @param coordinating.priorityClassName coordinating-only pods' priorityClassName
1517 priorityClassName: ""
1518 ## @param coordinating.schedulerName Name of the k8s scheduler (other than default) for coordinating-only pods
1519 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1522 ## @param coordinating.terminationGracePeriodSeconds In seconds, time the given to the Elasticsearch coordinating pod needs to terminate gracefully
1523 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1525 terminationGracePeriodSeconds: ""
1526 ## @param coordinating.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
1527 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1529 topologySpreadConstraints: []
1530 ## @param coordinating.podManagementPolicy podManagementPolicy to manage scaling operation of Elasticsearch coordinating pods
1531 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1533 podManagementPolicy: "Parallel"
1534 ## Configure extra options for Elasticsearch coordinating-only containers' liveness, readiness and startup probes
1535 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
1536 ## @param coordinating.startupProbe.enabled Enable/disable the startup probe (coordinating-only nodes pod)
1537 ## @param coordinating.startupProbe.initialDelaySeconds Delay before startup probe is initiated (coordinating-only nodes pod)
1538 ## @param coordinating.startupProbe.periodSeconds How often to perform the probe (coordinating-only nodes pod)
1539 ## @param coordinating.startupProbe.timeoutSeconds When the probe times out (coordinating-only nodes pod)
1540 ## @param coordinating.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (coordinating-only nodes pod)
1541 ## @param coordinating.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1545 initialDelaySeconds: 90
1550 ## @param coordinating.livenessProbe.enabled Enable/disable the liveness probe (coordinating-only nodes pod)
1551 ## @param coordinating.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (coordinating-only nodes pod)
1552 ## @param coordinating.livenessProbe.periodSeconds How often to perform the probe (coordinating-only nodes pod)
1553 ## @param coordinating.livenessProbe.timeoutSeconds When the probe times out (coordinating-only nodes pod)
1554 ## @param coordinating.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (coordinating-only nodes pod)
1555 ## @param coordinating.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1559 initialDelaySeconds: 180
1564 ## @param coordinating.readinessProbe.enabled Enable/disable the readiness probe (coordinating-only nodes pod)
1565 ## @param coordinating.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (coordinating-only nodes pod)
1566 ## @param coordinating.readinessProbe.periodSeconds How often to perform the probe (coordinating-only nodes pod)
1567 ## @param coordinating.readinessProbe.timeoutSeconds When the probe times out (coordinating-only nodes pod)
1568 ## @param coordinating.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (coordinating-only nodes pod)
1569 ## @param coordinating.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1573 initialDelaySeconds: 90
1578 ## @param coordinating.customStartupProbe Override default startup probe
1580 customStartupProbe: {}
1581 ## @param coordinating.customLivenessProbe Override default liveness probe
1583 customLivenessProbe: {}
1584 ## @param coordinating.customReadinessProbe Override default readiness probe
1586 customReadinessProbe: {}
1587 ## @param coordinating.command Override default container command (useful when using custom images)
1590 ## @param coordinating.args Override default container args (useful when using custom images)
1593 ## @param coordinating.lifecycleHooks for the coordinating-only container(s) to automate configuration before or after startup
1596 ## @param coordinating.extraEnvVars Array with extra environment variables to add to coordinating-only nodes
1603 ## @param coordinating.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for coordinating-only nodes
1606 ## @param coordinating.extraEnvVarsSecret Name of existing Secret containing extra env vars for coordinating-only nodes
1608 extraEnvVarsSecret: ""
1609 ## @param coordinating.extraVolumes Optionally specify extra list of additional volumes for the coordinating-only pod(s)
1612 ## @param coordinating.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the coordinating-only container(s)
1614 extraVolumeMounts: []
1615 ## @param coordinating.sidecars Add additional sidecar containers to the coordinating-only pod(s)
1618 ## - name: your-image-name
1619 ## image: your-image
1620 ## imagePullPolicy: Always
1623 ## containerPort: 1234
1626 ## @param coordinating.initContainers Add additional init containers to the coordinating-only pod(s)
1627 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1630 ## - name: your-image-name
1631 ## image: your-image
1632 ## imagePullPolicy: Always
1633 ## command: ['sh', '-c', 'echo "hello world"']
1636 ## Pods Service Account
1637 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
1638 ## @param coordinating.serviceAccount.create Specifies whether a ServiceAccount should be created
1639 ## @param coordinating.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
1640 ## @param coordinating.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
1641 ## @param coordinating.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
1646 automountServiceAccountToken: false
1648 ## Enable HorizontalPodAutoscaler for Elasticsearch coordinating pods
1649 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
1650 ## @param coordinating.autoscaling.enabled Whether enable horizontal pod autoscale
1651 ## @param coordinating.autoscaling.minReplicas Configure a minimum amount of pods
1652 ## @param coordinating.autoscaling.maxReplicas Configure a maximum amount of pods
1653 ## @param coordinating.autoscaling.targetCPU Define the CPU target to trigger the scaling actions (utilization percentage)
1654 ## @param coordinating.autoscaling.targetMemory Define the memory target to trigger the scaling actions (utilization percentage)
1662## @section Ingest-only nodes parameters
1664 ## @param ingest.enabled Enable ingest nodes
1667 ## @param ingest.replicaCount Number of ingest-only replicas to deploy
1670 ## @param ingest.extraRoles Append extra roles to the node role
1673 ## Pod Disruption Budget configuration
1674 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1675 ## @param ingest.pdb.create Enable/disable a Pod Disruption Budget creation
1676 ## @param ingest.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1677 ## @param ingest.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
1683 ## @param ingest.nameOverride String to partially override elasticsearch.ingest.fullname
1686 ## @param ingest.fullnameOverride String to fully override elasticsearch.ingest.fullname
1688 fullnameOverride: ""
1689 ## @param ingest.servicenameOverride String to fully override ingest.master.servicename
1691 servicenameOverride: ""
1692 ## @param ingest.annotations [object] Annotations for the ingest statefulset
1695 ## @param ingest.containerPorts.restAPI Elasticsearch REST API port
1696 ## @param ingest.containerPorts.transport Elasticsearch Transport port
1701 ## @param ingest.updateStrategy.type Ingest-only nodes statefulset stategy type
1702 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1706 ## Elasticsearch resource requests and limits
1707 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1708 ## @param ingest.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ingest.resources is set (ingest.resources is recommended for production).
1710 resourcesPreset: "small"
1711 ## @param ingest.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1722 ## @param ingest.heapSize Elasticsearch ingest-only node heap size.
1723 ## Note: The recommended heapSize is half of the container's memory.
1724 ## If omitted, it will be automatically set.
1729 ## Configure Pods Security Context
1730 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1731 ## @param ingest.podSecurityContext.enabled Enabled ingest-only pods' Security Context
1732 ## @param ingest.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1733 ## @param ingest.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1734 ## @param ingest.podSecurityContext.supplementalGroups Set filesystem extra groups
1735 ## @param ingest.podSecurityContext.fsGroup Set ingest-only pod's Security Context fsGroup
1739 fsGroupChangePolicy: Always
1741 supplementalGroups: []
1743 ## Configure Container Security Context
1744 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1745 ## @param ingest.containerSecurityContext.enabled Elasticseacrh ingest container securityContext
1746 ## @param ingest.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1747 ## @param ingest.containerSecurityContext.runAsUser User ID for the Elasticseacrh ingest container
1748 ## @param ingest.containerSecurityContext.runAsGroup Group ID for the Elasticseacrh ingest container
1749 ## @param ingest.containerSecurityContext.runAsNonRoot Set Elasticsearch ingest container's Security Context runAsNonRoot
1750 ## @param ingest.containerSecurityContext.privileged Set Elasticsearch ingest container's Security Context privileged
1751 ## @param ingest.containerSecurityContext.allowPrivilegeEscalation Set Elasticsearch ingest container's Security Context allowPrivilegeEscalation
1752 ## @param ingest.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1753 ## @param ingest.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1754 ## @param ingest.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1756 containerSecurityContext:
1763 allowPrivilegeEscalation: false
1764 readOnlyRootFilesystem: true
1768 type: "RuntimeDefault"
1770 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1773 ## @param ingest.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1776 ## @param ingest.networkPolicy.allowExternal Don't require server label for connections
1777 ## The Policy model to apply. When set to false, only pods with the correct
1778 ## server label will have network access to the ports server is listening
1779 ## on. When true, server will accept connections from any source
1780 ## (with the correct destination port).
1783 ## @param ingest.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1785 allowExternalEgress: true
1786 ## @param ingest.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1796 ## - matchExpressions:
1802 ## @param ingest.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1812 ## - matchExpressions:
1819 ## @param ingest.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
1820 ## @param ingest.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
1822 ingressNSMatchLabels: {}
1823 ingressNSPodMatchLabels: {}
1824 ## @param ingest.automountServiceAccountToken Mount Service Account token in pod
1826 automountServiceAccountToken: false
1827 ## @param ingest.hostAliases ingest-only pods host aliases
1828 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1831 ## @param ingest.podLabels Extra labels for ingest-only pods
1832 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1835 ## @param ingest.podAnnotations Annotations for ingest-only pods
1836 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1839 ## @param ingest.shareProcessNamespace Share a single process namespace between all of the containers in pod
1840 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
1842 shareProcessNamespace: false
1843 ## @param ingest.podAffinityPreset Pod affinity preset. Ignored if `ingest.affinity` is set. Allowed values: `soft` or `hard`
1844 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1846 podAffinityPreset: ""
1847 ## @param ingest.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `ingest.affinity` is set. Allowed values: `soft` or `hard`
1848 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1850 podAntiAffinityPreset: ""
1851 ## Node ingest.affinity preset
1852 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1855 ## @param ingest.nodeAffinityPreset.type Node affinity preset type. Ignored if `ingest.affinity` is set. Allowed values: `soft` or `hard`
1858 ## @param ingest.nodeAffinityPreset.key Node label key to match. Ignored if `ingest.affinity` is set
1861 ## @param ingest.nodeAffinityPreset.values Node label values to match. Ignored if `ingest.affinity` is set
1868 ## @param ingest.affinity Affinity for ingest-only pods assignment
1869 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1870 ## NOTE: `ingest.podAffinityPreset`, `ingest.podAntiAffinityPreset`, and `ingest.nodeAffinityPreset` will be ignored when it's set
1873 ## @param ingest.nodeSelector Node labels for ingest-only pods assignment
1874 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1877 ## @param ingest.tolerations Tolerations for ingest-only pods assignment
1878 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1881 ## @param ingest.priorityClassName ingest-only pods' priorityClassName
1883 priorityClassName: ""
1884 ## @param ingest.schedulerName Name of the k8s scheduler (other than default) for ingest-only pods
1885 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1888 ## @param ingest.terminationGracePeriodSeconds In seconds, time the given to the Elasticsearch ingest pod needs to terminate gracefully
1889 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
1891 terminationGracePeriodSeconds: ""
1892 ## @param ingest.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
1893 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1895 topologySpreadConstraints: []
1896 ## @param ingest.podManagementPolicy podManagementPolicy to manage scaling operation of Elasticsearch ingest pods
1897 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1899 podManagementPolicy: "Parallel"
1900 ## Configure extra options for Elasticsearch ingest-only containers' liveness, readiness and startup probes
1901 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
1902 ## @param ingest.startupProbe.enabled Enable/disable the startup probe (ingest-only nodes pod)
1903 ## @param ingest.startupProbe.initialDelaySeconds Delay before startup probe is initiated (ingest-only nodes pod)
1904 ## @param ingest.startupProbe.periodSeconds How often to perform the probe (ingest-only nodes pod)
1905 ## @param ingest.startupProbe.timeoutSeconds When the probe times out (ingest-only nodes pod)
1906 ## @param ingest.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (ingest-only nodes pod)
1907 ## @param ingest.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1911 initialDelaySeconds: 90
1916 ## @param ingest.livenessProbe.enabled Enable/disable the liveness probe (ingest-only nodes pod)
1917 ## @param ingest.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (ingest-only nodes pod)
1918 ## @param ingest.livenessProbe.periodSeconds How often to perform the probe (ingest-only nodes pod)
1919 ## @param ingest.livenessProbe.timeoutSeconds When the probe times out (ingest-only nodes pod)
1920 ## @param ingest.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (ingest-only nodes pod)
1921 ## @param ingest.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1925 initialDelaySeconds: 180
1930 ## @param ingest.readinessProbe.enabled Enable/disable the readiness probe (ingest-only nodes pod)
1931 ## @param ingest.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (ingest-only nodes pod)
1932 ## @param ingest.readinessProbe.periodSeconds How often to perform the probe (ingest-only nodes pod)
1933 ## @param ingest.readinessProbe.timeoutSeconds When the probe times out (ingest-only nodes pod)
1934 ## @param ingest.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (ingest-only nodes pod)
1935 ## @param ingest.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
1939 initialDelaySeconds: 90
1944 ## @param ingest.customStartupProbe Override default startup probe
1946 customStartupProbe: {}
1947 ## @param ingest.customLivenessProbe Override default liveness probe
1949 customLivenessProbe: {}
1950 ## @param ingest.customReadinessProbe Override default readiness probe
1952 customReadinessProbe: {}
1953 ## @param ingest.command Override default container command (useful when using custom images)
1956 ## @param ingest.args Override default container args (useful when using custom images)
1959 ## @param ingest.lifecycleHooks for the ingest-only container(s) to automate configuration before or after startup
1962 ## @param ingest.extraEnvVars Array with extra environment variables to add to ingest-only nodes
1969 ## @param ingest.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ingest-only nodes
1972 ## @param ingest.extraEnvVarsSecret Name of existing Secret containing extra env vars for ingest-only nodes
1974 extraEnvVarsSecret: ""
1975 ## @param ingest.extraVolumes Optionally specify extra list of additional volumes for the ingest-only pod(s)
1978 ## @param ingest.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ingest-only container(s)
1980 extraVolumeMounts: []
1981 ## @param ingest.sidecars Add additional sidecar containers to the ingest-only pod(s)
1984 ## - name: your-image-name
1985 ## image: your-image
1986 ## imagePullPolicy: Always
1989 ## containerPort: 1234
1992 ## @param ingest.initContainers Add additional init containers to the ingest-only pod(s)
1993 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1996 ## - name: your-image-name
1997 ## image: your-image
1998 ## imagePullPolicy: Always
1999 ## command: ['sh', '-c', 'echo "hello world"']
2002 ## Pods Service Account
2003 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2004 ## @param ingest.serviceAccount.create Specifies whether a ServiceAccount should be created
2005 ## @param ingest.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
2006 ## @param ingest.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
2007 ## @param ingest.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
2012 automountServiceAccountToken: false
2014 ## Enable HorizontalPodAutoscaler for Elasticsearch ingest-only pods
2015 ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
2016 ## @param ingest.autoscaling.enabled Whether enable horizontal pod autoscale
2017 ## @param ingest.autoscaling.minReplicas Configure a minimum amount of pods
2018 ## @param ingest.autoscaling.maxReplicas Configure a maximum amount of pods
2019 ## @param ingest.autoscaling.targetCPU Define the CPU target to trigger the scaling actions (utilization percentage)
2020 ## @param ingest.autoscaling.targetMemory Define the memory target to trigger the scaling actions (utilization percentage)
2028 ## Elasticsearch Ingest-only Service
2029 ## Recommended for heavy ingestion, improves performance by sending ingest traffic directly into the ingest nodes.
2030 ## NOTE: Ingest nodes will only accept index requests with an associated pipeline, any other request won't be rerouted.
2033 ## @param ingest.service.enabled Enable Ingest-only service
2036 ## @param ingest.service.type Elasticsearch ingest-only service type
2039 ## @param ingest.service.ports.restAPI Elasticsearch service REST API port
2040 ## @param ingest.service.ports.transport Elasticsearch service transport port
2045 ## Node ports to expose
2046 ## @param ingest.service.nodePorts.restAPI Node port for REST API
2047 ## @param ingest.service.nodePorts.transport Node port for REST API
2048 ## NOTE: choose port between <30000-32767>
2053 ## @param ingest.service.clusterIP Elasticsearch ingest-only service Cluster IP
2058 ## @param ingest.service.loadBalancerIP Elasticsearch ingest-only service Load Balancer IP
2059 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
2062 ## @param ingest.service.loadBalancerSourceRanges Elasticsearch ingest-only service Load Balancer sources
2063 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2065 ## loadBalancerSourceRanges:
2068 loadBalancerSourceRanges: []
2069 ## @param ingest.service.externalTrafficPolicy Elasticsearch ingest-only service external traffic policy
2070 ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2072 externalTrafficPolicy: Cluster
2073 ## @param ingest.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
2076 ## @param ingest.service.annotations Additional custom annotations for Elasticsearch ingest-only service
2079 ## @param ingest.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
2080 ## If "ClientIP", consecutive client requests will be directed to the same Pod
2081 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
2083 sessionAffinity: None
2084 ## @param ingest.service.sessionAffinityConfig Additional settings for the sessionAffinity
2085 ## sessionAffinityConfig:
2087 ## timeoutSeconds: 300
2089 sessionAffinityConfig: {}
2090 ## Elasticsearch Ingest-only ingress parameters
2091 ## ref: http://kubernetes.io/docs/concepts/services-networking/ingress/
2094 ## @param ingest.ingress.enabled Enable ingress record generation for Elasticsearch
2097 ## @param ingest.ingress.pathType Ingress path type
2099 pathType: ImplementationSpecific
2100 ## @param ingest.ingress.apiVersion Force Ingress API version (automatically detected if not set)
2103 ## @param ingest.ingress.hostname Default host for the ingress record
2105 hostname: elasticsearch-ingest.local
2106 ## @param ingest.ingress.path Default path for the ingress record
2107 ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
2110 ## @param ingest.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
2111 ## Use this parameter to set the required annotations for cert-manager, see
2112 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
2115 ## kubernetes.io/ingress.class: nginx
2116 ## cert-manager.io/cluster-issuer: cluster-issuer-name
2119 ## @param ingest.ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
2120 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
2122 ## - Use the `ingress.secrets` parameter to create this TLS secret
2123 ## - Rely on cert-manager to create it by setting the corresponding annotations
2124 ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
2127 ## @param ingest.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
2130 ## @param ingest.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
2131 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
2132 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
2134 ingressClassName: ""
2135 ## @param ingest.ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
2138 ## - name: elasticsearch.local
2142 ## @param ingest.ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
2147 ## serviceName: ssl-redirect
2148 ## servicePort: use-annotation
2151 ## @param ingest.ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
2152 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
2156 ## - elasticsearch.local
2157 ## secretName: elasticsearch.local-tls
2160 ## @param ingest.ingress.secrets Custom TLS certificates as secrets
2161 ## NOTE: 'key' and 'certificate' are expected in PEM format
2162 ## NOTE: 'name' should line up with a 'secretName' set further up
2163 ## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
2164 ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
2165 ## It is also possible to create and manage the certificates outside of this helm chart
2166 ## Please see README.md for more information
2169 ## - name: elasticsearch.local-tls
2171 ## -----BEGIN RSA PRIVATE KEY-----
2173 ## -----END RSA PRIVATE KEY-----
2175 ## -----BEGIN CERTIFICATE-----
2177 ## -----END CERTIFICATE-----
2180 ## @param ingest.ingress.extraRules Additional rules to be covered with this ingress record
2181 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
2184 ## - host: example.local
2189 ## name: example-svc
2194## @section Metrics parameters
2196## Elasticsearch Prometheus exporter configuration
2199 ## @param metrics.enabled Enable prometheus exporter
2202 ## @param metrics.nameOverride Metrics pod name
2205 ## @param metrics.fullnameOverride String to fully override common.names.fullname
2207 fullnameOverride: ""
2208 ## @param metrics.image.registry [default: REGISTRY_NAME] Metrics exporter image registry
2209 ## @param metrics.image.repository [default: REPOSITORY_NAME/elasticsearch-exporter] Metrics exporter image repository
2210 ## @skip metrics.image.tag Metrics exporter image tag
2211 ## @param metrics.image.digest Metrics exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
2212 ## @param metrics.image.pullPolicy Metrics exporter image pull policy
2213 ## @param metrics.image.pullSecrets Metrics exporter image pull secrets
2217 repository: chainguard-private/prometheus-elasticsearch-exporter-iamguarded
2220 pullPolicy: IfNotPresent
2221 ## Optionally specify an array of imagePullSecrets.
2222 ## Secrets must be manually created in the namespace.
2223 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
2226 ## - myRegistryKeySecretName
2229 ## @param metrics.annotations [object] Annotations for metrics
2230 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2233 helm.sh/hook: "post-install,post-upgrade"
2234 helm.sh/hook-weight: "5"
2235 ## @param metrics.extraArgs Extra arguments to add to the default exporter command
2236 ## ref: https://github.com/justwatchcom/elasticsearch_exporter
2243 ## @param metrics.automountServiceAccountToken Mount Service Account token in pod
2245 automountServiceAccountToken: false
2246 ## @param metrics.hostAliases Add deployment host aliases
2247 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2250 ## @param metrics.schedulerName Name of the k8s scheduler (other than default)
2251 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2254 ## @param metrics.priorityClassName Elasticsearch metrics exporter pods' priorityClassName
2256 priorityClassName: ""
2257 ## Elasticsearch Prometheus exporter container ports
2258 ## @param metrics.containerPorts.http Metrics HTTP port
2263 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2266 ## @param metrics.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2269 ## @param metrics.networkPolicy.allowExternal Don't require server label for connections
2270 ## The Policy model to apply. When set to false, only pods with the correct
2271 ## server label will have network access to the ports server is listening
2272 ## on. When true, server will accept connections from any source
2273 ## (with the correct destination port).
2276 ## @param metrics.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2278 allowExternalEgress: true
2279 ## @param metrics.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2289 ## - matchExpressions:
2295 ## @param metrics.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2305 ## - matchExpressions:
2312 ## @param metrics.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
2313 ## @param metrics.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
2315 ingressNSMatchLabels: {}
2316 ingressNSPodMatchLabels: {}
2317 ## Elasticsearch Prometheus exporter service type
2320 ## @param metrics.service.type Metrics exporter endpoint service type
2323 ## @param metrics.service.port Metrics exporter endpoint service port
2326 ## @param metrics.service.annotations [object] Provide any additional annotations which may be required.
2327 ## This can be used to set the LoadBalancer service type to internal only.
2328 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
2331 prometheus.io/scrape: "true"
2332 prometheus.io/port: "9114"
2333 ## @param metrics.podAffinityPreset Metrics Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
2334 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2336 podAffinityPreset: ""
2337 ## @param metrics.podAntiAffinityPreset Metrics Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
2338 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2340 podAntiAffinityPreset: ""
2341 ## Node affinity preset
2342 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2343 ## @param metrics.nodeAffinityPreset.type Metrics Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
2344 ## @param metrics.nodeAffinityPreset.key Metrics Node label key to match Ignored if `affinity` is set.
2345 ## @param metrics.nodeAffinityPreset.values Metrics Node label values to match. Ignored if `affinity` is set.
2350 ## key: "kubernetes.io/e2e-az-name"
2359 ## @param metrics.affinity Metrics Affinity for pod assignment
2360 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2361 ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
2364 ## @param metrics.nodeSelector Metrics Node labels for pod assignment
2365 ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2368 ## @param metrics.tolerations Metrics Tolerations for pod assignment
2369 ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2372 ## @param metrics.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
2373 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2375 topologySpreadConstraints: []
2376 ## Elasticsearch Prometheus exporter resource requests and limits
2377 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2378 ## We usually recommend not to specify default resources and to leave this as a conscious
2379 ## choice for the user. This also increases chances charts run on environments with little
2380 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
2381 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
2382 ## @param metrics.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if metrics.resources is set (metrics.resources is recommended for production).
2384 resourcesPreset: "nano"
2385 ## @param metrics.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2396 ## Elasticsearch metrics container's liveness probe
2397 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
2398 ## @param metrics.livenessProbe.enabled Enable/disable the liveness probe (metrics pod)
2399 ## @param metrics.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (metrics pod)
2400 ## @param metrics.livenessProbe.periodSeconds How often to perform the probe (metrics pod)
2401 ## @param metrics.livenessProbe.timeoutSeconds When the probe times out (metrics pod)
2402 ## @param metrics.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
2403 ## @param metrics.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (metrics pod)
2407 initialDelaySeconds: 60
2412 ## Elasticsearch metrics container's readiness probe
2413 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
2414 ## @param metrics.readinessProbe.enabled Enable/disable the readiness probe (metrics pod)
2415 ## @param metrics.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (metrics pod)
2416 ## @param metrics.readinessProbe.periodSeconds How often to perform the probe (metrics pod)
2417 ## @param metrics.readinessProbe.timeoutSeconds When the probe times out (metrics pod)
2418 ## @param metrics.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
2419 ## @param metrics.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (metrics pod)
2423 initialDelaySeconds: 5
2428 ## Elasticsearch metrics container's startup probe
2429 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
2430 ## @param metrics.startupProbe.enabled Enable/disable the startup probe (metrics pod)
2431 ## @param metrics.startupProbe.initialDelaySeconds Delay before startup probe is initiated (metrics pod)
2432 ## @param metrics.startupProbe.periodSeconds How often to perform the probe (metrics pod)
2433 ## @param metrics.startupProbe.timeoutSeconds When the probe times out (metrics pod)
2434 ## @param metrics.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded
2435 ## @param metrics.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (metrics pod)
2439 initialDelaySeconds: 5
2444 ## @param metrics.customStartupProbe Custom liveness probe for the Web component
2446 customStartupProbe: {}
2447 ## @param metrics.customLivenessProbe Custom liveness probe for the Web component
2449 customLivenessProbe: {}
2450 ## @param metrics.customReadinessProbe Custom readiness probe for the Web component
2452 customReadinessProbe: {}
2453 ## @param metrics.podAnnotations [object] Metrics exporter pod Annotation and Labels
2454 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2457 prometheus.io/scrape: "true"
2458 prometheus.io/port: "9114"
2459 ## @param metrics.podLabels Extra labels to add to Pod
2462 ## Configure Pods Security Context
2463 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2464 ## @param metrics.podSecurityContext.enabled Enabled Elasticsearch metrics exporter pods' Security Context
2465 ## @param metrics.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2466 ## @param metrics.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2467 ## @param metrics.podSecurityContext.supplementalGroups Set filesystem extra groups
2468 ## @param metrics.podSecurityContext.fsGroup Set Elasticsearch metrics exporter pod's Security Context fsGroup
2472 fsGroupChangePolicy: Always
2474 supplementalGroups: []
2476 ## Configure Container Security Context
2477 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2478 ## @param metrics.containerSecurityContext.enabled Elasticseacrh exporter container securityContext
2479 ## @param metrics.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2480 ## @param metrics.containerSecurityContext.runAsUser User ID for the Elasticseacrh exporter container
2481 ## @param metrics.containerSecurityContext.runAsGroup Group ID for the Elasticseacrh exporter container
2482 ## @param metrics.containerSecurityContext.runAsNonRoot Set Elasticsearch exporter container's Security Context runAsNonRoot
2483 ## @param metrics.containerSecurityContext.privileged Set Elasticsearch exporter container's Security Context privileged
2484 ## @param metrics.containerSecurityContext.allowPrivilegeEscalation Set Elasticsearch exporter container's Security Context allowPrivilegeEscalation
2485 ## @param metrics.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2486 ## @param metrics.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2487 ## @param metrics.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2489 containerSecurityContext:
2496 allowPrivilegeEscalation: false
2497 readOnlyRootFilesystem: true
2501 type: "RuntimeDefault"
2502 ## @param metrics.command Override default container command (useful when using custom images)
2505 ## @param metrics.args Override default container args (useful when using custom images)
2508 ## @param metrics.extraEnvVars Array with extra environment variables to add to Elasticsearch metrics exporter nodes
2515 ## @param metrics.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Elasticsearch metrics exporter nodes
2518 ## @param metrics.extraEnvVarsSecret Name of existing Secret containing extra env vars for Elasticsearch metrics exporter nodes
2520 extraEnvVarsSecret: ""
2521 ## @param metrics.extraVolumes Optionally specify extra list of additional volumes for the Elasticsearch metrics exporter pod(s)
2524 ## @param metrics.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Elasticsearch metrics exporter container(s)
2526 extraVolumeMounts: []
2527 ## @param metrics.sidecars Add additional sidecar containers to the Elasticsearch metrics exporter pod(s)
2530 ## - name: your-image-name
2531 ## image: your-image
2532 ## imagePullPolicy: Always
2535 ## containerPort: 1234
2538 ## @param metrics.initContainers Add additional init containers to the Elasticsearch metrics exporter pod(s)
2539 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2542 ## - name: your-image-name
2543 ## image: your-image
2544 ## imagePullPolicy: Always
2545 ## command: ['sh', '-c', 'echo "hello world"']
2548 ## Pods Service Account
2549 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
2550 ## @param metrics.serviceAccount.create Specifies whether a ServiceAccount should be created
2551 ## @param metrics.serviceAccount.name Name of the service account to use. If not set and create is true, a name is generated using the fullname template.
2552 ## @param metrics.serviceAccount.automountServiceAccountToken Automount service account token for the server service account
2553 ## @param metrics.serviceAccount.annotations Annotations for service account. Evaluated as a template. Only used if `create` is `true`.
2558 automountServiceAccountToken: false
2560 ## Prometheus Operator ServiceMonitor configuration
2563 ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
2566 ## @param metrics.serviceMonitor.namespace Namespace which Prometheus is running in
2568 ## namespace: monitoring
2571 ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
2574 ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped
2575 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
2578 ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
2579 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
2582 ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
2583 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
2586 ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
2587 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
2589 metricRelabelings: []
2590 ## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
2593 ## prometheus: my-prometheus
2596 ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
2599 ## @param metrics.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
2602 ## Prometheus Operator PrometheusRule configuration
2605 ## @param metrics.prometheusRule.enabled Creates a Prometheus Operator PrometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
2608 ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
2611 ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so PrometheusRule will be discovered by Prometheus
2613 additionalLabels: {}
2614 ## @param metrics.prometheusRule.rules Prometheus Rule definitions
2615 # - alert: es cluster error
2617 # summary: "es cluster error"
2618 # description: "es cluster error, cluster state {{`{{`}} $labels.color {{`}}`}}"
2619 # expr: elasticsearch_cluster_health_status{color="red"} ==1 or elasticsearch_cluster_health_status{color="yellow"} ==1
2622 # severity: critical
2626## @section Init Container Parameters
2628## 'volumePermissions' init container parameters
2629## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
2630## based on the *podSecurityContext/*containerSecurityContext parameters
2633 ## @param volumePermissions.enabled Enable init container that changes volume permissions in the data directory (for cases where the default k8s `runAsUser` and `fsUser` values do not work)
2636 ## @param volumePermissions.image.registry [default: REGISTRY_NAME] Init container volume-permissions image registry
2637 ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] Init container volume-permissions image name
2638 ## @skip volumePermissions.image.tag Init container volume-permissions image tag
2639 ## @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
2640 ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
2641 ## @param volumePermissions.image.pullSecrets Init container volume-permissions image pull secrets
2645 repository: chainguard-private/os-shell-iamguarded
2648 pullPolicy: IfNotPresent
2649 ## Optionally specify an array of imagePullSecrets.
2650 ## Secrets must be manually created in the namespace.
2651 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
2654 ## - myRegistryKeySecretName
2657 ## Init container' resource requests and limits
2658 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2659 ## We usually recommend not to specify default resources and to leave this as a conscious
2660 ## choice for the user. This also increases chances charts run on environments with little
2661 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
2662 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
2663 ## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
2665 resourcesPreset: "nano"
2666 ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2677## Kernel settings modifier image
2680 ## @param sysctlImage.enabled Enable kernel settings modifier image
2683 ## @param sysctlImage.registry [default: REGISTRY_NAME] Kernel settings modifier image registry
2684 ## @param sysctlImage.repository [default: REPOSITORY_NAME/os-shell] Kernel settings modifier image repository
2685 ## @skip sysctlImage.tag Kernel settings modifier image tag
2686 ## @param sysctlImage.digest Kernel settings modifier image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
2687 ## @param sysctlImage.pullPolicy Kernel settings modifier image pull policy
2688 ## @param sysctlImage.pullSecrets Kernel settings modifier image pull secrets
2691 repository: chainguard-private/os-shell-iamguarded
2694 ## Specify a imagePullPolicy
2695 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
2697 pullPolicy: IfNotPresent
2698 ## Optionally specify an array of imagePullSecrets.
2699 ## Secrets must be manually created in the namespace.
2700 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
2703 ## - myRegistryKeySecretName
2706 ## Init container' resource requests and limits
2707 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2708 ## We usually recommend not to specify default resources and to leave this as a conscious
2709 ## choice for the user. This also increases chances charts run on environments with little
2710 ## resources, such as Minikube. If you do want to specify resources, uncomment the following
2711 ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
2712 ## @param sysctlImage.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if sysctlImage.resources is set (sysctlImage.resources is recommended for production).
2714 resourcesPreset: "nano"
2715 ## @param sysctlImage.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2726## @section Kibana Parameters
2728## Bundled Kibana parameters
2729## @param kibana.elasticsearch.hosts [array] Array containing hostnames for the ES instances. Used to generate the URL
2730## @param kibana.elasticsearch.port Port to connect Kibana and ES instance. Used to generate the URL
2735 - '{{ include "elasticsearch.service.name" . }}'
2736 port: '{{ include "elasticsearch.service.ports.restAPI" . }}'
2739 repository: chainguard-private/kibana-iamguarded
2745 repository: chainguard-private/os-shell-iamguarded