Skip to content

Commit 67af8cc

Browse files
committed
Add cluster-wide list and watch permission
Signed-off-by: chiragkyal <ckyal@redhat.com>
1 parent 23fa025 commit 67af8cc

3 files changed

Lines changed: 64 additions & 27 deletions

File tree

bundle/manifests/external-secrets-operator.clusterserviceversion.yaml

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ metadata:
205205
categories: Security
206206
console.openshift.io/disable-operand-delete: "true"
207207
containerImage: openshift.io/external-secrets-operator:latest
208-
createdAt: "2025-08-07T12:09:43Z"
208+
createdAt: "2025-08-19T10:29:10Z"
209209
features.operators.openshift.io/cnf: "false"
210210
features.operators.openshift.io/cni: "false"
211211
features.operators.openshift.io/csi: "false"
@@ -376,6 +376,13 @@ spec:
376376
- serviceaccounts/token
377377
verbs:
378378
- create
379+
- apiGroups:
380+
- admissionregistration.k8s.io
381+
resources:
382+
- validatingwebhookconfigurations
383+
verbs:
384+
- list
385+
- watch
379386
- apiGroups:
380387
- admissionregistration.k8s.io
381388
resourceNames:
@@ -386,9 +393,14 @@ spec:
386393
verbs:
387394
- create
388395
- get
389-
- list
390396
- patch
391397
- update
398+
- apiGroups:
399+
- apiextensions.k8s.io
400+
resources:
401+
- customresourcedefinitions
402+
verbs:
403+
- list
392404
- watch
393405
- apiGroups:
394406
- apiextensions.k8s.io
@@ -419,9 +431,14 @@ spec:
419431
- create
420432
- delete
421433
- get
422-
- list
423434
- patch
424435
- update
436+
- apiGroups:
437+
- apps
438+
resources:
439+
- deployments
440+
verbs:
441+
- list
425442
- watch
426443
- apiGroups:
427444
- apps
@@ -435,14 +452,9 @@ spec:
435452
verbs:
436453
- create
437454
- get
438-
- list
439455
- update
440-
- watch
441456
- apiGroups:
442457
- cert-manager.io
443-
resourceNames:
444-
- bitwarden-tls-certs
445-
- external-secrets-webhook
446458
resources:
447459
- certificates
448460
- clusterissuers
@@ -579,9 +591,15 @@ spec:
579591
- create
580592
- delete
581593
- get
582-
- list
583594
- patch
584595
- update
596+
- apiGroups:
597+
- rbac.authorization.k8s.io
598+
resources:
599+
- clusterrolebindings
600+
- clusterroles
601+
verbs:
602+
- list
585603
- watch
586604
- apiGroups:
587605
- rbac.authorization.k8s.io
@@ -597,10 +615,8 @@ spec:
597615
- create
598616
- delete
599617
- get
600-
- list
601618
- patch
602619
- update
603-
- watch
604620
- apiGroups:
605621
- rbac.authorization.k8s.io
606622
resources:

config/rbac/role.yaml

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,13 @@ rules:
3636
- serviceaccounts/token
3737
verbs:
3838
- create
39+
- apiGroups:
40+
- admissionregistration.k8s.io
41+
resources:
42+
- validatingwebhookconfigurations
43+
verbs:
44+
- list
45+
- watch
3946
- apiGroups:
4047
- admissionregistration.k8s.io
4148
resourceNames:
@@ -46,9 +53,14 @@ rules:
4653
verbs:
4754
- create
4855
- get
49-
- list
5056
- patch
5157
- update
58+
- apiGroups:
59+
- apiextensions.k8s.io
60+
resources:
61+
- customresourcedefinitions
62+
verbs:
63+
- list
5264
- watch
5365
- apiGroups:
5466
- apiextensions.k8s.io
@@ -79,9 +91,14 @@ rules:
7991
- create
8092
- delete
8193
- get
82-
- list
8394
- patch
8495
- update
96+
- apiGroups:
97+
- apps
98+
resources:
99+
- deployments
100+
verbs:
101+
- list
85102
- watch
86103
- apiGroups:
87104
- apps
@@ -95,14 +112,9 @@ rules:
95112
verbs:
96113
- create
97114
- get
98-
- list
99115
- update
100-
- watch
101116
- apiGroups:
102117
- cert-manager.io
103-
resourceNames:
104-
- bitwarden-tls-certs
105-
- external-secrets-webhook
106118
resources:
107119
- certificates
108120
- clusterissuers
@@ -239,9 +251,15 @@ rules:
239251
- create
240252
- delete
241253
- get
242-
- list
243254
- patch
244255
- update
256+
- apiGroups:
257+
- rbac.authorization.k8s.io
258+
resources:
259+
- clusterrolebindings
260+
- clusterroles
261+
verbs:
262+
- list
245263
- watch
246264
- apiGroups:
247265
- rbac.authorization.k8s.io
@@ -257,10 +275,8 @@ rules:
257275
- create
258276
- delete
259277
- get
260-
- list
261278
- patch
262279
- update
263-
- watch
264280
- apiGroups:
265281
- rbac.authorization.k8s.io
266282
resources:

