From 7888f4c3fa0560b46f291760a72d6633c19bd176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20J=2E=20Salmer=C3=B3n-Garc=C3=ADa?= Date: Wed, 6 Mar 2024 12:47:14 +0100 Subject: [PATCH] [bitnami/elasticsearch] feat: :sparkles: :lock: Add automatic adaptation for Openshift restricted-v2 SCC (#24078) Signed-off-by: Javier Salmeron Garcia Signed-off-by: Alejandro Moreno Co-authored-by: Alejandro Moreno --- bitnami/elasticsearch/Chart.lock | 8 ++++---- bitnami/elasticsearch/Chart.yaml | 2 +- bitnami/elasticsearch/README.md | 17 +++++++++-------- .../templates/coordinating/statefulset.yaml | 4 ++-- .../templates/data/statefulset.yaml | 4 ++-- .../templates/ingest/statefulset.yaml | 4 ++-- .../templates/master/statefulset.yaml | 4 ++-- .../templates/metrics/deployment.yaml | 4 ++-- bitnami/elasticsearch/values.yaml | 9 +++++++++ 9 files changed, 33 insertions(+), 23 deletions(-) diff --git a/bitnami/elasticsearch/Chart.lock b/bitnami/elasticsearch/Chart.lock index 385faa9a95..7f0fcc4a67 100644 --- a/bitnami/elasticsearch/Chart.lock +++ b/bitnami/elasticsearch/Chart.lock @@ -1,9 +1,9 @@ dependencies: - name: kibana repository: oci://registry-1.docker.io/bitnamicharts - version: 10.11.2 + version: 10.11.3 - name: common repository: oci://registry-1.docker.io/bitnamicharts - version: 2.16.1 -digest: sha256:ae6d50553fe1478ec7e3bef40174a0b32b1b33d3fde7f14745d4c8f7d58e23fa -generated: "2024-02-22T19:03:46.139965879Z" + version: 2.18.0 +digest: sha256:8a0603a47735665a31a930dc51b6eab78ea8f9c351f62dcc3dea8dc71d2ccd3f +generated: "2024-03-05T13:45:31.320851179+01:00" diff --git a/bitnami/elasticsearch/Chart.yaml b/bitnami/elasticsearch/Chart.yaml index 9a9b430580..683929801f 100644 --- a/bitnami/elasticsearch/Chart.yaml +++ b/bitnami/elasticsearch/Chart.yaml @@ -34,4 +34,4 @@ maintainers: name: elasticsearch sources: - https://github.com/bitnami/charts/tree/main/bitnami/elasticsearch -version: 19.19.4 +version: 19.20.0 diff --git a/bitnami/elasticsearch/README.md b/bitnami/elasticsearch/README.md index ee8fcc1943..426202a07d 100644 --- a/bitnami/elasticsearch/README.md +++ b/bitnami/elasticsearch/README.md @@ -60,14 +60,15 @@ helm delete --purge my-release ### Global parameters -| Name | Description | Value | -| -------------------------------------------- | ----------------------------------------------------------------------------------------------------- | --------------- | -| `global.imageRegistry` | Global Docker image registry | `""` | -| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` | -| `global.storageClass` | Global StorageClass for Persistent Volume(s) | `""` | -| `global.elasticsearch.service.name` | Elasticsearch service name to be used in the Kibana subchart (ignored if kibanaEnabled=false) | `elasticsearch` | -| `global.elasticsearch.service.ports.restAPI` | Elasticsearch service restAPI port to be used in the Kibana subchart (ignored if kibanaEnabled=false) | `9200` | -| `global.kibanaEnabled` | Whether or not to enable Kibana | `false` | +| Name | Description | Value | +| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | +| `global.imageRegistry` | Global Docker image registry | `""` | +| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` | +| `global.storageClass` | Global StorageClass for Persistent Volume(s) | `""` | +| `global.elasticsearch.service.name` | Elasticsearch service name to be used in the Kibana subchart (ignored if kibanaEnabled=false) | `elasticsearch` | +| `global.elasticsearch.service.ports.restAPI` | Elasticsearch service restAPI port to be used in the Kibana subchart (ignored if kibanaEnabled=false) | `9200` | +| `global.kibanaEnabled` | Whether or not to enable Kibana | `false` | +| `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) | `disabled` | ### Common parameters diff --git a/bitnami/elasticsearch/templates/coordinating/statefulset.yaml b/bitnami/elasticsearch/templates/coordinating/statefulset.yaml index d129b4e676..5ae2c61780 100644 --- a/bitnami/elasticsearch/templates/coordinating/statefulset.yaml +++ b/bitnami/elasticsearch/templates/coordinating/statefulset.yaml @@ -81,7 +81,7 @@ spec: terminationGracePeriodSeconds: {{ .Values.coordinating.terminationGracePeriodSeconds }} {{- end }} {{- if .Values.coordinating.podSecurityContext.enabled }} - securityContext: {{- omit .Values.coordinating.podSecurityContext "enabled" | toYaml | nindent 8 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.coordinating.podSecurityContext "context" $) | nindent 8 }} {{- end }} {{- if or .Values.coordinating.initContainers .Values.sysctlImage.enabled }} initContainers: @@ -117,7 +117,7 @@ spec: image: {{ include "elasticsearch.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} {{- if .Values.coordinating.containerSecurityContext.enabled }} - securityContext: {{- omit .Values.coordinating.containerSecurityContext "enabled" | toYaml | nindent 12 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.coordinating.containerSecurityContext "context" $) | nindent 12 }} {{- end }} {{- if .Values.diagnosticMode.enabled }} command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} diff --git a/bitnami/elasticsearch/templates/data/statefulset.yaml b/bitnami/elasticsearch/templates/data/statefulset.yaml index 92e95f892e..d828d41369 100644 --- a/bitnami/elasticsearch/templates/data/statefulset.yaml +++ b/bitnami/elasticsearch/templates/data/statefulset.yaml @@ -78,7 +78,7 @@ spec: priorityClassName: {{ .Values.data.priorityClassName | quote }} {{- end }} {{- if .Values.data.podSecurityContext.enabled }} - securityContext: {{- omit .Values.data.podSecurityContext "enabled" | toYaml | nindent 8 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.data.podSecurityContext "context" $) | nindent 8 }} {{- end }} {{- if .Values.data.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.data.terminationGracePeriodSeconds }} @@ -139,7 +139,7 @@ spec: image: {{ include "elasticsearch.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} {{- if .Values.data.containerSecurityContext.enabled }} - securityContext: {{- omit .Values.data.containerSecurityContext "enabled" | toYaml | nindent 12 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.data.containerSecurityContext "context" $) | nindent 12 }} {{- end }} {{- if .Values.diagnosticMode.enabled }} command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} diff --git a/bitnami/elasticsearch/templates/ingest/statefulset.yaml b/bitnami/elasticsearch/templates/ingest/statefulset.yaml index a5042722e0..3bffbb6b7e 100644 --- a/bitnami/elasticsearch/templates/ingest/statefulset.yaml +++ b/bitnami/elasticsearch/templates/ingest/statefulset.yaml @@ -78,7 +78,7 @@ spec: priorityClassName: {{ .Values.ingest.priorityClassName | quote }} {{- end }} {{- if .Values.ingest.podSecurityContext.enabled }} - securityContext: {{- omit .Values.ingest.podSecurityContext "enabled" | toYaml | nindent 8 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.ingest.podSecurityContext "context" $) | nindent 8 }} {{- end }} {{- if .Values.ingest.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.ingest.terminationGracePeriodSeconds }} @@ -117,7 +117,7 @@ spec: image: {{ include "elasticsearch.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} {{- if .Values.ingest.containerSecurityContext.enabled }} - securityContext: {{- omit .Values.ingest.containerSecurityContext "enabled" | toYaml | nindent 12 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.ingest.containerSecurityContext "context" $) | nindent 12 }} {{- end }} {{- if .Values.diagnosticMode.enabled }} command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} diff --git a/bitnami/elasticsearch/templates/master/statefulset.yaml b/bitnami/elasticsearch/templates/master/statefulset.yaml index e29ab96bcc..f3fc20aeb8 100644 --- a/bitnami/elasticsearch/templates/master/statefulset.yaml +++ b/bitnami/elasticsearch/templates/master/statefulset.yaml @@ -78,7 +78,7 @@ spec: priorityClassName: {{ .Values.master.priorityClassName | quote }} {{- end }} {{- if .Values.master.podSecurityContext.enabled }} - securityContext: {{- omit .Values.master.podSecurityContext "enabled" | toYaml | nindent 8 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.master.podSecurityContext "context" $) | nindent 8 }} {{- end }} {{- if .Values.master.terminationGracePeriodSeconds }} terminationGracePeriodSeconds: {{ .Values.master.terminationGracePeriodSeconds }} @@ -139,7 +139,7 @@ spec: image: {{ include "elasticsearch.image" . }} imagePullPolicy: {{ .Values.image.pullPolicy | quote }} {{- if .Values.master.containerSecurityContext.enabled }} - securityContext: {{- omit .Values.master.containerSecurityContext "enabled" | toYaml | nindent 12 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.master.containerSecurityContext "context" $) | nindent 12 }} {{- end }} {{- if .Values.diagnosticMode.enabled }} command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} diff --git a/bitnami/elasticsearch/templates/metrics/deployment.yaml b/bitnami/elasticsearch/templates/metrics/deployment.yaml index 2f14df9ee9..8fd39cb2f2 100644 --- a/bitnami/elasticsearch/templates/metrics/deployment.yaml +++ b/bitnami/elasticsearch/templates/metrics/deployment.yaml @@ -64,7 +64,7 @@ spec: schedulerName: {{ .Values.metrics.schedulerName | quote }} {{- end }} {{- if .Values.metrics.podSecurityContext.enabled }} - securityContext: {{- omit .Values.metrics.podSecurityContext "enabled" | toYaml | nindent 8 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.metrics.podSecurityContext "context" $) | nindent 8 }} {{- end }} {{- if .Values.metrics.topologySpreadConstraints }} topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.metrics.topologySpreadConstraints "context" $) | nindent 8 }} @@ -77,7 +77,7 @@ spec: image: {{ include "elasticsearch.metrics.image" . }} imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }} {{- if .Values.metrics.containerSecurityContext.enabled }} - securityContext: {{- omit .Values.metrics.containerSecurityContext "enabled" | toYaml | nindent 12 }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.metrics.containerSecurityContext "context" $) | nindent 12 }} {{- end }} {{- if .Values.diagnosticMode.enabled }} command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} diff --git a/bitnami/elasticsearch/values.yaml b/bitnami/elasticsearch/values.yaml index ec1ca187ac..e0b18526dd 100644 --- a/bitnami/elasticsearch/values.yaml +++ b/bitnami/elasticsearch/values.yaml @@ -27,6 +27,15 @@ global: ports: restAPI: 9200 kibanaEnabled: false + ## Compatibility adaptations for Kubernetes platforms + ## + compatibility: + ## Compatibility adaptations for Openshift + ## + openshift: + ## @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) + ## + adaptSecurityContext: disabled ## @section Common parameters ## @param kubeVersion Override Kubernetes version