diff --git a/bitnami/elasticsearch/README.md b/bitnami/elasticsearch/README.md index 94cb9d113..f5fa26ba4 100644 --- a/bitnami/elasticsearch/README.md +++ b/bitnami/elasticsearch/README.md @@ -171,6 +171,37 @@ The following table lists the configurable parameters of the Elasticsearch chart | `ingest.readinessProbe.timeoutSeconds` | When the probe times out (ingest nodes pod) | `5` | | `ingest.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed (ingest nodes pod) | `1` | | `ingest.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded | `5` | +| `curator.enabled` | Enable Elasticsearch Curator cron job | `false` | +| `curator.name` | Elasticsearch Curator pod name | `curator` | +| `curator.image.registry` | Elasticsearch Curator image registry | `docker.io` | +| `curator.image.repository` | Elasticsearch Curator image repository | `bitnami/elasticsearch-curator` | +| `curator.image.tag` | Elasticsearch Curator image tag | `{TAG_NAME}` | +| `curator.image.pullPolicy` | Elasticsearch Curator image pull policy | `{TAG_NAME}` | +| `curator.cronjob.schedule` | Schedule for the CronJob | `0 1 * * *` | +| `curator.cronjob.annotations` | Annotations to add to the cronjob | {} | +| `curator.cronjob.concurrencyPolicy` | `Allow|Forbid|Replace` concurrent jobs | `nil` | +| `curator.cronjob.failedJobsHistoryLimit` | Specify the number of failed Jobs to keep | `nil` | +| `curator.cronjob.successfulJobsHistoryLimit` | Specify the number of completed Jobs to keep | `nil` | +| `curator.cronjob.jobRestartPolicy` | Control the Job restartPolicy | `Never` | +| `curator.podAnnotations` | Annotations to add to the pod | {} | +| `curator.rbac.enabled` | Enable RBAC resources | `false` | +| `curator.serviceAccount.create` | Create a default serviceaccount for elasticsearch curator | `true` | +| `curator.serviceAccount.name` | Name for elasticsearch curator serviceaccount | `""` | +| `curator.hooks` | Whether to run job on selected hooks | `{ "install": false, "upgrade": false }` | +| `curator.psp.create` | Create pod security policy resources | `false` | +| `curator.dryrun` | Run Curator in dry-run mode | `false` | +| `curator.command` | Command to execute | ["/curator/curator"] | +| `curator.env` | Environment variables to add to the cronjob container | {} | +| `curator.configMaps.action_file_yml` | Contents of the Curator action_file.yml | See values.yaml | +| `curator.configMaps.config_yml` | Contents of the Curator config.yml (overrides config) | See values.yaml | +| `curator.resources` | Resource requests and limits | {} | +| `curator.priorityClassName` | priorityClassName | `nil` | +| `curator.extraVolumes` | Extra volumes | | +| `curator.extraVolumeMounts` | Mount extra volume(s), | | +| `curator.extraInitContainers` | Init containers to add to the cronjob container | {} | +| `curator.envFromSecrets` | Environment variables from secrets to the cronjob container | {} | +| `curator.envFromSecrets.*.from.secret` | - `secretKeyRef.name` used for environment variable | | +| `curator.envFromSecrets.*.from.key` | - `secretKeyRef.key` used for environment variable | | | `metrics.enabled` | Enable prometheus exporter | `false` | | `metrics.name` | Metrics pod name | `metrics` | | `metrics.image.registry` | Metrics exporter image registry | `docker.io` | @@ -368,6 +399,13 @@ This chart includes a `values-production.yaml` file where you can find some para + failureThreshold: 5 ``` +- Enable Elasticsearch Curator cron job: + +```diff +- curator.enabled: false ++ curator.enabled: true +``` + - Enable prometheus exporter: ```diff - metrics.enabled: false diff --git a/bitnami/elasticsearch/values-production.yaml b/bitnami/elasticsearch/values-production.yaml index 4dfce5b90..ab1bcee25 100644 --- a/bitnami/elasticsearch/values-production.yaml +++ b/bitnami/elasticsearch/values-production.yaml @@ -330,6 +330,164 @@ ingest: successThreshold: 1 failureThreshold: 5 +curator: + enabled: true + name: curator + image: + registry: docker.io + repository: bitnami/elasticsearch-curator + tag: 5.8.1-debian-9-r0 + 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/ + ## + # pullSecrets: + # - myRegistryKeySecretName + + cronjob: + # At 01:00 every day + schedule: "0 1 * * *" + annotations: {} + concurrencyPolicy: "" + failedJobsHistoryLimit: "" + successfulJobsHistoryLimit: "" + jobRestartPolicy: Never + + podAnnotations: {} + + rbac: + # Specifies whether RBAC should be enabled + enabled: false + + serviceAccount: + # Specifies whether a ServiceAccount should be created + create: true + # The name of the ServiceAccount to use. + # If not set and create is true, a name is generated using the fullname template + name: + + psp: + # Specifies whether a podsecuritypolicy should be created + create: false + + hooks: + install: false + upgrade: false + + # run curator in dry-run mode + dryrun: false + + command: ["curator"] + env: {} + + configMaps: + # Delete indices older than 7 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: 7 + field: + stats_result: + epoch: + exclude: False + # 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'] + + 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:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + priorityClassName: "" + + # extraVolumes and extraVolumeMounts allows you to mount other volumes + # Example Use Case: mount ssl certificates when elasticsearch has tls enabled + # extraVolumes: + # - name: es-certs + # secret: + # defaultMode: 420 + # secretName: es-certs + # extraVolumeMounts: + # - name: es-certs + # mountPath: /certs + # readOnly: true + + # Add your own init container or uncomment and modify the given example. + extraInitContainers: {} + ## Don't configure S3 repository till Elasticsearch is reachable. + ## Ensure that it is available at http://elasticsearch:9200 + ## + # elasticsearch-s3-repository: + # image: bitnami/minideb:latest + # 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 <