Skip to content

Commit b495c58

Browse files
author
Naadir Jeewa
committed
Adds /finalizer permissions for all controllers for Kubernetes
clusters where OwnerReferencesPermissionEnforcement admission controller is enabled. Signed-off-by: Naadir Jeewa <[email protected]>
1 parent ddf72df commit b495c58

File tree

16 files changed

+35
-12
lines changed

16 files changed

+35
-12
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ export PATH := $(abspath $(TOOLS_BIN_DIR)):$(PATH)
7070
# Set --output-base for conversion-gen if we are not within GOPATH
7171
ifneq ($(abspath $(ROOT_DIR)),$(shell go env GOPATH)/src/sigs.k8s.io/cluster-api)
7272
CONVERSION_GEN_OUTPUT_BASE := --output-base=$(ROOT_DIR)
73+
else
74+
export GOPATH := $(shell go env GOPATH)
7375
endif
7476

7577
#

bootstrap/kubeadm/config/rbac/role.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ rules:
2424
- bootstrap.cluster.x-k8s.io
2525
resources:
2626
- kubeadmconfigs
27+
- kubeadmconfigs/finalizers
2728
- kubeadmconfigs/status
2829
verbs:
2930
- create

bootstrap/kubeadm/controllers/kubeadmconfig_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ type InitLocker interface {
6565
Unlock(ctx context.Context, cluster *clusterv1.Cluster) bool
6666
}
6767

68-
// +kubebuilder:rbac:groups=bootstrap.cluster.x-k8s.io,resources=kubeadmconfigs;kubeadmconfigs/status,verbs=get;list;watch;create;update;patch;delete
68+
// +kubebuilder:rbac:groups=bootstrap.cluster.x-k8s.io,resources=kubeadmconfigs;kubeadmconfigs/status;kubeadmconfigs/finalizers,verbs=get;list;watch;create;update;patch;delete
6969
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters;clusters/status;machines;machines/status;machinepools;machinepools/status,verbs=get;list;watch
7070
// +kubebuilder:rbac:groups="",resources=secrets;events;configmaps,verbs=get;list;watch;create;update;patch;delete
7171

config/rbac/role.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ rules:
2121
- apiGroups:
2222
- addons.cluster.x-k8s.io
2323
resources:
24+
- clusterresourcesets/finalizers
2425
- clusterresourcesets/status
2526
verbs:
2627
- get
@@ -65,6 +66,7 @@ rules:
6566
- cluster.x-k8s.io
6667
resources:
6768
- clusters
69+
- clusters/finalizers
6870
- clusters/status
6971
verbs:
7072
- create
@@ -78,6 +80,7 @@ rules:
7880
- cluster.x-k8s.io
7981
resources:
8082
- machinedeployments
83+
- machinedeployments/finalizers
8184
- machinedeployments/status
8285
verbs:
8386
- create
@@ -91,6 +94,7 @@ rules:
9194
- cluster.x-k8s.io
9295
resources:
9396
- machinehealthchecks
97+
- machinehealthchecks/finalizers
9498
- machinehealthchecks/status
9599
verbs:
96100
- get
@@ -102,6 +106,7 @@ rules:
102106
- cluster.x-k8s.io
103107
resources:
104108
- machinepools
109+
- machinepools/finalizers
105110
- machinepools/status
106111
verbs:
107112
- create
@@ -115,6 +120,7 @@ rules:
115120
- cluster.x-k8s.io
116121
resources:
117122
- machines
123+
- machines/finalizers
118124
- machines/status
119125
verbs:
120126
- create
@@ -124,10 +130,21 @@ rules:
124130
- patch
125131
- update
126132
- watch
133+
- apiGroups:
134+
- cluster.x-k8s.io
135+
resources:
136+
- machines
137+
- machines/status
138+
verbs:
139+
- delete
140+
- get
141+
- list
142+
- watch
127143
- apiGroups:
128144
- cluster.x-k8s.io
129145
resources:
130146
- machinesets
147+
- machinesets/finalizers
131148
- machinesets/status
132149
verbs:
133150
- create

