Skip to content

Commit 9ad6c67

Browse files
committed
allow cluster agent to access FluxCD resources
1 parent fe66505 commit 9ad6c67

3 files changed

Lines changed: 33 additions & 0 deletions

File tree

config/rbac/role.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ rules:
2626
- patch
2727
- update
2828
- watch
29+
- apiGroups:
30+
- apiextensions.k8s.io
31+
resources:
32+
- customresourcedefinitions
33+
verbs:
34+
- get
35+
- list
36+
- watch
2937
- apiGroups:
3038
- apps
3139
resources:
@@ -81,6 +89,19 @@ rules:
8189
- get
8290
- patch
8391
- update
92+
- apiGroups:
93+
- fluxcd.controlplane.io
94+
- helm.toolkit.fluxcd.io
95+
- image.toolkit.fluxcd.io
96+
- kustomize.toolkit.fluxcd.io
97+
- notification.toolkit.fluxcd.io
98+
- source.toolkit.fluxcd.io
99+
resources:
100+
- '*'
101+
verbs:
102+
- get
103+
- list
104+
- watch
84105
- apiGroups:
85106
- networking.k8s.io
86107
resources:

controller/cluster_agent.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,16 @@ func (r *CorootReconciler) clusterAgentClusterRole(cr *corootv1.Coroot) *rbacv1.
6161
Resources: []string{"storageclasses", "volumeattachments"},
6262
Verbs: verbs,
6363
},
64+
{
65+
APIGroups: []string{"apiextensions.k8s.io"},
66+
Resources: []string{"customresourcedefinitions"},
67+
Verbs: verbs,
68+
},
69+
{
70+
APIGroups: []string{"source.toolkit.fluxcd.io", "kustomize.toolkit.fluxcd.io", "helm.toolkit.fluxcd.io", "notification.toolkit.fluxcd.io", "image.toolkit.fluxcd.io", "fluxcd.controlplane.io"},
71+
Resources: []string{"*"},
72+
Verbs: verbs,
73+
},
6474
},
6575
}
6676
return role

controller/controller.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ func NewCorootReconciler(mgr ctrl.Manager) *CorootReconciler {
7676
// +kubebuilder:rbac:groups=networking.k8s.io,resources=ingresses,verbs=get;list;watch;create;update;patch;delete
7777
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles;clusterrolebindings;roles;rolebindings,verbs=get;list;watch;create;update;patch;delete
7878
// +kubebuilder:rbac:groups=security.openshift.io,resources=securitycontextconstraints,verbs=use
79+
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;list;watch
80+
// +kubebuilder:rbac:groups=source.toolkit.fluxcd.io;kustomize.toolkit.fluxcd.io;helm.toolkit.fluxcd.io;notification.toolkit.fluxcd.io;image.toolkit.fluxcd.io;fluxcd.controlplane.io,resources=*,verbs=get;list;watch
7981

8082
func (r *CorootReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
8183
logger := ctrl.Log.WithValues("namespace", req.Namespace, "name", req.Name)

0 commit comments

Comments
 (0)