Skip to content

Commit 117dd83

Browse files
authored
generate rbac for operator running in different namespace (#2221)
1 parent eee4720 commit 117dd83

File tree

1 file changed

+43
-2
lines changed
  • deploy/helm/grafana-operator/templates

1 file changed

+43
-2
lines changed

deploy/helm/grafana-operator/templates/rbac.yaml

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{{- if .Values.rbac.create -}}
22
{{ $rbac := .Files.Get "files/rbac.yaml" | fromYaml }}
33
{{ $rbacOpenShift := .Files.Get "files/rbac-openshift.yaml" | fromYaml }}
4-
{{- $watchNamespaces := coalesce .Values.watchNamespaces .Values.namespaceOverride .Release.Namespace }}
4+
{{- $watchNamespaces := coalesce .Values.watchNamespaces .Values.namespaceOverride .Release.Namespace | splitList "," }}
55
{{- $namespaceScoped := false }}
66
{{- $isOpenShift := false }}
77
{{- if or (.Values.namespaceScope) (.Values.watchNamespaces) }}
@@ -11,7 +11,7 @@
1111
{{- $isOpenShift = true }}
1212
{{- end }}
1313
{{- $operatorNamespace := .Release.Namespace }}
14-
{{- range ( split "," $watchNamespaces ) }}
14+
{{- range $watchNamespaces }}
1515
---
1616
apiVersion: rbac.authorization.k8s.io/v1
1717
kind: {{ if not $namespaceScoped }}Cluster{{ end }}Role
@@ -48,4 +48,45 @@ roleRef:
4848
name: {{ include "grafana-operator.fullname" $ }}
4949
apiGroup: rbac.authorization.k8s.io
5050
{{- end }}
51+
{{- if and $namespaceScoped (not (has .Release.Namespace $watchNamespaces)) }}
52+
---
53+
apiVersion: rbac.authorization.k8s.io/v1
54+
kind: Role
55+
metadata:
56+
namespace: {{ .Release.Namespace }}
57+
name: {{ include "grafana-operator.fullname" $ }}
58+
labels:
59+
{{- include "grafana-operator.labels" $ | nindent 4 }}
60+
app.kubernetes.io/component: operator
61+
rules:
62+
- apiGroups:
63+
- coordination.k8s.io
64+
resources:
65+
- leases
66+
verbs:
67+
- get
68+
- list
69+
- watch
70+
- create
71+
- update
72+
- patch
73+
- delete
74+
---
75+
apiVersion: rbac.authorization.k8s.io/v1
76+
kind: RoleBinding
77+
metadata:
78+
name: {{ include "grafana-operator.fullname" $ }}
79+
namespace: {{ .Release.Namespace }}
80+
labels:
81+
{{- include "grafana-operator.labels" $ | nindent 4 }}
82+
app.kubernetes.io/component: operator
83+
subjects:
84+
- kind: ServiceAccount
85+
name: {{ include "grafana-operator.serviceAccountName" $ }}
86+
namespace: {{ include "grafana-operator.namespace" $ }}
87+
roleRef:
88+
kind: Role
89+
name: {{ include "grafana-operator.fullname" $ }}
90+
apiGroup: rbac.authorization.k8s.io
91+
{{- end }}
5192
{{- end }}

0 commit comments

Comments
 (0)