diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 89c0a055..26e8c2c1 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -9,6 +9,7 @@ rules: resources: - configmaps - persistentvolumeclaims + - pods - secrets - services verbs: @@ -22,10 +23,11 @@ rules: - apiGroups: - "" resources: - - pods + - namespaces verbs: + - create - get - - list + - patch - apiGroups: - "" resources: diff --git a/internal/controller/ironicconductor_controller.go b/internal/controller/ironicconductor_controller.go index 324f2bae..e36d845e 100644 --- a/internal/controller/ironicconductor_controller.go +++ b/internal/controller/ironicconductor_controller.go @@ -86,7 +86,7 @@ func (r *IronicConductorReconciler) GetLogger(ctx context.Context) logr.Logger { // +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;create;update;delete;patch // +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;create;update;patch;delete;watch // +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;create;update;patch;delete;watch -// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list +// +kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch;create;update;patch;delete // +kubebuilder:rbac:groups=operator.openshift.io,resources=ingresscontrollers,verbs=get;list // +kubebuilder:rbac:groups=k8s.cni.cncf.io,resources=network-attachment-definitions,verbs=get;list;watch // +kubebuilder:rbac:groups=route.openshift.io,resources=routes,verbs=get;list;watch;create;update;patch;delete @@ -98,6 +98,8 @@ func (r *IronicConductorReconciler) GetLogger(ctx context.Context) logr.Logger { // service account permissions that are needed to grant permission to the above // +kubebuilder:rbac:groups="security.openshift.io",resourceNames=anyuid;privileged;nonroot-v2,resources=securitycontextconstraints,verbs=use // +kubebuilder:rbac:groups=topology.openstack.org,resources=topologies,verbs=get;list;watch;update +// rbac for creating the namespace that the graphical console pods will run in +// +kubebuilder:rbac:groups=core,resources=namespaces,verbs=create;get;patch // Reconcile - func (r *IronicConductorReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error) {