pkg/controller/external_secrets/controller.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,19 +96,24 @@ type Reconciler struct {
9696
// +kubebuilder:rbac:groups=operator.openshift.io,resources=externalsecrets/finalizers,verbs=update
9797
// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;watch;create;update;patch
9898

99-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles,verbs=get;list;watch;create;update;patch;delete,resourceNames=external-secrets-controller;external-secrets-cert-controller;external-secrets-edit;external-secrets-view;external-secrets-servicebindings
100-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterrolebindings,verbs=get;list;watch;create;update;patch;delete,resourceNames=external-secrets-controller;external-secrets-cert-controller
99+
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles,verbs=list;watch
100+
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles,verbs=get;create;update;patch;delete,resourceNames=external-secrets-controller;external-secrets-cert-controller;external-secrets-edit;external-secrets-view;external-secrets-servicebindings
101+
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterrolebindings,verbs=list;watch
102+
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterrolebindings,verbs=get;create;update;patch;delete,resourceNames=external-secrets-controller;external-secrets-cert-controller
101103
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles;rolebindings,verbs=get;list;watch;create;update;patch;delete
102-
// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=get;list;watch;create;update;patch,resourceNames=externalsecret-validate;secretstore-validate
104+
// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=list;watch
105+
// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=get;create;update;patch,resourceNames=externalsecret-validate;secretstore-validate
103106
// +kubebuilder:rbac:groups="",resources=events;secrets;services;serviceaccounts,verbs=get;list;watch;create;update;delete;patch
104-
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update,resourceNames=external-secrets;external-secrets-cert-controller;external-secrets-webhook;bitwarden-sdk-server
105-
// +kubebuilder:rbac:groups=cert-manager.io,resources=certificates;clusterissuers;issuers,verbs=get;list;watch;create;update,resourceNames=external-secrets-webhook;bitwarden-tls-certs
107+
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=list;watch
108+
// +kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;create;update,resourceNames=external-secrets;external-secrets-cert-controller;external-secrets-webhook;bitwarden-sdk-server
109+
// +kubebuilder:rbac:groups=cert-manager.io,resources=certificates;clusterissuers;issuers,verbs=get;list;watch;create;update
106110
// +kubebuilder:rbac:groups="",resources=namespaces,verbs=get;list;watch;create
107111

108112
// +kubebuilder:rbac:groups="",resources=endpoints,verbs=get;list;watch;create
109113
// +kubebuilder:rbac:groups="",resources=serviceaccounts/token,verbs=create
110114
// +kubebuilder:rbac:groups="",resources=configmaps,verbs=get;list;watch;create;update;patch;delete
111-
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;list;watch;create;update;patch;delete,resourceNames=externalsecrets.external-secrets.io;secretstores.external-secrets.io;clustersecretstores.external-secrets.io;clusterexternalsecrets.external-secrets.io;pushsecrets.external-secrets.io;acraccesstokens.generators.external-secrets.io;clustergenerators.generators.external-secrets.io;ecrauthorizationtokens.generators.external-secrets.io;gcraccesstokens.generators.external-secrets.io;generatorstates.generators.external-secrets.io;githubaccesstokens.generators.external-secrets.io;grafanas.generators.external-secrets.io;passwords.generators.external-secrets.io;quayaccesstokens.generators.external-secrets.io;stssessiontokens.generators.external-secrets.io;uuids.generators.external-secrets.io;vaultdynamicsecrets.generators.external-secrets.io;webhooks.generators.external-secrets.io;externalsecrets.operator.openshift.io;externalsecretsmanagers.operator.openshift.io
115+
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=list;watch
116+
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;create;update;patch;delete,resourceNames=externalsecrets.external-secrets.io;secretstores.external-secrets.io;clustersecretstores.external-secrets.io;clusterexternalsecrets.external-secrets.io;pushsecrets.external-secrets.io;acraccesstokens.generators.external-secrets.io;clustergenerators.generators.external-secrets.io;ecrauthorizationtokens.generators.external-secrets.io;gcraccesstokens.generators.external-secrets.io;generatorstates.generators.external-secrets.io;githubaccesstokens.generators.external-secrets.io;grafanas.generators.external-secrets.io;passwords.generators.external-secrets.io;quayaccesstokens.generators.external-secrets.io;stssessiontokens.generators.external-secrets.io;uuids.generators.external-secrets.io;vaultdynamicsecrets.generators.external-secrets.io;webhooks.generators.external-secrets.io;externalsecrets.operator.openshift.io;externalsecretsmanagers.operator.openshift.io
112117
// +kubebuilder:rbac:groups=external-secrets.io,resources=clusterexternalsecrets;clustersecretstores;externalsecrets;pushsecrets;secretstores,verbs=get;list;watch;create;update;patch;delete;deletecollection
113118
// +kubebuilder:rbac:groups=external-secrets.io,resources=clusterexternalsecrets/finalizers;clustersecretstores/finalizers;externalsecrets/finalizers;pushsecrets/finalizers;secretstores/finalizers,verbs=get;update;patch
114119
// +kubebuilder:rbac:groups=external-secrets.io,resources=clusterexternalsecrets/status;clustersecretstores/status;externalsecrets/status;pushsecrets/status;secretstores/status,verbs=get;update;patch

0 commit comments

Comments
 (0)