diff --git a/ops/chart/templates/manager-rbac.yaml b/ops/chart/templates/manager-rbac.yaml index b14353d..28c3c3b 100644 --- a/ops/chart/templates/manager-rbac.yaml +++ b/ops/chart/templates/manager-rbac.yaml @@ -5,6 +5,159 @@ metadata: labels: {{- include "zitadel-k8s-operator.labels" . | nindent 4 }} rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - endpoints + verbs: + - create + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - endpoints/restricted + verbs: + - create + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - list + - patch + - watch +- apiGroups: + - "" + resources: + - pods + verbs: + - delete + - get +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - list + - patch + - watch +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - list + - patch + - watch +- apiGroups: + - "" + resources: + - services + verbs: + - create + - list + - patch + - watch +- apiGroups: + - apps + resources: + - deployments + verbs: + - create + - list + - patch + - watch +- apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests + verbs: + - create + - delete + - get + - list + - patch + - watch +- apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests/approval + verbs: + - update +- apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests/status + verbs: + - get + - patch + - update +- apiGroups: + - crdb.cockroachlabs.com + resources: + - crdbclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - crdb.cockroachlabs.com + resources: + - crdbclusters/finalizers + verbs: + - update +- apiGroups: + - crdb.cockroachlabs.com + resources: + - crdbclusters/status + verbs: + - get + - patch + - update +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - create + - list + - patch + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - rolebindings + - roles + verbs: + - create + - list + - patch + - watch - apiGroups: - zitadel.topmanage.com resources: @@ -83,6 +236,32 @@ rules: - get - patch - update +- apiGroups: + - zitadel.topmanage.com + resources: + - zitadelclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - zitadel.topmanage.com + resources: + - zitadelclusters/finalizers + verbs: + - update +- apiGroups: + - zitadel.topmanage.com + resources: + - zitadelclusters/status + verbs: + - get + - patch + - update --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding diff --git a/src/config/rbac/role.yaml b/src/config/rbac/role.yaml index 7588481..7bfcb9c 100644 --- a/src/config/rbac/role.yaml +++ b/src/config/rbac/role.yaml @@ -5,6 +5,159 @@ metadata: creationTimestamp: null name: manager-role rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - endpoints + verbs: + - create + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - endpoints/restricted + verbs: + - create + - get + - list + - patch + - watch +- apiGroups: + - "" + resources: + - events + verbs: + - create + - list + - patch + - watch +- apiGroups: + - "" + resources: + - pods + verbs: + - delete + - get +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - list + - patch + - watch +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - list + - patch + - watch +- apiGroups: + - "" + resources: + - services + verbs: + - create + - list + - patch + - watch +- apiGroups: + - apps + resources: + - deployments + verbs: + - create + - list + - patch + - watch +- apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests + verbs: + - create + - delete + - get + - list + - patch + - watch +- apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests/approval + verbs: + - update +- apiGroups: + - certificates.k8s.io + resources: + - certificatesigningrequests/status + verbs: + - get + - patch + - update +- apiGroups: + - crdb.cockroachlabs.com + resources: + - crdbclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - crdb.cockroachlabs.com + resources: + - crdbclusters/finalizers + verbs: + - update +- apiGroups: + - crdb.cockroachlabs.com + resources: + - crdbclusters/status + verbs: + - get + - patch + - update +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - create + - list + - patch + - watch +- apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + - rolebindings + - roles + verbs: + - create + - list + - patch + - watch - apiGroups: - zitadel.topmanage.com resources: @@ -83,3 +236,29 @@ rules: - get - patch - update +- apiGroups: + - zitadel.topmanage.com + resources: + - zitadelclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - zitadel.topmanage.com + resources: + - zitadelclusters/finalizers + verbs: + - update +- apiGroups: + - zitadel.topmanage.com + resources: + - zitadelclusters/status + verbs: + - get + - patch + - update diff --git a/src/internal/controller/zitadelcluster_controller.go b/src/internal/controller/zitadelcluster_controller.go index 0740f59..74b8937 100644 --- a/src/internal/controller/zitadelcluster_controller.go +++ b/src/internal/controller/zitadelcluster_controller.go @@ -95,6 +95,7 @@ type ZitadelClusterReconciler struct { // +kubebuilder:rbac:groups=certificates.k8s.io,resources=certificatesigningrequests,verbs=get;list;watch;create;patch;delete // +kubebuilder:rbac:groups=certificates.k8s.io,resources=certificatesigningrequests/status,verbs=get;update;patch // +kubebuilder:rbac:groups=certificates.k8s.io,resources=certificatesigningrequests/approval,verbs=update + func (r *ZitadelClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { logger := log.FromContext(ctx) logger.Info("Starting Reconcile")