File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -81,3 +81,36 @@ Returns if ubi images are to be used
8181{{- define " operator.ubi" -}}
8282{{ ternary " -ubi" " " (list " operator" " all" | has (default (dig " ubi" " " (default dict .Values.distro )) .Values.global.distro.ubi )) }}
8383{{- end }}
84+
85+ {{/*
86+ Create the name of the service account to use
87+ */ }}
88+ {{- define " appscode.serviceAccountName" -}}
89+ {{- if .Values.global.serviceAccount.create }}
90+ {{- default (include " service-gateway.fullname" . ) .Values.global.serviceAccount.name }}
91+ {{- else if .Values.serviceAccount }}
92+ {{- default " default" .Values.serviceAccount.name }}
93+ {{- else }}
94+ {{- " default" }}
95+ {{- end }}
96+ {{- end }}
97+
98+ {{/*
99+ Returns the registry used for kubectl docker image
100+ */ }}
101+ {{- define " kubectl.registry" -}}
102+ {{- list .Values.global.registryFQDN (default .Values.kubectl.registry .Values.global.registry ) | compact | join " /" }}
103+ {{- end }}
104+
105+ {{/*
106+ Returns the appscode image pull secrets
107+ */ }}
108+ {{- define " appscode.imagePullSecrets" -}}
109+ {{- with .Values.global.imagePullSecrets -}}
110+ imagePullSecrets:
111+ {{- toYaml . | nindent 2 }}
112+ {{- else -}}
113+ imagePullSecrets:
114+ {{- toYaml $ .Values.imagePullSecrets | nindent 2 }}
115+ {{- end }}
116+ {{- end }}
Original file line number Diff line number Diff line change 1+ {{- if .Values.cleaner.enabled -}}
2+ apiVersion : batch/v1
3+ kind : Job
4+ metadata :
5+ name : {{ include "service-gateway.fullname" . }}-gwclass-cleaner
6+ namespace : {{ .Release.Namespace }}
7+ annotations :
8+ " helm.sh/hook-weight " : " 0"
9+ " helm.sh/hook " : pre-delete
10+ " helm.sh/hook-delete-policy " : before-hook-creation,hook-succeeded
11+ spec :
12+ backoffLimit : 3
13+ template :
14+ spec :
15+ {{- include "appscode.imagePullSecrets" . | nindent 6 }}
16+ serviceAccountName : {{ include "service-gateway.fullname" . }}-gwclass-cleaner
17+ automountServiceAccountToken : true
18+ securityContext :
19+ runAsNonRoot : true
20+ runAsUser : 65534
21+ seccompProfile :
22+ type : RuntimeDefault
23+ containers :
24+ - name : kubectl
25+ securityContext :
26+ allowPrivilegeEscalation : false
27+ capabilities :
28+ drop : ["ALL"]
29+ privileged : false
30+ readOnlyRootFilesystem : true
31+ runAsNonRoot : true
32+ runAsUser : 65534
33+ seccompProfile :
34+ type : RuntimeDefault
35+ image : " {{ include " kubectl.registry" . }}/{{ .Values.kubectl.repository }}:{{ .Values.kubectl.tag }}"
36+ imagePullPolicy : {{ .Values.kubectl.pullPolicy }}
37+ command :
38+ - /bin/sh
39+ - -c
40+ - |
41+ kubectl patch gatewayclass {{ include "tenant.name" . }} --type=merge -p '{"metadata":{"finalizers":null}}' || true
42+ restartPolicy : Never
43+ {{- end }}
Original file line number Diff line number Diff line change 1+ {{- if .Values.cleaner.enabled -}}
2+ apiVersion : rbac.authorization.k8s.io/v1
3+ kind : ClusterRole
4+ metadata :
5+ name : {{ include "service-gateway.fullname" . }}-gwclass-cleaner-{{ .Release.Namespace }}
6+ annotations :
7+ " helm.sh/hook-weight " : " 0"
8+ " helm.sh/hook " : pre-delete
9+ " helm.sh/hook-delete-policy " : before-hook-creation,hook-succeeded
10+ rules :
11+ - apiGroups :
12+ - gateway.networking.k8s.io
13+ resources :
14+ - gatewayclasses
15+ verbs : ["get", "patch"]
16+ ---
17+
18+ apiVersion : rbac.authorization.k8s.io/v1
19+ kind : ClusterRoleBinding
20+ metadata :
21+ name : {{ include "service-gateway.fullname" . }}-gwclass-cleaner-{{ .Release.Namespace }}
22+ annotations :
23+ " helm.sh/hook-weight " : " 0"
24+ " helm.sh/hook " : pre-delete
25+ " helm.sh/hook-delete-policy " : before-hook-creation,hook-succeeded
26+ roleRef :
27+ apiGroup : rbac.authorization.k8s.io
28+ kind : ClusterRole
29+ name : {{ include "service-gateway.fullname" . }}-gwclass-cleaner-{{ .Release.Namespace }}
30+ subjects :
31+ - kind : ServiceAccount
32+ name : {{ include "service-gateway.fullname" . }}-gwclass-cleaner
33+ namespace : {{ .Release.Namespace }}
34+ {{- end }}
Original file line number Diff line number Diff line change 1+ {{- if and .Values.cleaner.enabled .Values.global.serviceAccount.create -}}
2+ apiVersion : v1
3+ kind : ServiceAccount
4+ metadata :
5+ name : {{ include "service-gateway.fullname" . }}-gwclass-cleaner
6+ namespace : {{ .Release.Namespace }}
7+ annotations :
8+ " helm.sh/hook-weight " : " 0"
9+ " helm.sh/hook " : pre-delete
10+ " helm.sh/hook-delete-policy " : before-hook-creation,hook-succeeded
11+ {{- end }}
Original file line number Diff line number Diff line change @@ -14,6 +14,18 @@ global:
1414 # Set operator or all to use ubi images
1515 ubi : " "
1616
17+ # Docker registry used to pull app related images
18+ registry : " "
19+ registryFQDN : ghcr.io
20+ imagePullSecrets : []
21+
22+ serviceAccount :
23+ create : true
24+ annotations : {}
25+ # The name of the service account to use.
26+ # If not set and create is true, a name is generated using the fullname template
27+ name : " "
28+
1729clusterMetadata :
1830 uid : tbd
1931 name : tbd
@@ -144,3 +156,15 @@ vaultServer:
144156 name : " vault"
145157 # Vault server namespace that exist on cluster
146158 namespace : " ace"
159+
160+ kubectl :
161+ registry : appscode
162+ repository : kubectl-nonroot
163+ tag : " 1.34"
164+ pullPolicy : IfNotPresent
165+
166+ # Pre-delete hook that strips the GatewayClass finalizer so the chart uninstalls cleanly.
167+ # Disabled by default. Enable when the envoy-gateway controller is deployed as a sub-chart
168+ # and shuts down before it can remove the finalizer.
169+ cleaner :
170+ enabled : false
You can’t perform that action at this time.
0 commit comments