From f0b7f5bd8da82c58b44d938788e133bb3d4e990f Mon Sep 17 00:00:00 2001 From: Kevin Fox Date: Mon, 6 Mar 2023 05:56:45 -0800 Subject: [PATCH] Make spire agent server address configurable If your server is not in the same namespace or cluster as the agent, you need a config option to specify where it is. Signed-off-by: Kevin Fox --- charts/spire/charts/spire-agent/README.md | 1 + charts/spire/charts/spire-agent/templates/_helpers.tpl | 8 ++++++++ charts/spire/charts/spire-agent/templates/configmap.yaml | 2 +- charts/spire/charts/spire-agent/templates/daemonset.yaml | 2 +- charts/spire/charts/spire-agent/values.yaml | 1 + 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/charts/spire/charts/spire-agent/README.md b/charts/spire/charts/spire-agent/README.md index c6c9815..8e70932 100644 --- a/charts/spire/charts/spire-agent/README.md +++ b/charts/spire/charts/spire-agent/README.md @@ -35,6 +35,7 @@ A Helm chart to install the SPIRE agent. | priorityClassName | string | `""` | Priority class assigned to daemonset pods | | resources | object | `{}` | | | securityContext | object | `{}` | | +| server.address | string | `""` | | | server.port | int | `8081` | | | serviceAccount.annotations | object | `{}` | | | serviceAccount.create | bool | `true` | | diff --git a/charts/spire/charts/spire-agent/templates/_helpers.tpl b/charts/spire/charts/spire-agent/templates/_helpers.tpl index 5bb2ffe..cc7b1e0 100644 --- a/charts/spire/charts/spire-agent/templates/_helpers.tpl +++ b/charts/spire/charts/spire-agent/templates/_helpers.tpl @@ -72,3 +72,11 @@ Create the name of the service account to use {{- printf "%s/%s" .image.registry .image.repository -}} {{- end -}} {{- end }} + +{{- define "spire-agent.server-address" }} +{{- if .Values.server.address }} +{{- .Values.server.address }} +{{- else }} +{{ .Release.Name }}-server +{{- end }} +{{- end }} diff --git a/charts/spire/charts/spire-agent/templates/configmap.yaml b/charts/spire/charts/spire-agent/templates/configmap.yaml index 7cd1857..230ad6c 100644 --- a/charts/spire/charts/spire-agent/templates/configmap.yaml +++ b/charts/spire/charts/spire-agent/templates/configmap.yaml @@ -8,7 +8,7 @@ data: agent { data_dir = "/run/spire" log_level = {{ .Values.logLevel | quote }} - server_address = "{{ .Release.Name }}-server" + server_address = {{ include "spire-agent.server-address" . | trim | quote }} server_port = {{ .Values.server.port | quote }} socket_path = {{ include "spire.agent-socket-path" . | quote }} trust_bundle_path = "/run/spire/bundle/bundle.crt" diff --git a/charts/spire/charts/spire-agent/templates/daemonset.yaml b/charts/spire/charts/spire-agent/templates/daemonset.yaml index ea5af13..ce9f6f1 100644 --- a/charts/spire/charts/spire-agent/templates/daemonset.yaml +++ b/charts/spire/charts/spire-agent/templates/daemonset.yaml @@ -40,7 +40,7 @@ spec: # from https://github.com/vishnubob/wait-for-it image: {{ template "spire-agent.image" .Values.waitForIt }} imagePullPolicy: {{ .Values.waitForIt.image.pullPolicy }} - args: ["-t", "30", "-h", "{{ .Release.Name }}-server", "-p", {{ .Values.server.port | quote }}] + args: ["-t", "30", "-h", "{{ include "spire-agent.server-address" . | trim }}", "-p", {{ .Values.server.port | quote }}] resources: {{- toYaml .Values.waitForIt.resources | nindent 12 }} {{- if gt (len .Values.initContainers) 0 }} diff --git a/charts/spire/charts/spire-agent/values.yaml b/charts/spire/charts/spire-agent/values.yaml index 50fed8c..96657d7 100644 --- a/charts/spire/charts/spire-agent/values.yaml +++ b/charts/spire/charts/spire-agent/values.yaml @@ -58,6 +58,7 @@ trustDomain: example.org bundleConfigMap: spire-bundle server: + address: "" port: 8081 healthChecks: