Skip to content

Commit 6e638c4

Browse files
✨ feat: (helm/v1alpha1): Allow ServiceAccount annotations to be configurable
1 parent 4d82257 commit 6e638c4

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

pkg/plugins/optional/helm/v1alpha/scaffolds/init.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,19 @@ func copyFileWithHelmLogic(srcFile, destFile, subDir, projectName string) error
292292
contentStr = strings.Replace(contentStr,
293293
"name: metrics-reader",
294294
fmt.Sprintf("name: %s-metrics-reader", projectName), 1)
295+
if strings.Contains(contentStr, "-controller-manager") &&
296+
strings.Contains(contentStr, "kind: ServiceAccount") &&
297+
!strings.Contains(contentStr, "RoleBinding") {
298+
// The generated Service Account does not have the annotations field so we must add it.
299+
contentStr = strings.Replace(contentStr,
300+
"metadata:", `metadata:
301+
{{- if and .Values.controllerManager.serviceAccount .Values.controllerManager.serviceAccount.annotations }}
302+
annotations:
303+
{{- range $key, $value := .Values.controllerManager.serviceAccount.annotations }}
304+
{{ $key }}: {{ $value }}
305+
{{- end }}
306+
{{- end }}`, 1)
307+
}
295308
contentStr = strings.Replace(contentStr,
296309
"name: leader-election-role",
297310
fmt.Sprintf("name: %s-leader-election-role", projectName), -1)

testdata/project-v4-with-plugins/dist/chart/templates/rbac/service_account.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ kind: ServiceAccount
44
metadata:
55
labels:
66
{{- include "chart.labels" . | nindent 4 }}
7+
{{- if and .Values.controllerManager.serviceAccount .Values.controllerManager.serviceAccount.annotations }}
8+
annotations:
9+
{{- range $key, $value := .Values.controllerManager.serviceAccount.annotations }}
10+
{{ $key }}: {{ $value }}
11+
{{- end }}
12+
{{- end }}
713
name: project-v4-with-plugins-controller-manager
814
namespace: {{ .Release.Namespace }}
915
{{- end -}}

0 commit comments

Comments
 (0)