Skip to content

Commit d7ca2ab

Browse files
committed
chore: Describe RBAC rules, remove unnecessary rules
1 parent cab1835 commit d7ca2ab

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

deploy/helm/commons-operator/templates/roles.yaml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,52 @@ metadata:
66
labels:
77
{{- include "operator.labels" . | nindent 4 }}
88
rules:
9+
# Watch pods to detect expiry annotations and evict them (pod restart controller).
10+
# Watch configmaps and secrets (metadata only) to detect changes that should trigger a
11+
# rolling restart of referencing StatefulSets (StatefulSet restart controller).
12+
# list + watch are sufficient; no individual get calls are made (Controller and
13+
# metadata_watcher use list + watch internally).
914
- apiGroups:
1015
- ""
1116
resources:
1217
- pods
1318
- configmaps
1419
- secrets
15-
- nodes
1620
verbs:
17-
- get
1821
- list
1922
- watch
20-
# For automatic cluster domain detection
23+
# For automatic cluster domain detection: proxy to the kubelet configz endpoint on the
24+
# operator's own node (name supplied via the downward API) to read the clusterDomain
25+
# setting. Only a direct GET on the named node's proxy subresource is needed - no
26+
# list or watch of nodes is required.
2127
- apiGroups:
2228
- ""
2329
resources:
2430
- nodes/proxy
2531
verbs:
2632
- get
33+
# Watch StatefulSets labelled restarter.stackable.tech/enabled=true (list + watch) and
34+
# patch their pod template annotations via Server-Side Apply to trigger rolling restarts
35+
# when referenced ConfigMaps or Secrets change (patch). No get needed: SSA does not
36+
# require a preceding get, and the reflector/watcher covers list + watch.
2737
- apiGroups:
2838
- apps
2939
resources:
3040
- statefulsets
3141
verbs:
32-
- get
3342
- list
3443
- watch
35-
- patch # We need to add a label to the StatefulSet
44+
- patch
45+
# Emit Kubernetes events from both the StatefulSet and Pod restart controllers.
3646
- apiGroups:
3747
- events.k8s.io
3848
resources:
3949
- events
4050
verbs:
4151
- create
4252
- patch
53+
# Evict pods whose restarter.stackable.tech/expires-at.* annotation timestamp has been
54+
# reached (pod restart controller). Eviction is a create on the pods/eviction subresource.
4355
- apiGroups:
4456
- ""
4557
resources:

0 commit comments

Comments
 (0)