1- {{- if not .Values.useDefaultServiceAccount }}
1+ {{- if and (not .Values.useDefaultServiceAccount) .Values.rbac.create }}
2+ {{- if .Values.rbac.readOnly }}
23apiVersion : rbac.authorization.k8s.io/v1
34kind : ClusterRole
45metadata :
5- name : {{ include "kagent.fullname" . }}-cluster-admin -role
6+ name : {{ include "kagent.fullname" . }}-read -role
67 labels :
78 {{- include "kagent.labels" . | nindent 4 }}
89rules :
9- - apiGroups : ["*"]
10- resources : ["*"]
11- verbs : ["*"]
12- - nonResourceURLs : ["*"]
13- verbs : ["*"]
14- ---
10+ # Core workload resources
11+ - apiGroups : [""]
12+ resources :
13+ - pods
14+ - services
15+ - endpoints
16+ - configmaps
17+ - serviceaccounts
18+ - persistentvolumeclaims
19+ - replicationcontrollers
20+ - namespaces
21+ verbs : ["get", "list", "watch"]
22+
23+ # Pod logs (subresource)
24+ - apiGroups : [""]
25+ resources :
26+ - pods/log
27+ verbs : ["get", "list"]
28+
29+ # Events
30+ - apiGroups : [""]
31+ resources :
32+ - events
33+ verbs : ["get", "list", "watch"]
34+ - apiGroups : ["events.k8s.io"]
35+ resources :
36+ - events
37+ verbs : ["get", "list", "watch"]
38+
39+ # Apps workloads
40+ - apiGroups : ["apps"]
41+ resources :
42+ - deployments
43+ - statefulsets
44+ - daemonsets
45+ - replicasets
46+ verbs : ["get", "list", "watch"]
47+
48+ # Batch workloads
49+ - apiGroups : ["batch"]
50+ resources :
51+ - jobs
52+ - cronjobs
53+ verbs : ["get", "list", "watch"]
1554
55+ # Networking
56+ - apiGroups : ["networking.k8s.io"]
57+ resources :
58+ - ingresses
59+ - networkpolicies
60+ verbs : ["get", "list", "watch"]
61+
62+ # Autoscaling
63+ - apiGroups : ["autoscaling"]
64+ resources :
65+ - horizontalpodautoscalers
66+ verbs : ["get", "list", "watch"]
67+
68+ {{- if .Values.rbac.allowSecrets }}
69+ # Secrets (opt-in)
70+ - apiGroups : [""]
71+ resources :
72+ - secrets
73+ verbs : ["get", "list", "watch"]
74+ {{- end }}
75+
76+ {{- with .Values.rbac.additionalRules }}
77+ # Additional user-defined rules
78+ {{- toYaml . | nindent 2 }}
79+ {{- end }}
80+
81+ {{- else }}
1682apiVersion : rbac.authorization.k8s.io/v1
1783kind : ClusterRole
1884metadata :
19- name : {{ include "kagent.fullname" . }}-read -role
85+ name : {{ include "kagent.fullname" . }}-cluster-admin -role
2086 labels :
2187 {{- include "kagent.labels" . | nindent 4 }}
2288rules :
23- - apiGroups : ["*"]
24- resources : ["*"]
25- verbs : ["*"]
26- - nonResourceURLs : ["*"]
27- verbs :
28- - get
29- - list
30- - watch
31- {{- end }}
89+ - apiGroups : ["*"]
90+ resources : ["*"]
91+ verbs : ["*"]
92+ - nonResourceURLs : ["*"]
93+ verbs : ["*"]
94+ {{- end }}
95+ {{- end }}
0 commit comments