Skip to content

Commit 00bb8e2

Browse files
committed
feat: add clusterrole/binding support in the chart
1 parent 6393c6e commit 00bb8e2

File tree

4 files changed

+73
-0
lines changed

4 files changed

+73
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ helm delete --namespace test my-application
219219
| rbac.serviceAccount.additionalLabels | object | `nil` | Additional labels for Service Account. |
220220
| rbac.serviceAccount.annotations | object | `nil` | Annotations for Service Account. |
221221
| rbac.roles | list | `nil` | Namespaced Roles. |
222+
| rbac.clusterRoles | list | `nil` | ClusterRoles (Clusterwide) |
222223

223224
### ConfigMap Parameters
224225

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{{- if and .Values.rbac.enabled .Values.rbac.clusterRoles }}
2+
{{- range .Values.rbac.clusterRoles }}
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
kind: ClusterRole
5+
metadata:
6+
labels:
7+
{{- include "application.labels" $ | nindent 4 }}
8+
{{- if $.Values.rbac.additionalLabels }}
9+
{{ toYaml $.Values.rbac.additionalLabels | indent 4 }}
10+
{{- end }}
11+
{{- if $.Values.rbac.annotations }}
12+
annotations:
13+
{{ toYaml $.Values.rbac.annotations | indent 4 }}
14+
{{- end }}
15+
name: {{ template "application.name" $ }}-clusterrole-{{ .name }}
16+
rules:
17+
{{ toYaml .rules | indent 2 }}
18+
---
19+
{{- end }}
20+
{{- end }}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{{- if and .Values.rbac.enabled .Values.rbac.clusterRoles }}
2+
{{- range .Values.rbac.clusterRoles }}
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
kind: ClusterRoleBinding
5+
metadata:
6+
labels:
7+
{{- include "application.labels" $ | nindent 4 }}
8+
{{- if $.Values.rbac.additionalLabels }}
9+
{{ toYaml $.Values.rbac.additionalLabels | indent 4 }}
10+
{{- end }}
11+
{{- if $.Values.rbac.annotations }}
12+
annotations:
13+
{{ toYaml $.Values.rbac.annotations | indent 4 }}
14+
{{- end }}
15+
name: {{ template "application.name" $ }}-clusterrolebinding-{{ .name }}
16+
roleRef:
17+
apiGroup: rbac.authorization.k8s.io
18+
kind: ClusterRole
19+
name: {{ template "application.name" $ }}-clusterrole-{{ .name }}
20+
subjects:
21+
- kind: ServiceAccount
22+
{{- if $.Values.rbac.serviceAccount.name }}
23+
name: {{ $.Values.rbac.serviceAccount.name }}
24+
{{- else }}
25+
name: {{ template "application.name" $ }}
26+
{{- end }}
27+
namespace: {{ $.Release.Namespace }}
28+
---
29+
{{- end }}
30+
{{- end }}

application/values.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,28 @@ rbac:
719719
# verbs:
720720
# - get
721721

722+
# -- (list) ClusterRoles (Clusterwide)
723+
# @section -- RBAC Parameters
724+
clusterRoles:
725+
# - name: configmaps
726+
# rules:
727+
# - apiGroups:
728+
# - ""
729+
# resources:
730+
# - configmaps
731+
# verbs:
732+
# - get
733+
# - name: pods
734+
# rules:
735+
# - apiGroups:
736+
# - ""
737+
# resources:
738+
# - pods
739+
# verbs:
740+
# - get
741+
# - list
742+
# - watch
743+
722744
configMap:
723745
# -- (bool) Deploy additional ConfigMaps.
724746
# @section -- ConfigMap Parameters

0 commit comments

Comments
 (0)