Skip to content

Commit f21e7c4

Browse files
committed
feat: allow creating or reusing an existing sa
1 parent 54fb592 commit f21e7c4

File tree

7 files changed

+36
-13
lines changed

7 files changed

+36
-13
lines changed

deploy/charts/google-cas-issuer/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,7 @@ A Helm chart for jetstack/google-cas-issuer
4343
| replicaCount | int | `1` | Number of replicas of google-cas-issuer to run. |
4444
| resources | object | `{}` | Kubernetes pod resource requests/limits for google-cas-issuer. |
4545
| serviceAccount.annotations | object | `{}` | Optional annotations to add to the service account |
46+
| serviceAccount.create | bool | `true` | Specifies whether a service account should be created |
47+
| serviceAccount.name | string | `""` | The name used to create the service account or the name of an existing service account to use if not creating one. if create is false, this name is required or the default service account will be used. |
4648
| tolerations | list | `[]` | Kubernetes pod tolerations for google-cas-issuer |
4749

deploy/charts/google-cas-issuer/templates/_helpers.tpl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,14 @@ See https://github.com/cert-manager/cert-manager/issues/6329 for a list of linke
4242
{{- if .digest -}}{{ printf "@%s" .digest }}{{- else -}}{{ printf ":%s" (default $defaultTag .tag) }}{{- end -}}
4343
{{- end }}
4444
{{- end }}
45+
46+
{{/*
47+
Create the name of the service account to use
48+
*/}}
49+
{{- define "cert-manager-google-cas-issuer.serviceAccountName" -}}
50+
{{- if .Values.serviceAccount.create }}
51+
{{- default (include "cert-manager-google-cas-issuer.name" .) .Values.serviceAccount.name }}
52+
{{- else }}
53+
{{- default "default" .Values.serviceAccount.name }}
54+
{{- end }}
55+
{{- end }}

deploy/charts/google-cas-issuer/templates/clusterrolebinding.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ roleRef:
1010
name: {{ include "cert-manager-google-cas-issuer.name" . }}
1111
subjects:
1212
- kind: ServiceAccount
13-
name: {{ include "cert-manager-google-cas-issuer.name" . }}
13+
name: {{ include "cert-manager-google-cas-issuer.serviceAccountName" . }}
1414
namespace: {{ .Release.Namespace }}
1515
---
1616
{{- if .Values.app.approval.enabled }}

deploy/charts/google-cas-issuer/templates/deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ spec:
3131
imagePullSecrets:
3232
{{- toYaml . | nindent 8 }}
3333
{{- end }}
34-
serviceAccountName: {{ include "cert-manager-google-cas-issuer.name" . }}
34+
serviceAccountName: {{ include "cert-manager-google-cas-issuer.serviceAccountName" . }}
3535
{{- with .Values.priorityClassName }}
3636
priorityClassName: {{ . | quote }}
3737
{{- end }}

deploy/charts/google-cas-issuer/templates/rolebinding.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ roleRef:
1111
name: {{ include "cert-manager-google-cas-issuer.name" . }}
1212
subjects:
1313
- kind: ServiceAccount
14-
name: {{ include "cert-manager-google-cas-issuer.name" . }}
14+
name: {{ include "cert-manager-google-cas-issuer.serviceAccountName" . }}
1515
namespace: {{ .Release.Namespace }}
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
{{ if .Values.serviceAccount.create -}}
12
apiVersion: v1
23
kind: ServiceAccount
34
metadata:
4-
name: {{ include "cert-manager-google-cas-issuer.name" . }}
5-
namespace: {{ .Release.Namespace }}
5+
name: {{ include "cert-manager-google-cas-issuer.serviceAccountName" . }}
66
labels:
77
{{ include "cert-manager-google-cas-issuer.labels" . | indent 4 }}
88
annotations:
99
{{- toYaml .Values.serviceAccount.annotations | nindent 4 }}
10+
{{- end }}

deploy/charts/google-cas-issuer/values.yaml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,16 @@ imagePullSecrets: []
3737
commonLabels: {}
3838

3939
serviceAccount:
40+
# -- Specifies whether a service account should be created
41+
create: true
42+
# -- The name used to create the service account or the name of an existing service account to use if not creating one.
43+
# if create is false, this name is required or the default service account will be used.
44+
name: ""
4045
# -- Optional annotations to add to the service account
4146
annotations: {}
4247

4348
app:
44-
# -- Verbosity of google-cas-issuer logging.
49+
# -- Verbosity of google-cas-issuer logging.
4550
logLevel: 1 # 1-5
4651

4752
# -- Handle RBAC permissions for approving Google CAS issuer
@@ -61,9 +66,9 @@ app:
6166
# name: cert-manager-approver-policy
6267
# namespace: cert-manager
6368
subjects:
64-
- kind: ServiceAccount
65-
name: cert-manager
66-
namespace: cert-manager
69+
- kind: ServiceAccount
70+
name: cert-manager
71+
namespace: cert-manager
6772

6873
# metrics controls exposing google-cas-issuer metrics.
6974
metrics:
@@ -80,7 +85,8 @@ podAnnotations: {}
8085
podLabels: {}
8186

8287
# -- Kubernetes pod resource requests/limits for google-cas-issuer.
83-
resources: {}
88+
resources:
89+
{}
8490
# limits:
8591
# cpu: 100m
8692
# memory: 128Mi
@@ -89,12 +95,14 @@ resources: {}
8995
# memory: 128Mi
9096

9197
# -- Kubernetes node selector: node labels for pod assignment
92-
nodeSelector: {}
98+
nodeSelector:
99+
{}
93100
# -- Allow scheduling of DaemonSet on linux nodes only
94101
# kubernetes.io/os: linux
95102

96103
# -- Kubernetes affinity: constraints for pod assignment
97-
affinity: {}
104+
affinity:
105+
{}
98106
# nodeAffinity:
99107
# requiredDuringSchedulingIgnoredDuringExecution:
100108
# nodeSelectorTerms:
@@ -105,7 +113,8 @@ affinity: {}
105113
# - master
106114

107115
# -- Kubernetes pod tolerations for google-cas-issuer
108-
tolerations: []
116+
tolerations:
117+
[]
109118
# -- Allow scheduling of DaemonSet on all nodes
110119
# - operator: "Exists"
111120

0 commit comments

Comments
 (0)