From 5fbcd6dbf02886f2f17271dfdae0e9e6b7b1dd22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Wa=C5=9B?= Date: Thu, 30 May 2024 15:29:47 +0200 Subject: [PATCH] Enabled overrides for worker and coordinator configmap resources --- .github/workflows/ci-cd.yaml | 8 +++++--- charts/trino/README.md | 11 +++++++++++ charts/trino/templates/configmap-coordinator.yaml | 6 +++--- charts/trino/templates/configmap-worker.yaml | 2 +- charts/trino/templates/deployment-coordinator.yaml | 6 +++--- charts/trino/templates/deployment-worker.yaml | 2 +- charts/trino/values.yaml | 13 +++++++++++++ test.sh | 3 ++- 8 files changed, 39 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci-cd.yaml b/.github/workflows/ci-cd.yaml index 4d1bf83a..e3346261 100644 --- a/.github/workflows/ci-cd.yaml +++ b/.github/workflows/ci-cd.yaml @@ -37,9 +37,11 @@ jobs: include: - { label: default, args: '' } # last Trino version that requires JDK 21 - - { label: 446, args: '--set image.tag=446' } + - { label: 446, args: '-a "--set image.tag=446"' } # last Trino version that requires JDK 17 - - { label: 435, args: '--set image.tag=435' } + - { label: 435, args: '-a "--set image.tag=435"' } + # skip cleanup to test deploying multiple releases in a single namespace + - { label: overrides, args: '-s -t default,overrides' } steps: - uses: actions/checkout@v4 - name: Set up Helm @@ -51,7 +53,7 @@ jobs: - name: Create kind cluster uses: helm/kind-action@v1.10.0 - name: Run tests - run: ./test.sh -a "${{ matrix.args }}" + run: ./test.sh ${{ matrix.args }} docs: runs-on: ubuntu-latest diff --git a/charts/trino/README.md b/charts/trino/README.md index 434b68fd..fecbcabc 100644 --- a/charts/trino/README.md +++ b/charts/trino/README.md @@ -12,6 +12,17 @@ Fast distributed SQL query engine for big data analytics that helps you explore * ## Values +* `nameOverride` - string, default: `nil` + + Override resource names to avoid name conflicts when deploying multiple releases in the same namespace. + Example: + ```yaml + coordinatorNameOverride: trino-coordinator-adhoc + workerNameOverride: trino-worker-adhoc + nameOverride: trino-adhoc + ``` +* `coordinatorNameOverride` - string, default: `nil` +* `workerNameOverride` - string, default: `nil` * `image.registry` - string, default: `""` Image registry, defaults to empty, which results in DockerHub usage diff --git a/charts/trino/templates/configmap-coordinator.yaml b/charts/trino/templates/configmap-coordinator.yaml index 5e3ac68e..ac380a8b 100644 --- a/charts/trino/templates/configmap-coordinator.yaml +++ b/charts/trino/templates/configmap-coordinator.yaml @@ -127,7 +127,7 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: trino-access-control-volume-coordinator + name: {{ template "trino.fullname" . }}-access-control-volume-coordinator namespace: {{ .Release.Namespace }} labels: {{- include "trino.labels" . | nindent 4 }} @@ -142,7 +142,7 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: trino-resource-groups-volume-coordinator + name: {{ template "trino.fullname" . }}-resource-groups-volume-coordinator namespace: {{ .Release.Namespace }} labels: {{- include "trino.labels" . | nindent 4 }} @@ -155,7 +155,7 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: schemas-volume-coordinator + name: {{ template "trino.fullname" . }}-schemas-volume-coordinator namespace: {{ .Release.Namespace }} labels: {{- include "trino.labels" . | nindent 4 }} diff --git a/charts/trino/templates/configmap-worker.yaml b/charts/trino/templates/configmap-worker.yaml index 5e70c90a..2115bdee 100644 --- a/charts/trino/templates/configmap-worker.yaml +++ b/charts/trino/templates/configmap-worker.yaml @@ -83,7 +83,7 @@ data: apiVersion: v1 kind: ConfigMap metadata: - name: schemas-volume-worker + name: {{ template "trino.fullname" . }}-schemas-volume-worker namespace: {{ .Release.Namespace }} labels: {{- include "trino.labels" . | nindent 4 }} diff --git a/charts/trino/templates/deployment-coordinator.yaml b/charts/trino/templates/deployment-coordinator.yaml index f998c9ef..2ed54b69 100644 --- a/charts/trino/templates/deployment-coordinator.yaml +++ b/charts/trino/templates/deployment-coordinator.yaml @@ -48,16 +48,16 @@ spec: name: {{ template "trino.catalog" . }} - name: schemas-volume configMap: - name: schemas-volume-coordinator + name: {{ template "trino.fullname" . }}-schemas-volume-coordinator {{- if .Values.accessControl }}{{- if eq .Values.accessControl.type "configmap" }} - name: access-control-volume configMap: - name: trino-access-control-volume-coordinator + name: {{ template "trino.fullname" . }}-access-control-volume-coordinator {{- end }}{{- end }} {{- if .Values.resourceGroups }} - name: resource-groups-volume configMap: - name: trino-resource-groups-volume-coordinator + name: {{ template "trino.fullname" . }}-resource-groups-volume-coordinator {{- end }} {{- if or .Values.auth.passwordAuth .Values.auth.passwordAuthSecret .Values.auth.groups }} - name: file-authentication-volume diff --git a/charts/trino/templates/deployment-worker.yaml b/charts/trino/templates/deployment-worker.yaml index e22f882a..6868a9ea 100644 --- a/charts/trino/templates/deployment-worker.yaml +++ b/charts/trino/templates/deployment-worker.yaml @@ -50,7 +50,7 @@ spec: name: {{ template "trino.catalog" . }} - name: schemas-volume configMap: - name: schemas-volume-worker + name: {{ template "trino.fullname" . }}-schemas-volume-worker {{- range .Values.configMounts }} - name: {{ .name }} configMap: diff --git a/charts/trino/values.yaml b/charts/trino/values.yaml index 518c3bba..2a2c5a50 100644 --- a/charts/trino/values.yaml +++ b/charts/trino/values.yaml @@ -2,6 +2,19 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +# -- Override resource names to avoid name conflicts when deploying multiple +# releases in the same namespace. +# @raw +# Example: +# ```yaml +# coordinatorNameOverride: trino-coordinator-adhoc +# workerNameOverride: trino-worker-adhoc +# nameOverride: trino-adhoc +# ``` +nameOverride: +coordinatorNameOverride: +workerNameOverride: + image: # -- Image registry, defaults to empty, which results in DockerHub usage registry: "" diff --git a/test.sh b/test.sh index 5983aff3..4aa4e34c 100755 --- a/test.sh +++ b/test.sh @@ -6,6 +6,7 @@ declare -A testCases=( [default]="" [single_node]="--set server.workers=0" [complete_values]="--values test-values.yaml" + [overrides]="--set coordinatorNameOverride=coordinator-overridden,workerNameOverride=worker-overridden,nameOverride=overridden" ) function join_by { @@ -20,7 +21,7 @@ NAMESPACE=trino-$(LC_ALL=C tr -dc 'a-z0-9' &2