From 8a542ab2acbdbaaed2a58c8917b906567aa6e17b Mon Sep 17 00:00:00 2001 From: kfox1111 Date: Tue, 2 Apr 2024 12:56:58 -0700 Subject: [PATCH] nameOverride autoconfig support (#305) * nameOverride autoconfig support When setting up nested charts with nameOverride, you need to be able to inform other charts about the override. Signed-off-by: Kevin Fox * Incorperate feedback Signed-off-by: Kevin Fox * Apply suggestions from code review Co-authored-by: Faisal Memon Signed-off-by: kfox1111 * Fix docs Signed-off-by: Kevin Fox --------- Signed-off-by: Kevin Fox Signed-off-by: kfox1111 Co-authored-by: Faisal Memon --- charts/spire/charts/spire-agent/README.md | 1 + charts/spire/charts/spire-agent/templates/_helpers.tpl | 2 ++ charts/spire/charts/spire-agent/values.yaml | 2 ++ charts/spire/charts/spire-server/README.md | 1 + charts/spire/charts/spire-server/templates/_helpers.tpl | 2 ++ charts/spire/charts/spire-server/values.yaml | 2 ++ 6 files changed, 10 insertions(+) diff --git a/charts/spire/charts/spire-agent/README.md b/charts/spire/charts/spire-agent/README.md index 1857bbe..bc53a8a 100644 --- a/charts/spire/charts/spire-agent/README.md +++ b/charts/spire/charts/spire-agent/README.md @@ -59,6 +59,7 @@ A Helm chart to install the SPIRE agent. | `server.address` | Address for Spire server | `""` | | `server.port` | Port number for Spire server | `8081` | | `server.namespaceOverride` | Override the namespace for Spire server | `""` | +| `server.nameOverride` | Override the name for Spire server. Should only be changed when building your own nested chart to ensure names align. | `""` | | `healthChecks.port` | override the host port used for health checking | `9982` | | `updateStrategy.type` | The update strategy to use to replace existing DaemonSet pods with new pods. Can be RollingUpdate or OnDelete. | `RollingUpdate` | | `updateStrategy.rollingUpdate.maxUnavailable` | Max unavailable pods during update. Can be a number or a percentage. | `1` | diff --git a/charts/spire/charts/spire-agent/templates/_helpers.tpl b/charts/spire/charts/spire-agent/templates/_helpers.tpl index fd83a3f..fe77147 100644 --- a/charts/spire/charts/spire-agent/templates/_helpers.tpl +++ b/charts/spire/charts/spire-agent/templates/_helpers.tpl @@ -103,6 +103,8 @@ Create the name of the service account to use {{- print .Values.global.spire.upstreamSpireAddress }} {{- else if .Values.server.address }} {{- .Values.server.address }} +{{- else if .Values.server.nameOverride }} +{{ .Release.Name }}-{{ .Values.server.nameOverride }}.{{ include "spire-agent.server.namespace" . }} {{- else }} {{ .Release.Name }}-server.{{ include "spire-agent.server.namespace" . }} {{- end }} diff --git a/charts/spire/charts/spire-agent/values.yaml b/charts/spire/charts/spire-agent/values.yaml index 6d4e58a..6d7dcf0 100644 --- a/charts/spire/charts/spire-agent/values.yaml +++ b/charts/spire/charts/spire-agent/values.yaml @@ -109,11 +109,13 @@ upstream: false ## @param server.address Address for Spire server ## @param server.port Port number for Spire server ## @param server.namespaceOverride Override the namespace for Spire server +## @param server.nameOverride Override the name for Spire server. Should only be changed when building your own nested chart to ensure names align. ## server: address: "" port: 8081 namespaceOverride: "" + nameOverride: "" healthChecks: ## @param healthChecks.port override the host port used for health checking diff --git a/charts/spire/charts/spire-server/README.md b/charts/spire/charts/spire-server/README.md index 9309b48..fd91ae0 100644 --- a/charts/spire/charts/spire-server/README.md +++ b/charts/spire/charts/spire-server/README.md @@ -210,6 +210,7 @@ In order to run Tornjak with simple HTTP Connection only, make sure you don't cr | `upstreamAuthority.spire.enabled` | Flag to use another Spire install as upstream CA | `false` | | `upstreamAuthority.spire.upstreamDriver` | Driver for Spire as upstream CA | `""` | | `upstreamAuthority.spire.server` | Server details for the Spire instance use as upstream CA | | +| `upstreamAuthority.spire.server.nameOverride` | Override the name for upstream Spire server. Should only be changed when building your own nested chart to ensure names align. | `""` | | `upstreamAuthority.spire.server.address` | Address for upstream Spire server | `""` | | `upstreamAuthority.spire.server.port` | Port for upstream Spire server | `8081` | | `upstreamAuthority.vault.enabled` | Enable Hashicorp Vault as upstream CA | `false` | diff --git a/charts/spire/charts/spire-server/templates/_helpers.tpl b/charts/spire/charts/spire-server/templates/_helpers.tpl index b3b6062..9f6e011 100644 --- a/charts/spire/charts/spire-server/templates/_helpers.tpl +++ b/charts/spire/charts/spire-server/templates/_helpers.tpl @@ -212,6 +212,8 @@ Create the name of the service account to use {{- define "spire-server.upstream-spire-address" }} {{- if ne (len (dig "spire" "upstreamSpireAddress" "" .Values.global)) 0 }} {{- print .Values.global.spire.upstreamSpireAddress }} +{{- else if .Values.upstreamAuthority.spire.server.nameOverride }} +{{- printf "%s-%s" .Release.Name .Values.upstreamAuthority.spire.server.nameOverride }} {{- else }} {{- print .Values.upstreamAuthority.spire.server.address }} {{- end }} diff --git a/charts/spire/charts/spire-server/values.yaml b/charts/spire/charts/spire-server/values.yaml index 82db888..193595c 100644 --- a/charts/spire/charts/spire-server/values.yaml +++ b/charts/spire/charts/spire-server/values.yaml @@ -390,6 +390,8 @@ upstreamAuthority: upstreamDriver: "" ## @extra upstreamAuthority.spire.server Server details for the Spire instance use as upstream CA server: + ## @param upstreamAuthority.spire.server.nameOverride Override the name for upstream Spire server. Should only be changed when building your own nested chart to ensure names align. + nameOverride: "" ## @param upstreamAuthority.spire.server.address Address for upstream Spire server address: "" ## @param upstreamAuthority.spire.server.port Port for upstream Spire server