## @section Global parameters ## Global Docker image parameters ## Please, note that this will override the image parameters, including dependencies, configured to use the global value ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass ## @param global.imageRegistry Global Docker image registry ## @param global.imagePullSecrets Global Docker registry secret names as an array ## @param global.storageClass Global StorageClass for Persistent Volume(s) ## @param global.coordinating.name Coordinating name to be used in the Kibana subchart (service name) ## @param global.kibanaEnabled Whether or not to enable Kibana ## global: imageRegistry: "" ## E.g. ## imagePullSecrets: ## - myRegistryKeySecretName ## imagePullSecrets: [] storageClass: "" coordinating: name: coordinating-only kibanaEnabled: false ## @section Common parameters ## @param nameOverride String to partially override common.names.fullname template (will maintain the release name) ## nameOverride: "" ## @param fullnameOverride String to fully override common.names.fullname template ## fullnameOverride: "" ## @param clusterDomain Kubernetes cluster domain ## clusterDomain: cluster.local ## @param extraDeploy Array of extra objects to deploy with the release ## extraDeploy: [] ## Enable diagnostic mode in the deployment ## diagnosticMode: ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden) ## enabled: false ## @param diagnosticMode.command Command to override all containers in the deployment ## command: - sleep ## @param diagnosticMode.args Args to override all containers in the deployment ## args: - infinity ## @section Elasticsearch parameters ## Bitnami Elasticsearch image version ## ref: https://hub.docker.com/r/bitnami/elasticsearch/tags/ ## @param image.registry Elasticsearch image registry ## @param image.repository Elasticsearch image repository ## @param image.tag Elasticsearch image tag (immutable tags are recommended) ## @param image.pullPolicy Elasticsearch image pull policy ## @param image.pullSecrets Elasticsearch image pull secrets ## @param image.debug Enable image debug mode ## image: registry: docker.io repository: bitnami/elasticsearch tag: 7.16.2-debian-10-r0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## e.g: ## pullSecrets: ## - myRegistryKeySecretName ## pullSecrets: [] ## Set to true if you would like to see extra information on logs ## debug: false ## X-Pack security parameters ## Note: TLS configuration is required in order to configure password authentication ## security: ## @param security.enabled Enable X-Pack Security settings ## enabled: false ## @param security.elasticPassword Password for 'elastic' user ## Ref: https://github.com/bitnami/bitnami-docker-elasticsearch#security ## elasticPassword: "" ## @param security.existingSecret Name of the existing secret containing the Elasticsearch password ## existingSecret: "" ## FIPS mode ## @param security.fipsMode Configure elasticsearch with FIPS 140 compliant mode ## Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/fips-140-compliance.html ## fipsMode: false ## TLS configuration ## tls: ## @param security.tls.restEncryption Enable SSL/TLS encryption for Elasticsearch REST API. ## restEncryption: true ## @param security.tls.autoGenerated Create self-signed TLS certificates. ## Note: Currently only supports PEM certificates. ## autoGenerated: false ## @param security.tls.verificationMode Verification mode for SSL communications. ## Supported values: full, certificate, none. ## Ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html ## verificationMode: "full" ## @param security.tls.master.existingSecret Existing secret containing the certificates for the master nodes ## @param security.tls.data.existingSecret Existing secret containing the certificates for the data nodes ## @param security.tls.ingest.existingSecret Existing secret containing the certificates for the ingest nodes ## @param security.tls.coordinating.existingSecret Existing secret containing the certificates for the coordinating nodes ## master: existingSecret: "" data: existingSecret: "" ingest: existingSecret: "" coordinating: existingSecret: "" ## @param security.tls.keystorePassword Password to access the JKS/PKCS12 keystore or PEM key when they are password-protected. ## keystorePassword: "" ## @param security.tls.truststorePassword Password to access the JKS/PKCS12 truststore when they are password-protected. ## truststorePassword: "" ## @param security.tls.keystoreFilename Name of the keystore file ## keystoreFilename: elasticsearch.keystore.jks ## @param security.tls.truststoreFilename Name of the truststore ## truststoreFilename: elasticsearch.truststore.jks ## @param security.tls.usePemCerts Use this variable if your secrets contain PEM certificates instead of JKS/PKCS12 ## Ignored when using autoGenerated certs. ## usePemCerts: false ## @param security.tls.keyPassword Password to access the PEM key when they are password-protected. ## keyPassword: "" ## Elasticsearch cluster name ## @param name Elasticsearch cluster name ## name: elastic ## @param plugins Comma, semi-colon or space separated list of plugins to install at initialization ## ref: https://github.com/bitnami/bitnami-docker-elasticsearch#environment-variables ## plugins: "" ## @param snapshotRepoPath File System snapshot repository path ## ref: https://github.com/bitnami/bitnami-docker-elasticsearch#environment-variables ## snapshotRepoPath: "" ## @param config Override elasticsearch configuration ## config: {} ## @param extraConfig Append extra configuration to the elasticsearch node configuration ## Use this instead of `config` to add more configuration ## See below example: ## extraConfig: ## node: ## store: ## allow_mmap: false ## ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html ## extraConfig: {} ## @param extraVolumes A list of volumes to be added to the pod ## Example Use Case: mount ssl certificates when elasticsearch has tls enabled ## extraVolumes: ## - name: es-certs ## secret: ## defaultMode: 420 ## secretName: es-certs extraVolumes: [] ## @param extraVolumeMounts A list of volume mounts to be added to the pod ## extraVolumeMounts: ## - name: es-certs ## mountPath: /certs ## readOnly: true extraVolumeMounts: [] ## @param initScripts Dictionary of init scripts. Evaluated as a template. ## Specify dictionary of scripts to be run at first boot ## Alternatively, you can put your scripts under the files/docker-entrypoint-initdb.d directory ## For example: ## initScripts: ## my_init_script.sh: | ## #!/bin/sh ## echo "Do something." ## initScripts: {} ## @param initScriptsCM ConfigMap with the init scripts. Evaluated as a template. ## Note: This will override initScripts ## initScriptsCM: "" ## @param initScriptsSecret Secret containing `/docker-entrypoint-initdb.d` scripts to be executed at initialization time that contain sensitive data. Evaluated as a template. ## initScriptsSecret: "" ## @param extraEnvVars Array containing extra env vars to be added to all pods (evaluated as a template) ## For example: ## extraEnvVars: ## - name: MY_ENV_VAR ## value: env_var_value ## extraEnvVars: [] ## @param extraEnvVarsConfigMap ConfigMap containing extra env vars to be added to all pods (evaluated as a template) ## extraEnvVarsConfigMap: "" ## @param extraEnvVarsSecret Secret containing extra env vars to be added to all pods (evaluated as a template) ## extraEnvVarsSecret: "" ## @section Master parameters ## Elasticsearch master-eligible node parameters ## master: ## @param master.name Master-eligible node pod name ## name: master ## @param master.fullnameOverride String to fully override elasticsearch.master.fullname template with a string ## fullnameOverride: "" ## @param master.replicas Desired number of Elasticsearch master-eligible nodes. Consider using an odd number of master nodes to prevent "split brain" situation. See: https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-discovery-voting.html ## https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-discovery-voting.html#_even_numbers_of_master_eligible_nodes ## https://www.elastic.co/guide/en/elasticsearch/reference/7.x/modules-discovery-quorums.html#modules-discovery-quorums ## replicas: 3 ## Update strategy for ElasticSearch master statefulset ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies ## @param master.updateStrategy.type Update strategy for Master statefulset ## updateStrategy: type: RollingUpdate ## @param master.hostAliases Add deployment host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param master.schedulerName Name of the k8s scheduler (other than default) ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## ## @param master.heapSize Master-eligible node heap size ## heapSize: 128m ## @param master.podAnnotations Annotations for master-eligible pods. ## podAnnotations: {} ## @param master.podLabels Extra labels to add to Pod ## podLabels: {} ## Pod Security Context for master-eligible pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param master.securityContext.enabled Enable security context for master-eligible pods ## @param master.securityContext.fsGroup Group ID for the container for master-eligible pods ## @param master.securityContext.runAsUser User ID for the container for master-eligible pods ## securityContext: enabled: true fsGroup: 1001 runAsUser: 1001 ## Pod Security Context for master-eligible pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param master.podSecurityContext.enabled Enable security context for master-eligible pods ## @param master.podSecurityContext.fsGroup Group ID for the container for master-eligible pods ## podSecurityContext: enabled: false fsGroup: 1001 ## Container Security Context for master-eligible pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param master.containerSecurityContext.enabled Enable security context for master-eligible pods ## @param master.containerSecurityContext.runAsUser User ID for the container for master-eligible pods ## containerSecurityContext: enabled: false runAsUser: 1001 ## @param master.podAffinityPreset Master-eligible Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAffinityPreset: "" ## @param master.podAntiAffinityPreset Master-eligible Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: "" ## Node affinity preset. Allowed values: soft, hard ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## @param master.nodeAffinityPreset.type Master-eligible Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## @param master.nodeAffinityPreset.key Master-eligible Node label key to match Ignored if `affinity` is set. ## @param master.nodeAffinityPreset.values Master-eligible Node label values to match. Ignored if `affinity` is set. ## nodeAffinityPreset: type: "" ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param master.affinity Master-eligible Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param master.priorityClassName Master pods Priority Class Name ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass ## priorityClassName: "" ## @param master.nodeSelector Master-eligible Node labels for pod assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param master.tolerations Master-eligible Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param master.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods ## topologySpreadConstraints: [] ## Elasticsearch master-eligible container's resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## We usually recommend not to specify default resources and to leave this as a conscious ## choice for the user. This also increases chances charts run on environments with little ## resources, such as Minikube. If you do want to specify resources, uncomment the following ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. ## @param master.resources.limits The resources limits for the container ## @param master.resources.requests [object] The requested resources for the container ## resources: ## Example: ## limits: ## cpu: 100m ## memory: 128Mi limits: {} requests: cpu: 25m memory: 256Mi ## Elasticsearch master-eligible container's startup probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param master.startupProbe.enabled Enable/disable the startup probe (master nodes pod) ## @param master.startupProbe.initialDelaySeconds Delay before startup probe is initiated (master nodes pod) ## @param master.startupProbe.periodSeconds How often to perform the probe (master nodes pod) ## @param master.startupProbe.timeoutSeconds When the probe times out (master nodes pod) ## @param master.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (master nodes pod) ## @param master.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## startupProbe: enabled: false initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch master-eligible container's liveness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param master.livenessProbe.enabled Enable/disable the liveness probe (master-eligible nodes pod) ## @param master.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (master-eligible nodes pod) ## @param master.livenessProbe.periodSeconds How often to perform the probe (master-eligible nodes pod) ## @param master.livenessProbe.timeoutSeconds When the probe times out (master-eligible nodes pod) ## @param master.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (master-eligible nodes pod) ## @param master.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## livenessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch master-eligible container's readiness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param master.readinessProbe.enabled Enable/disable the readiness probe (master-eligible nodes pod) ## @param master.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (master-eligible nodes pod) ## @param master.readinessProbe.periodSeconds How often to perform the probe (master-eligible nodes pod) ## @param master.readinessProbe.timeoutSeconds When the probe times out (master-eligible nodes pod) ## @param master.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (master-eligible nodes pod) ## @param master.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## readinessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## @param master.customStartupProbe Override default startup probe ## customStartupProbe: {} ## @param master.customLivenessProbe Override default liveness probe ## customLivenessProbe: {} ## @param master.customReadinessProbe Override default readiness probe ## customReadinessProbe: {} ## @param master.initContainers Extra init containers to add to the Elasticsearch master-eligible pod(s) ## initContainers: [] ## @param master.sidecars Extra sidecar containers to add to the Elasticsearch master-eligible pod(s) ## sidecars: [] ## Enable persistence using Persistent Volume Claims ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: ## @param master.persistence.enabled Enable persistence using a `PersistentVolumeClaim` ## enabled: true ## @param master.persistence.storageClass Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## storageClass: "" ## @param master.persistence.existingClaim Existing Persistent Volume Claim ## then accept the value as an existing Persistent Volume Claim to which ## the container should be bound ## existingClaim: "" ## @param master.persistence.existingVolume Existing Persistent Volume for use as volume match label selector to the `volumeClaimTemplate`. Ignored when `master.persistence.selector` is set. ## existingVolume: "" ## @param master.persistence.selector Configure custom selector for existing Persistent Volume. Overwrites `master.persistence.existingVolume` ## selector: ## matchLabels: ## volume: ## selector: {} ## @param master.persistence.annotations Persistent Volume Claim annotations ## annotations: {} ## @param master.persistence.accessModes Persistent Volume Access Modes ## accessModes: - ReadWriteOnce ## @param master.persistence.size Persistent Volume Size ## size: 8Gi ## Service parameters for master-eligible node(s) ## service: ## @param master.service.type Kubernetes Service type (master-eligible nodes) ## type: ClusterIP ## @param master.service.port Kubernetes Service port for Elasticsearch transport port (master-eligible nodes) ## port: 9300 ## @param master.service.nodePort Kubernetes Service nodePort (master-eligible nodes) ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## nodePort: "" ## @param master.service.annotations Annotations for master-eligible nodes service ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## annotations: {} ## @param master.service.loadBalancerIP loadBalancerIP if master-eligible nodes service type is `LoadBalancer` ## Set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" ## Provide functionality to use RBAC ## serviceAccount: ## @param master.serviceAccount.create Enable creation of ServiceAccount for the master node ## create: false ## @param master.serviceAccount.name Name of the created serviceAccount ## If not set and create is true, a name is generated using the fullname template name: "" ## Autoscaling configuration ## @param master.autoscaling.enabled Enable autoscaling for master replicas ## @param master.autoscaling.minReplicas Minimum number of master replicas ## @param master.autoscaling.maxReplicas Maximum number of master replicas ## @param master.autoscaling.targetCPU Target CPU utilization percentage for master replica autoscaling ## @param master.autoscaling.targetMemory Target Memory utilization percentage for master replica autoscaling ## autoscaling: enabled: false minReplicas: 2 maxReplicas: 11 targetCPU: "" targetMemory: "" ## @section Coordinating parameters ## Elasticsearch coordinating-only node parameters ## coordinating: ## @param coordinating.fullnameOverride String to fully override elasticsearch.coordinating.fullname template with a string ## fullnameOverride: "" ## @param coordinating.replicas Desired number of Elasticsearch coordinating-only nodes ## replicas: 2 ## @param coordinating.hostAliases Add deployment host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param coordinating.schedulerName Name of the k8s scheduler (other than default) ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## Update strategy for ElasticSearch coordinating statefulset ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies ## @param coordinating.updateStrategy.type Update strategy for Coordinating Statefulset ## updateStrategy: type: RollingUpdate ## @param coordinating.heapSize Coordinating-only node heap size ## heapSize: 128m ## @param coordinating.podAnnotations Annotations for coordinating pods. ## podAnnotations: {} ## @param coordinating.podLabels Extra labels to add to Pod ## podLabels: {} ## Pod Security Context for coordinating-only pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param coordinating.securityContext.enabled Enable security context for coordinating-only pods ## @param coordinating.securityContext.fsGroup Group ID for the container for coordinating-only pods ## @param coordinating.securityContext.runAsUser User ID for the container for coordinating-only pods ## securityContext: enabled: true fsGroup: 1001 runAsUser: 1001 ## Pod Security Context for coordinating-only pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param coordinating.podSecurityContext.enabled Enable security context for coordinating-only pods ## @param coordinating.podSecurityContext.fsGroup Group ID for the container for coordinating-only pods ## podSecurityContext: enabled: false fsGroup: 1001 ## Container Security Context for coordinating-only pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param coordinating.containerSecurityContext.enabled Enable security context for coordinating-only pods ## @param coordinating.containerSecurityContext.runAsUser User ID for the container for coordinating-only pods ## containerSecurityContext: enabled: false runAsUser: 1001 ## @param coordinating.podAffinityPreset Coordinating Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAffinityPreset: "" ## @param coordinating.podAntiAffinityPreset Coordinating Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: "" ## Node affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## @param coordinating.nodeAffinityPreset.type Coordinating Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## @param coordinating.nodeAffinityPreset.key Coordinating Node label key to match Ignored if `affinity` is set. ## @param coordinating.nodeAffinityPreset.values Coordinating Node label values to match. Ignored if `affinity` is set. ## nodeAffinityPreset: type: "" ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param coordinating.affinity Coordinating Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param coordinating.priorityClassName Coordinating pods Priority Class Name ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass ## priorityClassName: "" ## @param coordinating.nodeSelector Coordinating Node labels for pod assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param coordinating.tolerations Coordinating Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param coordinating.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods ## topologySpreadConstraints: [] ## Elasticsearch coordinating-only container's resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## We usually recommend not to specify default resources and to leave this as a conscious ## choice for the user. This also increases chances charts run on environments with little ## resources, such as Minikube. If you do want to specify resources, uncomment the following ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. ## @param coordinating.resources.limits The resources limits for the container ## @param coordinating.resources.requests [object] The requested resources for the container ## resources: ## Example: ## limits: ## cpu: 100m ## memory: 384Mi limits: {} requests: cpu: 25m memory: 256Mi ## Elasticsearch coordinating-only container's startup probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param coordinating.startupProbe.enabled Enable/disable the startup probe (coordinating nodes pod) ## @param coordinating.startupProbe.initialDelaySeconds Delay before startup probe is initiated (coordinating nodes pod) ## @param coordinating.startupProbe.periodSeconds How often to perform the probe (coordinating nodes pod) ## @param coordinating.startupProbe.timeoutSeconds When the probe times out (coordinating nodes pod) ## @param coordinating.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param coordinating.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (coordinating nodes pod) ## startupProbe: enabled: false initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch coordinating-only container's liveness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param coordinating.livenessProbe.enabled Enable/disable the liveness probe (coordinating-only nodes pod) ## @param coordinating.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (coordinating-only nodes pod) ## @param coordinating.livenessProbe.periodSeconds How often to perform the probe (coordinating-only nodes pod) ## @param coordinating.livenessProbe.timeoutSeconds When the probe times out (coordinating-only nodes pod) ## @param coordinating.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param coordinating.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (coordinating-only nodes pod) ## livenessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch coordinating-only container's readiness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param coordinating.readinessProbe.enabled Enable/disable the readiness probe (coordinating-only nodes pod) ## @param coordinating.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (coordinating-only nodes pod) ## @param coordinating.readinessProbe.periodSeconds How often to perform the probe (coordinating-only nodes pod) ## @param coordinating.readinessProbe.timeoutSeconds When the probe times out (coordinating-only nodes pod) ## @param coordinating.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param coordinating.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (coordinating-only nodes pod) ## readinessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## @param coordinating.customStartupProbe Override default startup probe ## customStartupProbe: {} ## @param coordinating.customLivenessProbe Override default liveness probe ## customLivenessProbe: {} ## @param coordinating.customReadinessProbe Override default readiness probe ## customReadinessProbe: {} ## @param coordinating.initContainers Extra init containers to add to the Elasticsearch coordinating-only pod(s) ## initContainers: [] ## @param coordinating.sidecars Extra sidecar containers to add to the Elasticsearch coordinating-only pod(s) ## sidecars: [] ## Service parameters for coordinating-only node(s) ## service: ## @param coordinating.service.type Kubernetes Service type (coordinating-only nodes) ## type: ClusterIP ## @param coordinating.service.port Kubernetes Service port for REST API (coordinating-only nodes) ## port: 9200 ## @param coordinating.service.nodePort Kubernetes Service nodePort (coordinating-only nodes) ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## nodePort: "" ## @param coordinating.service.annotations Annotations for coordinating-only nodes service ## Set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## annotations: {} ## @param coordinating.service.loadBalancerIP loadBalancerIP if coordinating-only nodes service type is `LoadBalancer` ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" ## @param coordinating.service.externalTrafficPolicy Enable client source IP preservation with externalTrafficPolicy: Local ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip ## externalTrafficPolicy: Cluster ## Provide functionality to use RBAC ## serviceAccount: ## @param coordinating.serviceAccount.create Enable creation of ServiceAccount for the coordinating-only node ## create: false ## @param coordinating.serviceAccount.name Name of the created serviceAccount ## If not set and create is true, a name is generated using the fullname template ## name: "" ## Autoscaling configuration ## @param coordinating.autoscaling.enabled Enable autoscaling for coordinating replicas ## @param coordinating.autoscaling.minReplicas Minimum number of coordinating replicas ## @param coordinating.autoscaling.maxReplicas Maximum number of coordinating replicas ## @param coordinating.autoscaling.targetCPU Target CPU utilization percentage for coordinating replica autoscaling ## @param coordinating.autoscaling.targetMemory Target Memory utilization percentage for coordinating replica autoscaling ## autoscaling: enabled: false minReplicas: 2 maxReplicas: 11 targetCPU: "" targetMemory: "" ## @section Data parameters ## Elasticsearch data node parameters ## data: ## @param data.name Data node pod name ## name: data ## @param data.fullnameOverride String to fully override elasticsearch.data.fullname template with a string ## fullnameOverride: "" ## @param data.replicas Desired number of Elasticsearch data nodes ## replicas: 2 ## @param data.hostAliases Add deployment host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param data.schedulerName Name of the k8s scheduler (other than default) ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## Update strategy for ElasticSearch Data statefulset ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies ## @param data.updateStrategy.type Update strategy for Data statefulset ## @param data.updateStrategy.rollingUpdatePartition Partition update strategy for Data statefulset ## updateStrategy: type: RollingUpdate rollingUpdatePartition: "" ## @param data.heapSize Data node heap size ## heapSize: 1024m ## @param data.podAnnotations Annotations for data pods. ## podAnnotations: {} ## @param data.podLabels Extra labels to add to Pod ## podLabels: {} ## Pod Security Context for data pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param data.securityContext.enabled Enable security context for data pods ## @param data.securityContext.fsGroup Group ID for the container for data pods ## @param data.securityContext.runAsUser User ID for the container for data pods ## securityContext: enabled: true fsGroup: 1001 runAsUser: 1001 ## Pod Security Context for data pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param data.podSecurityContext.enabled Enable security context for data pods ## @param data.podSecurityContext.fsGroup Group ID for the container for data pods ## podSecurityContext: enabled: true fsGroup: 1001 ## Container Security Context for data pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param data.containerSecurityContext.enabled Enable security context for data pods ## @param data.containerSecurityContext.runAsUser User ID for the container for data pods ## containerSecurityContext: enabled: true runAsUser: 1001 ## @param data.podAffinityPreset Data Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAffinityPreset: "" ## @param data.podAntiAffinityPreset Data Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: "" ## Node affinity preset. Allowed values: soft, hard ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## @param data.nodeAffinityPreset.type Data Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## @param data.nodeAffinityPreset.key Data Node label key to match Ignored if `affinity` is set. ## @param data.nodeAffinityPreset.values Data Node label values to match. Ignored if `affinity` is set. ## nodeAffinityPreset: type: "" ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param data.affinity Data Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param data.priorityClassName Data pods Priority Class Name ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass ## priorityClassName: "" ## @param data.nodeSelector Data Node labels for pod assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param data.tolerations Data Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param data.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods ## topologySpreadConstraints: [] ## Elasticsearch data container's resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## We usually recommend not to specify default resources and to leave this as a conscious ## choice for the user. This also increases chances charts run on environments with little ## resources, such as Minikube. If you do want to specify resources, uncomment the following ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. ## @param data.resources.limits The resources limits for the container ## @param data.resources.requests [object] The requested resources for the container ## resources: ## Example: ## limits: ## cpu: 100m ## memory: 2176Mi limits: {} requests: cpu: 25m memory: 2048Mi ## Elasticsearch data container's startup probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param data.startupProbe.enabled Enable/disable the startup probe (data nodes pod) ## @param data.startupProbe.initialDelaySeconds Delay before startup probe is initiated (data nodes pod) ## @param data.startupProbe.periodSeconds How often to perform the probe (data nodes pod) ## @param data.startupProbe.timeoutSeconds When the probe times out (data nodes pod) ## @param data.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param data.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (data nodes pod) ## startupProbe: enabled: false initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch data container's liveness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param data.livenessProbe.enabled Enable/disable the liveness probe (data nodes pod) ## @param data.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (data nodes pod) ## @param data.livenessProbe.periodSeconds How often to perform the probe (data nodes pod) ## @param data.livenessProbe.timeoutSeconds When the probe times out (data nodes pod) ## @param data.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param data.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (data nodes pod) ## livenessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch data container's readiness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param data.readinessProbe.enabled Enable/disable the readiness probe (data nodes pod) ## @param data.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (data nodes pod) ## @param data.readinessProbe.periodSeconds How often to perform the probe (data nodes pod) ## @param data.readinessProbe.timeoutSeconds When the probe times out (data nodes pod) ## @param data.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param data.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (data nodes pod) ## readinessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## @param data.customStartupProbe Override default startup probe ## customStartupProbe: {} ## @param data.customLivenessProbe Override default liveness probe ## customLivenessProbe: {} ## @param data.customReadinessProbe Override default readiness probe ## customReadinessProbe: {} ## @param data.initContainers Extra init containers to add to the Elasticsearch data pod(s) ## initContainers: [] ## @param data.sidecars Extra sidecar containers to add to the Elasticsearch data pod(s) ## sidecars: [] ## Enable persistence using Persistent Volume Claims ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: ## @param data.persistence.enabled Enable persistence using a `PersistentVolumeClaim` ## enabled: true ## @param data.persistence.storageClass Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## storageClass: "" ## @param data.persistence.existingClaim Existing Persistent Volume Claim ## If persistence is enable, and this value is defined, ## then accept the value as an existing Persistent Volume Claim to which ## the container should be bound ## existingClaim: "" ## @param data.persistence.existingVolume Existing Persistent Volume for use as volume match label selector to the `volumeClaimTemplate`. Ignored when `data.persistence.selector` ist set. ## existingVolume: "" ## @param data.persistence.selector Configure custom selector for existing Persistent Volume. Overwrites `data.persistence.existingVolume` ## selector: ## matchLabels: ## volume: selector: {} ## @param data.persistence.annotations Persistent Volume Claim annotations ## annotations: {} ## @param data.persistence.accessModes Persistent Volume Access Modes ## accessModes: - ReadWriteOnce ## @param data.persistence.size Persistent Volume Size ## size: 8Gi ## Provide functionality to use RBAC ## serviceAccount: ## @param data.serviceAccount.create Enable creation of ServiceAccount for the data node ## create: false ## @param data.serviceAccount.name Name of the created serviceAccount ## If not set and create is true, a name is generated using the fullname template ## name: "" ## Autoscaling configuration ## @param data.autoscaling.enabled Enable autoscaling for data replicas ## @param data.autoscaling.minReplicas Minimum number of data replicas ## @param data.autoscaling.maxReplicas Maximum number of data replicas ## @param data.autoscaling.targetCPU Target CPU utilization percentage for data replica autoscaling ## @param data.autoscaling.targetMemory Target Memory utilization percentage for data replica autoscaling ## autoscaling: enabled: false minReplicas: 2 maxReplicas: 11 targetCPU: "" targetMemory: "" ## @section Ingest parameters ## Elasticsearch ingest node parameters ## ingest: ## @param ingest.enabled Enable ingest nodes ## enabled: false ## @param ingest.name Ingest node pod name ## name: ingest ## @param ingest.fullnameOverride String to fully override elasticsearch.ingest.fullname template with a string ## fullnameOverride: "" ## @param ingest.replicas Desired number of Elasticsearch ingest nodes ## replicas: 2 ## Update strategy for ElasticSearch ingest statefulset ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies ## @param ingest.updateStrategy.type Update strategy for Ingest statefulset ## updateStrategy: type: RollingUpdate ## @param ingest.heapSize Ingest node heap size ## heapSize: 128m ## @param ingest.podAnnotations Annotations for ingest pods. ## podAnnotations: {} ## @param ingest.hostAliases Add deployment host aliases ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ ## hostAliases: [] ## @param ingest.schedulerName Name of the k8s scheduler (other than default) ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## @param ingest.podLabels Extra labels to add to Pod ## podLabels: {} ## Pod Security Context for ingest pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param ingest.securityContext.enabled Enable security context for ingest pods ## @param ingest.securityContext.fsGroup Group ID for the container for ingest pods ## @param ingest.securityContext.runAsUser User ID for the container for ingest pods ## securityContext: enabled: true fsGroup: 1001 runAsUser: 1001 ## Pod Security Context for ingest pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param ingest.podSecurityContext.enabled Enable security context for ingest pods ## @param ingest.podSecurityContext.fsGroup Group ID for the container for ingest pods ## podSecurityContext: enabled: true fsGroup: 1001 ## Container Security Context for ingest pods. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## @param ingest.containerSecurityContext.enabled Enable security context for ingest pods ## @param ingest.containerSecurityContext.runAsUser User ID for the container for ingest pods ## containerSecurityContext: enabled: true runAsUser: 1001 ## @param ingest.podAffinityPreset Ingest Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAffinityPreset: "" ## @param ingest.podAntiAffinityPreset Ingest Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: "" ## Node affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## Allowed values: soft, hard ## @param ingest.nodeAffinityPreset.type Ingest Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## @param ingest.nodeAffinityPreset.key Ingest Node label key to match Ignored if `affinity` is set. ## @param ingest.nodeAffinityPreset.values Ingest Node label values to match. Ignored if `affinity` is set. ## nodeAffinityPreset: type: "" ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param ingest.affinity Ingest Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param ingest.priorityClassName Ingest pods Priority Class Name ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass ## priorityClassName: "" ## @param ingest.nodeSelector Ingest Node labels for pod assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param ingest.tolerations Ingest Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param ingest.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods ## topologySpreadConstraints: [] ## Elasticsearch ingest container's resource requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## We usually recommend not to specify default resources and to leave this as a conscious ## choice for the user. This also increases chances charts run on environments with little ## resources, such as Minikube. If you do want to specify resources, uncomment the following ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. ## @param ingest.resources.limits The resources limits for the container ## @param ingest.resources.requests [object] The requested resources for the container ## resources: ## Example: ## limits: ## cpu: 100m ## memory: 384Mi limits: {} requests: cpu: 25m memory: 256Mi ## Elasticsearch ingest container's startup probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param ingest.startupProbe.enabled Enable/disable the startup probe (ingest nodes pod) ## @param ingest.startupProbe.initialDelaySeconds Delay before startup probe is initiated (ingest nodes pod) ## @param ingest.startupProbe.periodSeconds How often to perform the probe (ingest nodes pod) ## @param ingest.startupProbe.timeoutSeconds When the probe times out (ingest nodes pod) ## @param ingest.startupProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param ingest.startupProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (ingest nodes pod) ## startupProbe: enabled: false initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch ingest container's liveness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param ingest.livenessProbe.enabled Enable/disable the liveness probe (ingest nodes pod) ## @param ingest.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated (ingest nodes pod) ## @param ingest.livenessProbe.periodSeconds How often to perform the probe (ingest nodes pod) ## @param ingest.livenessProbe.timeoutSeconds When the probe times out (ingest nodes pod) ## @param ingest.livenessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param ingest.livenessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (ingest nodes pod) ## livenessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## Elasticsearch ingest container's readiness probe ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## @param ingest.readinessProbe.enabled Enable/disable the readiness probe (ingest nodes pod) ## @param ingest.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated (ingest nodes pod) ## @param ingest.readinessProbe.periodSeconds How often to perform the probe (ingest nodes pod) ## @param ingest.readinessProbe.timeoutSeconds When the probe times out (ingest nodes pod) ## @param ingest.readinessProbe.failureThreshold Minimum consecutive failures for the probe to be considered failed after having succeeded ## @param ingest.readinessProbe.successThreshold Minimum consecutive successes for the probe to be considered successful after having failed (ingest nodes pod) ## readinessProbe: enabled: true initialDelaySeconds: 90 periodSeconds: 10 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## @param ingest.customStartupProbe Override default startup probe ## customStartupProbe: {} ## @param ingest.customLivenessProbe Override default liveness probe ## customLivenessProbe: {} ## @param ingest.customReadinessProbe Override default readiness probe ## customReadinessProbe: {} ## @param ingest.initContainers Extra init containers to add to the Elasticsearch ingest pod(s) ## initContainers: [] ## @param ingest.sidecars Extra sidecar containers to add to the Elasticsearch ingest pod(s) ## sidecars: [] ## Service parameters for ingest node(s) ## service: ## @param ingest.service.type Kubernetes Service type (ingest nodes) ## type: ClusterIP ## @param ingest.service.port Kubernetes Service port Elasticsearch transport port (ingest nodes) ## port: 9300 ## @param ingest.service.nodePort Kubernetes Service nodePort (ingest nodes) ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## nodePort: "" ## @param ingest.service.annotations Annotations for ingest nodes service ## set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## annotations: {} ## @param ingest.service.loadBalancerIP loadBalancerIP if ingest nodes service type is `LoadBalancer` ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" ## Provide functionality to use RBAC ## serviceAccount: ## @param ingest.serviceAccount.create Create a default serviceaccount for elasticsearch curator ## create: false ## @param ingest.serviceAccount.name Name of the created serviceAccount ## If not set and create is true, a name is generated using the fullname template ## name: "" ## @section Curator parameters ## Elasticsearch curator parameters ## curator: ## @param curator.enabled Enable Elasticsearch Curator cron job enabled: false ## @param curator.name Elasticsearch Curator pod name ## name: curator ## @param curator.image.registry Elasticsearch Curator image registry ## @param curator.image.repository Elasticsearch Curator image repository ## @param curator.image.tag Elasticsearch Curator image tag ## @param curator.image.pullPolicy Elasticsearch Curator image pull policy ## @param curator.image.pullSecrets Elasticsearch Curator image pull secrets ## image: registry: docker.io repository: bitnami/elasticsearch-curator tag: 5.8.4-debian-10-r215 pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## e.g: ## pullSecrets: ## - myRegistryKeySecretName ## pullSecrets: [] ## @param curator.cronjob.schedule Schedule for the CronJob ## @param curator.cronjob.annotations Annotations to add to the cronjob ## @param curator.cronjob.concurrencyPolicy `Allow,Forbid,Replace` concurrent jobs ## @param curator.cronjob.failedJobsHistoryLimit Specify the number of failed Jobs to keep ## @param curator.cronjob.successfulJobsHistoryLimit Specify the number of completed Jobs to keep ## @param curator.cronjob.jobRestartPolicy Control the Job restartPolicy ## cronjob: ## At 01:00 every day schedule: "0 1 * * *" annotations: {} concurrencyPolicy: "" failedJobsHistoryLimit: "" successfulJobsHistoryLimit: "" jobRestartPolicy: Never ## @param curator.schedulerName Name of the k8s scheduler (other than default) ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## schedulerName: "" ## @param curator.podAnnotations Annotations to add to the pod ## podAnnotations: {} ## @param curator.podLabels Extra labels to add to Pod ## podLabels: {} ## @param curator.podAffinityPreset Curator Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAffinityPreset: "" ## @param curator.podAntiAffinityPreset Curator Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## podAntiAffinityPreset: "" ## Node affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## @param curator.nodeAffinityPreset.type Curator Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` ## @param curator.nodeAffinityPreset.key Curator Node label key to match Ignored if `affinity` is set. ## @param curator.nodeAffinityPreset.values Curator Node label values to match. Ignored if `affinity` is set. ## nodeAffinityPreset: type: "" ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## @param curator.initContainers Extra init containers to add to the Elasticsearch coordinating-only pod(s) ## initContainers: [] ## @param curator.sidecars Extra sidecar containers to add to the Elasticsearch ingest pod(s) ## sidecars: [] ## @param curator.affinity Curator Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## @param curator.nodeSelector Curator Node labels for pod assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## @param curator.tolerations Curator Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## @param curator.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods ## topologySpreadConstraints: [] ## @param curator.rbac.enabled Enable RBAC resources ## rbac: enabled: false ## @param curator.serviceAccount.create Create a default serviceaccount for elasticsearch curator ## @param curator.serviceAccount.name Name for elasticsearch curator serviceaccount ## serviceAccount: create: true ## If not set and create is true, a name is generated using the fullname template ## name: "" ## @param curator.psp.create Whether to create a PodSecurityPolicy. WARNING: PodSecurityPolicy is deprecated in Kubernetes v1.21 or later, unavailable in v1.25 or later ## psp: create: false ## @param curator.hooks [object] Whether to run job on selected hooks ## hooks: install: false upgrade: false ## @param curator.dryrun Run Curator in dry-run mode ## dryrun: false ## @param curator.command Command to execute ## command: ["curator"] ## @param curator.env Environment variables to add to the cronjob container ## env: {} ## Curator configMaps configMaps: ## @param curator.configMaps.action_file_yml [string] Contents of the Curator action_file.yml ## Delete indices older than 90 days ## action_file_yml: |- --- actions: 1: action: delete_indices description: "Clean up ES by deleting old indices" options: timeout_override: continue_if_exception: False disable_action: False ignore_empty_list: True filters: - filtertype: age source: name direction: older timestring: '%Y.%m.%d' unit: days unit_count: 90 field: stats_result: epoch: exclude: False ## @param curator.configMaps.config_yml [string] Contents of the Curator config.yml (overrides config) ## Default config (this value is evaluated as a template) ## config_yml: |- --- client: hosts: - {{ template "elasticsearch.coordinating.fullname" . }}.{{ .Release.Namespace }}.svc.{{ .Values.clusterDomain }} port: {{ .Values.coordinating.service.port }} # url_prefix: # use_ssl: True # certificate: # client_cert: # client_key: # ssl_no_validate: True # http_auth: # timeout: 30 # master_only: False # logging: # loglevel: INFO # logfile: # logformat: default # blacklist: ['elasticsearch', 'urllib3'] ## Curator resources requests and limits ## ref: https://kubernetes.io/docs/user-guide/compute-resources/ ## We usually recommend not to specify default resources and to leave this as a conscious ## choice for the user. This also increases chances charts run on environments with little ## resources, such as Minikube. If you do want to specify resources, uncomment the following ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. ## @param curator.resources.limits The resources limits for the container ## @param curator.resources.requests The requested resources for the container ## resources: ## Example: ## limits: ## cpu: 100m ## memory: 128Mi limits: {} ## Examples: ## requests: ## cpu: 100m ## memory: 128Mi requests: {} ## @param curator.priorityClassName Curator Pods Priority Class Name ## priorityClassName: "" ## @param curator.extraVolumes Extra volumes ## Example Use Case: mount ssl certificates when elasticsearch has tls enabled ## extraVolumes: ## - name: es-certs ## secret: ## defaultMode: 420 ## secretName: es-certs extraVolumes: [] ## @param curator.extraVolumeMounts Mount extra volume(s) ## extraVolumeMounts: ## - name: es-certs ## mountPath: /certs ## readOnly: true extraVolumeMounts: [] ## @param curator.extraInitContainers DEPRECATED. Use `curator.initContainers` instead. Init containers to add to the cronjob container ## Don't configure S3 repository till Elasticsearch is reachable. ## Ensure that it is available at http://elasticsearch:9200 ## ## elasticsearch-s3-repository: ## image: bitnami/minideb ## imagePullPolicy: "IfNotPresent" ## command: ## - "/bin/bash" ## - "-c" ## args: ## - | ## ES_HOST=elasticsearch ## ES_PORT=9200 ## ES_REPOSITORY=backup ## S3_REGION=us-east-1 ## S3_BUCKET=bucket ## S3_BASE_PATH=backup ## S3_COMPRESS=true ## S3_STORAGE_CLASS=standard ## install_packages curl && \ ## ( counter=0; while (( counter++ < 120 )); do curl -s http://${ES_HOST}:${ES_PORT} >/dev/null 2>&1 && break; echo "Waiting for elasticsearch $counter/120"; sleep 1; done ) && \ ## cat <