controllers/cluster_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ const (
6060
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;patch
6161
// +kubebuilder:rbac:groups=core,resources=nodes,verbs=get;list;watch;create;update;patch;delete
6262
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io;bootstrap.cluster.x-k8s.io;controlplane.cluster.x-k8s.io,resources=*,verbs=get;list;watch;create;update;patch;delete
63-
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters;clusters/status,verbs=get;list;watch;create;update;patch;delete
63+
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters;clusters/status;clusters/finalizers,verbs=get;list;watch;create;update;patch;delete
6464
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;list;watch
6565

6666
// ClusterReconciler reconciles a Cluster object.

controllers/machine_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ var (
6969
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch
7070
// +kubebuilder:rbac:groups=core,resources=nodes,verbs=get;list;watch;create;update;patch;delete
7171
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io;bootstrap.cluster.x-k8s.io,resources=*,verbs=get;list;watch;create;update;patch;delete
72-
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machines;machines/status,verbs=get;list;watch;create;update;patch;delete
72+
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machines;machines/status;machines/finalizers,verbs=get;list;watch;create;update;patch;delete
7373
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;list;watch
7474

7575
// MachineReconciler reconciles a Machine object.

controllers/machinedeployment_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ var (
4949
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch
5050
// +kubebuilder:rbac:groups=core,resources=nodes,verbs=get;list;watch;create;update;patch;delete
5151
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io;bootstrap.cluster.x-k8s.io,resources=*,verbs=get;list;watch;create;update;patch;delete
52-
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinedeployments;machinedeployments/status,verbs=get;list;watch;create;update;patch;delete
52+
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinedeployments;machinedeployments/status;machinedeployments/finalizers,verbs=get;list;watch;create;update;patch;delete
5353

5454
// MachineDeploymentReconciler reconciles a MachineDeployment object.
5555
type MachineDeploymentReconciler struct {

controllers/machinehealthcheck_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ const (
6363
// +kubebuilder:rbac:groups=core,resources=events,verbs=get;list;watch;create;patch
6464
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch
6565
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machines;machines/status,verbs=get;list;watch;delete
66-
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinehealthchecks;machinehealthchecks/status,verbs=get;list;watch;update;patch
66+
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinehealthchecks;machinehealthchecks/status;machinehealthchecks/finalizers,verbs=get;list;watch;update;patch
6767

6868
// MachineHealthCheckReconciler reconciles a MachineHealthCheck object.
6969
type MachineHealthCheckReconciler struct {

controllers/machineset_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ var (
6363
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch
6464
// +kubebuilder:rbac:groups=core,resources=nodes,verbs=get;list;watch;create;update;patch;delete
6565
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io;bootstrap.cluster.x-k8s.io,resources=*,verbs=get;list;watch;create;update;patch;delete
66-
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinesets;machinesets/status,verbs=get;list;watch;create;update;patch;delete
66+
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinesets;machinesets/status;machinesets/finalizers,verbs=get;list;watch;create;update;patch;delete
6767

6868
// MachineSetReconciler reconciles a MachineSet object.
6969
type MachineSetReconciler struct {

exp/addons/controllers/clusterresourceset_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ var (
5757
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;patch
5858
// +kubebuilder:rbac:groups=core,resources=configmaps,verbs=get;list;watch;patch
5959
// +kubebuilder:rbac:groups=addons.cluster.x-k8s.io,resources=*,verbs=get;list;watch;create;update;patch;delete
60-
// +kubebuilder:rbac:groups=addons.cluster.x-k8s.io,resources=clusterresourcesets/status,verbs=get;update;patch
60+
// +kubebuilder:rbac:groups=addons.cluster.x-k8s.io,resources=clusterresourcesets/status;clusterresourcesets/finalizers,verbs=get;update;patch
6161

6262
// ClusterResourceSetReconciler reconciles a ClusterResourceSet object.
6363
type ClusterResourceSetReconciler struct {

exp/controllers/machinepool_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ import (
4949
// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch
5050
// +kubebuilder:rbac:groups=core,resources=nodes,verbs=get;list;watch;create;update;patch;delete
5151
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io;bootstrap.cluster.x-k8s.io,resources=*,verbs=get;list;watch;create;update;patch;delete
52-
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinepools;machinepools/status,verbs=get;list;watch;create;update;patch;delete
52+
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinepools;machinepools/status;machinepools/finalizers,verbs=get;list;watch;create;update;patch;delete
5353

5454
const (
5555
// MachinePoolControllerName defines the controller used when creating clients.

test/infrastructure/docker/config/rbac/role.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ rules:
4747
- apiGroups:
4848
- infrastructure.cluster.x-k8s.io
4949
resources:
50+
- dockerclusters/finalizers
5051
- dockerclusters/status
5152
verbs:
5253
- get
@@ -67,6 +68,7 @@ rules:
6768
- apiGroups:
6869
- infrastructure.cluster.x-k8s.io
6970
resources:
71+
- dockermachinepools/finalizers
7072
- dockermachinepools/status
7173
verbs:
7274
- get
@@ -87,6 +89,7 @@ rules:
8789
- apiGroups:
8890
- infrastructure.cluster.x-k8s.io
8991
resources:
92+
- dockermachines/finalizers
9093
- dockermachines/status
9194
verbs:
9295
- get

test/infrastructure/docker/controllers/dockercluster_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ type DockerClusterReconciler struct {
4444
}
4545

4646
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockerclusters,verbs=get;list;watch;create;update;patch;delete
47-
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockerclusters/status,verbs=get;update;patch
47+
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockerclusters/status;dockerclusters/finalizers,verbs=get;update;patch
4848

4949
// Reconcile reads that state of the cluster for a DockerCluster object and makes changes based on the state read
5050
// and what is in the DockerCluster.Spec.

test/infrastructure/docker/controllers/dockermachine_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ type DockerMachineReconciler struct {
4848
}
4949

5050
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachines,verbs=get;list;watch;create;update;patch;delete
51-
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachines/status,verbs=get;update;patch
51+
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachines/status;dockermachines/finalizers,verbs=get;update;patch
5252
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters;machines,verbs=get;list;watch
5353
// +kubebuilder:rbac:groups="",resources=secrets;,verbs=get;list;watch
5454

test/infrastructure/docker/exp/controllers/dockermachinepool_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ type DockerMachinePoolReconciler struct {
5050
}
5151

5252
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachinepools,verbs=get;list;watch;create;update;patch;delete
53-
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachinepools/status,verbs=get;update;patch
53+
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachinepools/status;dockermachinepools/finalizers,verbs=get;update;patch
5454
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinepools;machinepools/status,verbs=get;list;watch
5555
// +kubebuilder:rbac:groups="",resources=secrets;,verbs=get;list;watch
5656

test/infrastructure/docker/exp/controllers/exp.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ package controllers
1919
// This file adds RBAC permissions to the Docker Infrastructure manager to operate on objects in the experimental API group.
2020

2121
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachinepools,verbs=get;list;watch;create;update;patch;delete
22-
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachinepools/status,verbs=get;update;patch
22+
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=dockermachinepools/status;dockermachinepools/finalizers,verbs=get;update;patch
2323
// +kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machinepools;machinepools/status,verbs=get;list;watch

0 commit comments

Comments
 (0)