diff --git a/utils/helm/speckle-server/templates/_helpers.tpl b/utils/helm/speckle-server/templates/_helpers.tpl index 981e99a191..32e6046bfa 100644 --- a/utils/helm/speckle-server/templates/_helpers.tpl +++ b/utils/helm/speckle-server/templates/_helpers.tpl @@ -1063,3 +1063,46 @@ Generate the environment variables for Speckle server and Speckle objects deploy value: "/multi-region-config/multi-region-config.json" {{- end }} {{- end }} + +{{/* +Generate the secrets to which the service account should allow access for the Speckle server and Speckle objects deployments +*/}} +{{- define "server.serviceAccountSecrets" -}} +{{- $secretNames := list ( default .Values.secretName .Values.db.connectionString.secretName ) }} +{{- $secretNames := append $secretNames ( default .Values.secretName .Values.redis.connectionString.secretName ) }} +{{- $secretNames := append $secretNames ( default .Values.secretName .Values.s3.secret_key.secretName ) }} +{{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.sessionSecret.secretName ) }} +{{- if .Values.server.auth.google.enabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.auth.google.clientSecret.secretName ) }} +{{- end }} +{{- if .Values.server.auth.github.enabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.auth.github.clientSecret.secretName ) }} +{{- end }} +{{- if .Values.server.auth.azure_ad.enabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.auth.azure_ad.clientSecret.secretName ) }} +{{- end }} +{{- if .Values.server.auth.oidc.enabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.auth.oidc.clientSecret.secretName ) }} +{{- end }} +{{- if .Values.server.email.enabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.email.password.secretName ) }} +{{- end }} +{{- if .Values.server.monitoring.apollo.enabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.monitoring.apollo.key.secretName ) }} +{{- end }} +{{- if .Values.featureFlags.automateModuleEnabled }} + {{- $secretNames := append $secretNames "encryption-keys" }} +{{- end }} +{{- if .Values.featureFlags.workspaceModuleEnabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.licenseTokenSecret.secretName ) }} +{{- end }} +{{- if .Values.featureFlags.workspacesMultiRegionEnabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.multiRegion.config.secretName ) }} +{{- end }} +{{- if .Values.featureFlags.gendoAIModuleEnabled }} + {{- $secretNames := append $secretNames ( default .Values.secretName .Values.server.gendoAI.key.secretName ) }} +{{- end }} +{{- range $secretName := uniq $secretNames }} +- name: {{ $secretName }} +{{- end }} +{{- end }} diff --git a/utils/helm/speckle-server/templates/objects/serviceaccount.yml b/utils/helm/speckle-server/templates/objects/serviceaccount.yml index 8114ca7feb..6dfcd7316e 100644 --- a/utils/helm/speckle-server/templates/objects/serviceaccount.yml +++ b/utils/helm/speckle-server/templates/objects/serviceaccount.yml @@ -10,38 +10,5 @@ metadata: "kubernetes.io/enforce-mountable-secrets": "true" automountServiceAccountToken: false secrets: - - name: {{ default .Values.secretName .Values.db.connectionString.secretName }} - - name: {{ default .Values.secretName .Values.redis.connectionString.secretName }} - - name: {{ default .Values.secretName .Values.s3.secret_key.secretName }} - - name: {{ default .Values.secretName .Values.server.sessionSecret.secretName }} -{{- if .Values.server.auth.google.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.google.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.auth.github.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.github.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.auth.azure_ad.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.azure_ad.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.auth.oidc.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.oidc.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.email.enabled }} - - name: {{ default .Values.secretName .Values.server.email.password.secretName }} -{{- end }} -{{- if .Values.server.monitoring.apollo.enabled }} - - name: {{ default .Values.secretName .Values.server.monitoring.apollo.key.secretName }} -{{- end }} -{{- if .Values.featureFlags.automateModuleEnabled }} - - name: encryption-keys -{{- end }} -{{- if .Values.featureFlags.workspacesModuleEnabled }} - - name: {{ default .Values.secretName .Values.server.licenseTokenSecret.secretName }} -{{- end }} -{{- if .Values.featureFlags.workspacesMultiRegionEnabled }} - - name: {{ default .Values.secretName .Values.multiRegion.config.secretName }} -{{- end }} -{{- if .Values.featureFlags.gendoAIModuleEnabled }} - - name: {{ default .Values.secretName .Values.server.gendoAI.key.secretName }} -{{- end }} +{{- include "server.serviceAccountSecrets" $ | indent 2 }} {{- end -}} diff --git a/utils/helm/speckle-server/templates/server/serviceaccount.yml b/utils/helm/speckle-server/templates/server/serviceaccount.yml index 7b762a3da5..f1fd318735 100644 --- a/utils/helm/speckle-server/templates/server/serviceaccount.yml +++ b/utils/helm/speckle-server/templates/server/serviceaccount.yml @@ -10,38 +10,5 @@ metadata: "kubernetes.io/enforce-mountable-secrets": "true" automountServiceAccountToken: false secrets: - - name: {{ default .Values.secretName .Values.db.connectionString.secretName }} - - name: {{ default .Values.secretName .Values.redis.connectionString.secretName }} - - name: {{ default .Values.secretName .Values.s3.secret_key.secretName }} - - name: {{ default .Values.secretName .Values.server.sessionSecret.secretName }} -{{- if .Values.server.auth.google.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.google.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.auth.github.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.github.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.auth.azure_ad.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.azure_ad.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.auth.oidc.enabled }} - - name: {{ default .Values.secretName .Values.server.auth.oidc.clientSecret.secretName }} -{{- end }} -{{- if .Values.server.email.enabled }} - - name: {{ default .Values.secretName .Values.server.email.password.secretName }} -{{- end }} -{{- if .Values.server.monitoring.apollo.enabled }} - - name: {{ default .Values.secretName .Values.server.monitoring.apollo.key.secretName }} -{{- end }} -{{- if .Values.featureFlags.automateModuleEnabled }} - - name: encryption-keys -{{- end }} -{{- if .Values.featureFlags.workspacesModuleEnabled }} - - name: {{ default .Values.secretName .Values.server.licenseTokenSecret.secretName }} -{{- end }} -{{- if .Values.featureFlags.workspacesMultiRegionEnabled }} - - name: {{ default .Values.secretName .Values.multiRegion.config.secretName }} -{{- end }} -{{- if .Values.featureFlags.gendoAIModuleEnabled }} - - name: {{ default .Values.secretName .Values.server.gendoAI.key.secretName }} -{{- end }} +{{- include "server.serviceAccountSecrets" $ | indent 2 }} {{- end -}}