11{{- if .RBAC -}}
2+ # # Cluster role granting access to ArangoDeployment resources.
23apiVersion : rbac.authorization.k8s.io/v1beta1
34kind : ClusterRole
45metadata :
5- name : {{ .Deployment.ClusterRoleName }}
6+ name : {{ .Deployment.User.RoleName }}
67rules :
7- - apiGroups :
8- - database.arangodb.com
9- resources :
10- - arangodeployments
11- verbs :
12- - " *"
13- - apiGroups :
14- - apiextensions.k8s.io
15- resources :
16- - customresourcedefinitions
17- verbs :
18- - get
19- - apiGroups :
20- - " "
21- resources :
22- - pods
23- - services
24- - endpoints
25- - persistentvolumeclaims
26- - events
27- - secrets
28- verbs :
29- - " *"
30- - apiGroups :
31- - apps
32- resources :
33- - deployments
34- verbs :
35- - " *"
36- - apiGroups :
37- - storage.k8s.io
38- resources :
39- - storageclasses
40- verbs :
41- - get
42- - list
8+ - apiGroups : ["database.arangodb.com"]
9+ resources : ["arangodeployments"]
10+ verbs : ["*"]
4311
4412---
4513
14+ # # Cluster role granting access to all resources needed by the ArangoDeployment operator.
15+ apiVersion : rbac.authorization.k8s.io/v1beta1
16+ kind : ClusterRole
17+ metadata :
18+ name : {{ .Deployment.Operator.RoleName }}
19+ rules :
20+ - apiGroups : ["database.arangodb.com"]
21+ resources : ["arangodeployments"]
22+ verbs : ["*"]
23+ - apiGroups : ["apiextensions.k8s.io"]
24+ resources : ["customresourcedefinitions"]
25+ verbs : ["get"]
26+ - apiGroups : [""]
27+ resources : ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets"]
28+ verbs : ["*"]
29+ - apiGroups : ["apps"]
30+ resources : ["deployments"]
31+ verbs : ["*"]
32+ - apiGroups : ["storage.k8s.io"]
33+ resources : ["storageclasses"]
34+ verbs : ["get", "list"]
35+
36+ ---
37+
38+ # # Bind the cluster role granting access to ArangoLocalStorage resources
39+ # # to the default service account of the configured namespace.
40+ apiVersion : rbac.authorization.k8s.io/v1beta1
41+ kind : RoleBinding
42+ metadata :
43+ name : {{ .Deployment.User.RoleBindingName }}
44+ namespace : {{ .Deployment.User.Namespace }}
45+ roleRef :
46+ apiGroup : rbac.authorization.k8s.io
47+ kind : ClusterRole
48+ name : {{ .Deployment.User.RoleName }}
49+ subjects :
50+ - kind : ServiceAccount
51+ name : {{ .Deployment.User.ServiceAccountName }}
52+ namespace : {{ .Deployment.User.Namespace }}
53+
54+ ---
55+
56+ # # Bind the cluster role granting access to all resources needed by
57+ # # the ArangoDeployment operator to the default service account
58+ # # the is being used to run the operator deployment.
4659apiVersion : rbac.authorization.k8s.io/v1beta1
4760kind : ClusterRoleBinding
4861metadata :
49- name : {{ .Deployment.ClusterRoleBindingName }}
62+ name : {{ .Deployment.Operator.RoleBindingName }}-{{ .Deployment.Operator.Namespace }}
5063roleRef :
5164 apiGroup : rbac.authorization.k8s.io
5265 kind : ClusterRole
53- name : {{ .Deployment.ClusterRoleName }}
66+ name : {{ .Deployment.Operator.RoleName }}
5467subjects :
5568- kind : ServiceAccount
56- name : default
57- namespace : {{ .Deployment.Namespace }}
69+ name : {{ .Deployment.Operator.ServiceAccountName }}
70+ namespace : {{ .Deployment.Operator. Namespace }}
5871
5972{{- end -}}
0 commit comments