diff --git a/pkg/plugin/v3/scaffolds/internal/templates/config/controller/controller.go b/pkg/plugin/v3/scaffolds/internal/templates/config/controller/controller.go index 7b46e5d7ce0..ae39477af9d 100644 --- a/pkg/plugin/v3/scaffolds/internal/templates/config/controller/controller.go +++ b/pkg/plugin/v3/scaffolds/internal/templates/config/controller/controller.go @@ -74,7 +74,7 @@ type {{ .Resource.Kind }}Reconciler struct { } // +kubebuilder:rbac:groups={{ .Resource.Domain }},resources={{ .Resource.Plural }},verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups={{ .Resource.Domain }},resources={{ .Resource.Plural }}/status,verbs=get;update;patch +// +kubebuilder:rbac:groups={{ .Resource.Domain }},resources={{ .Resource.Plural }}/status;{{ .Resource.Plural }}/finalizers,verbs=get;update;patch func (r *{{ .Resource.Kind }}Reconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3-multigroup/config/rbac/role.yaml b/testdata/project-v3-multigroup/config/rbac/role.yaml index d1cb5d78124..f6b3b6606f9 100644 --- a/testdata/project-v3-multigroup/config/rbac/role.yaml +++ b/testdata/project-v3-multigroup/config/rbac/role.yaml @@ -21,6 +21,7 @@ rules: - apiGroups: - crew.testproject.org resources: + - captains/finalizers - captains/status verbs: - get @@ -41,6 +42,7 @@ rules: - apiGroups: - foo.policy.testproject.org resources: + - healthcheckpolicies/finalizers - healthcheckpolicies/status verbs: - get @@ -61,6 +63,7 @@ rules: - apiGroups: - sea-creatures.testproject.org resources: + - krakens/finalizers - krakens/status verbs: - get @@ -81,6 +84,7 @@ rules: - apiGroups: - sea-creatures.testproject.org resources: + - leviathans/finalizers - leviathans/status verbs: - get @@ -101,6 +105,7 @@ rules: - apiGroups: - ship.testproject.org resources: + - cruisers/finalizers - cruisers/status verbs: - get @@ -121,6 +126,7 @@ rules: - apiGroups: - ship.testproject.org resources: + - destroyers/finalizers - destroyers/status verbs: - get @@ -141,6 +147,7 @@ rules: - apiGroups: - ship.testproject.org resources: + - frigates/finalizers - frigates/status verbs: - get diff --git a/testdata/project-v3-multigroup/controllers/crew/captain_controller.go b/testdata/project-v3-multigroup/controllers/crew/captain_controller.go index 4ece0a54d13..d36fd61d7f9 100644 --- a/testdata/project-v3-multigroup/controllers/crew/captain_controller.go +++ b/testdata/project-v3-multigroup/controllers/crew/captain_controller.go @@ -35,7 +35,7 @@ type CaptainReconciler struct { } // +kubebuilder:rbac:groups=crew.testproject.org,resources=captains,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=crew.testproject.org,resources=captains/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=crew.testproject.org,resources=captains/status;captains/finalizers,verbs=get;update;patch func (r *CaptainReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3-multigroup/controllers/foo.policy/healthcheckpolicy_controller.go b/testdata/project-v3-multigroup/controllers/foo.policy/healthcheckpolicy_controller.go index c05f36b3e64..98076874b1c 100644 --- a/testdata/project-v3-multigroup/controllers/foo.policy/healthcheckpolicy_controller.go +++ b/testdata/project-v3-multigroup/controllers/foo.policy/healthcheckpolicy_controller.go @@ -35,7 +35,7 @@ type HealthCheckPolicyReconciler struct { } // +kubebuilder:rbac:groups=foo.policy.testproject.org,resources=healthcheckpolicies,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=foo.policy.testproject.org,resources=healthcheckpolicies/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=foo.policy.testproject.org,resources=healthcheckpolicies/status;healthcheckpolicies/finalizers,verbs=get;update;patch func (r *HealthCheckPolicyReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3-multigroup/controllers/sea-creatures/kraken_controller.go b/testdata/project-v3-multigroup/controllers/sea-creatures/kraken_controller.go index c16cd4177a8..2b499643c45 100644 --- a/testdata/project-v3-multigroup/controllers/sea-creatures/kraken_controller.go +++ b/testdata/project-v3-multigroup/controllers/sea-creatures/kraken_controller.go @@ -35,7 +35,7 @@ type KrakenReconciler struct { } // +kubebuilder:rbac:groups=sea-creatures.testproject.org,resources=krakens,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=sea-creatures.testproject.org,resources=krakens/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=sea-creatures.testproject.org,resources=krakens/status;krakens/finalizers,verbs=get;update;patch func (r *KrakenReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3-multigroup/controllers/sea-creatures/leviathan_controller.go b/testdata/project-v3-multigroup/controllers/sea-creatures/leviathan_controller.go index d857c2d3c2b..502bfe78dcc 100644 --- a/testdata/project-v3-multigroup/controllers/sea-creatures/leviathan_controller.go +++ b/testdata/project-v3-multigroup/controllers/sea-creatures/leviathan_controller.go @@ -35,7 +35,7 @@ type LeviathanReconciler struct { } // +kubebuilder:rbac:groups=sea-creatures.testproject.org,resources=leviathans,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=sea-creatures.testproject.org,resources=leviathans/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=sea-creatures.testproject.org,resources=leviathans/status;leviathans/finalizers,verbs=get;update;patch func (r *LeviathanReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3-multigroup/controllers/ship/cruiser_controller.go b/testdata/project-v3-multigroup/controllers/ship/cruiser_controller.go index 95f3d21d489..43eed253d20 100644 --- a/testdata/project-v3-multigroup/controllers/ship/cruiser_controller.go +++ b/testdata/project-v3-multigroup/controllers/ship/cruiser_controller.go @@ -35,7 +35,7 @@ type CruiserReconciler struct { } // +kubebuilder:rbac:groups=ship.testproject.org,resources=cruisers,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=ship.testproject.org,resources=cruisers/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=ship.testproject.org,resources=cruisers/status;cruisers/finalizers,verbs=get;update;patch func (r *CruiserReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3-multigroup/controllers/ship/destroyer_controller.go b/testdata/project-v3-multigroup/controllers/ship/destroyer_controller.go index b41c07cb745..aeb875c87a4 100644 --- a/testdata/project-v3-multigroup/controllers/ship/destroyer_controller.go +++ b/testdata/project-v3-multigroup/controllers/ship/destroyer_controller.go @@ -35,7 +35,7 @@ type DestroyerReconciler struct { } // +kubebuilder:rbac:groups=ship.testproject.org,resources=destroyers,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=ship.testproject.org,resources=destroyers/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=ship.testproject.org,resources=destroyers/status;destroyers/finalizers,verbs=get;update;patch func (r *DestroyerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3-multigroup/controllers/ship/frigate_controller.go b/testdata/project-v3-multigroup/controllers/ship/frigate_controller.go index cac7fe7bb79..a600473e881 100644 --- a/testdata/project-v3-multigroup/controllers/ship/frigate_controller.go +++ b/testdata/project-v3-multigroup/controllers/ship/frigate_controller.go @@ -35,7 +35,7 @@ type FrigateReconciler struct { } // +kubebuilder:rbac:groups=ship.testproject.org,resources=frigates,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=ship.testproject.org,resources=frigates/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=ship.testproject.org,resources=frigates/status;frigates/finalizers,verbs=get;update;patch func (r *FrigateReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3/config/rbac/role.yaml b/testdata/project-v3/config/rbac/role.yaml index a1cd43c89d2..c4b3793f057 100644 --- a/testdata/project-v3/config/rbac/role.yaml +++ b/testdata/project-v3/config/rbac/role.yaml @@ -21,6 +21,7 @@ rules: - apiGroups: - crew.testproject.org resources: + - admirals/finalizers - admirals/status verbs: - get @@ -41,6 +42,7 @@ rules: - apiGroups: - crew.testproject.org resources: + - captains/finalizers - captains/status verbs: - get @@ -61,6 +63,7 @@ rules: - apiGroups: - crew.testproject.org resources: + - firstmates/finalizers - firstmates/status verbs: - get diff --git a/testdata/project-v3/controllers/admiral_controller.go b/testdata/project-v3/controllers/admiral_controller.go index 86cb7edc171..7ed8b7bf3ca 100644 --- a/testdata/project-v3/controllers/admiral_controller.go +++ b/testdata/project-v3/controllers/admiral_controller.go @@ -35,7 +35,7 @@ type AdmiralReconciler struct { } // +kubebuilder:rbac:groups=crew.testproject.org,resources=admirals,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=crew.testproject.org,resources=admirals/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=crew.testproject.org,resources=admirals/status;admirals/finalizers,verbs=get;update;patch func (r *AdmiralReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3/controllers/captain_controller.go b/testdata/project-v3/controllers/captain_controller.go index 95f8c136470..95d2d9727db 100644 --- a/testdata/project-v3/controllers/captain_controller.go +++ b/testdata/project-v3/controllers/captain_controller.go @@ -35,7 +35,7 @@ type CaptainReconciler struct { } // +kubebuilder:rbac:groups=crew.testproject.org,resources=captains,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=crew.testproject.org,resources=captains/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=crew.testproject.org,resources=captains/status;captains/finalizers,verbs=get;update;patch func (r *CaptainReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background() diff --git a/testdata/project-v3/controllers/firstmate_controller.go b/testdata/project-v3/controllers/firstmate_controller.go index 3c9c7e3642c..d62e6ca65f5 100644 --- a/testdata/project-v3/controllers/firstmate_controller.go +++ b/testdata/project-v3/controllers/firstmate_controller.go @@ -35,7 +35,7 @@ type FirstMateReconciler struct { } // +kubebuilder:rbac:groups=crew.testproject.org,resources=firstmates,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=crew.testproject.org,resources=firstmates/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=crew.testproject.org,resources=firstmates/status;firstmates/finalizers,verbs=get;update;patch func (r *FirstMateReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { _ = context.Background()