Skip to content

Commit 9754e40

Browse files
authored
Merge pull request kubernetes#121682 from liggitt/conditional-rbac
Make service-cidrs-controller role feature-gated
2 parents 4c54ff0 + cda349c commit 9754e40

File tree

3 files changed

+12
-78
lines changed

3 files changed

+12
-78
lines changed

plugin/pkg/auth/authorizer/rbac/bootstrappolicy/controller_policy.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -369,16 +369,18 @@ func buildControllerRoles() ([]rbacv1.ClusterRole, []rbacv1.ClusterRoleBinding)
369369
eventsRule(),
370370
},
371371
})
372-
addControllerRole(&controllerRoles, &controllerRoleBindings, rbacv1.ClusterRole{
373-
ObjectMeta: metav1.ObjectMeta{Name: saRolePrefix + "service-cidrs-controller"},
374-
Rules: []rbacv1.PolicyRule{
375-
rbacv1helpers.NewRule("get", "list", "watch", "patch", "update").Groups(networkingGroup).Resources("servicecidrs").RuleOrDie(),
376-
rbacv1helpers.NewRule("patch", "update").Groups(networkingGroup).Resources("servicecidrs/finalizers").RuleOrDie(),
377-
rbacv1helpers.NewRule("patch", "update").Groups(networkingGroup).Resources("servicecidrs/status").RuleOrDie(),
378-
rbacv1helpers.NewRule("get", "list", "watch").Groups(networkingGroup).Resources("ipaddresses").RuleOrDie(),
379-
eventsRule(),
380-
},
381-
})
372+
if utilfeature.DefaultFeatureGate.Enabled(features.MultiCIDRServiceAllocator) {
373+
addControllerRole(&controllerRoles, &controllerRoleBindings, rbacv1.ClusterRole{
374+
ObjectMeta: metav1.ObjectMeta{Name: saRolePrefix + "service-cidrs-controller"},
375+
Rules: []rbacv1.PolicyRule{
376+
rbacv1helpers.NewRule("get", "list", "watch", "patch", "update").Groups(networkingGroup).Resources("servicecidrs").RuleOrDie(),
377+
rbacv1helpers.NewRule("patch", "update").Groups(networkingGroup).Resources("servicecidrs/finalizers").RuleOrDie(),
378+
rbacv1helpers.NewRule("patch", "update").Groups(networkingGroup).Resources("servicecidrs/status").RuleOrDie(),
379+
rbacv1helpers.NewRule("get", "list", "watch").Groups(networkingGroup).Resources("ipaddresses").RuleOrDie(),
380+
eventsRule(),
381+
},
382+
})
383+
}
382384
addControllerRole(&controllerRoles, &controllerRoleBindings, func() rbacv1.ClusterRole {
383385
role := rbacv1.ClusterRole{
384386
ObjectMeta: metav1.ObjectMeta{Name: saRolePrefix + "statefulset-controller"},

plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/controller-role-bindings.yaml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -476,23 +476,6 @@ items:
476476
- kind: ServiceAccount
477477
name: service-account-controller
478478
namespace: kube-system
479-
- apiVersion: rbac.authorization.k8s.io/v1
480-
kind: ClusterRoleBinding
481-
metadata:
482-
annotations:
483-
rbac.authorization.kubernetes.io/autoupdate: "true"
484-
creationTimestamp: null
485-
labels:
486-
kubernetes.io/bootstrapping: rbac-defaults
487-
name: system:controller:service-cidrs-controller
488-
roleRef:
489-
apiGroup: rbac.authorization.k8s.io
490-
kind: ClusterRole
491-
name: system:controller:service-cidrs-controller
492-
subjects:
493-
- kind: ServiceAccount
494-
name: service-cidrs-controller
495-
namespace: kube-system
496479
- apiVersion: rbac.authorization.k8s.io/v1
497480
kind: ClusterRoleBinding
498481
metadata:

plugin/pkg/auth/authorizer/rbac/bootstrappolicy/testdata/controller-roles.yaml

Lines changed: 0 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,57 +1373,6 @@ items:
13731373
- create
13741374
- patch
13751375
- update
1376-
- apiVersion: rbac.authorization.k8s.io/v1
1377-
kind: ClusterRole
1378-
metadata:
1379-
annotations:
1380-
rbac.authorization.kubernetes.io/autoupdate: "true"
1381-
creationTimestamp: null
1382-
labels:
1383-
kubernetes.io/bootstrapping: rbac-defaults
1384-
name: system:controller:service-cidrs-controller
1385-
rules:
1386-
- apiGroups:
1387-
- networking.k8s.io
1388-
resources:
1389-
- servicecidrs
1390-
verbs:
1391-
- get
1392-
- list
1393-
- patch
1394-
- update
1395-
- watch
1396-
- apiGroups:
1397-
- networking.k8s.io
1398-
resources:
1399-
- servicecidrs/finalizers
1400-
verbs:
1401-
- patch
1402-
- update
1403-
- apiGroups:
1404-
- networking.k8s.io
1405-
resources:
1406-
- servicecidrs/status
1407-
verbs:
1408-
- patch
1409-
- update
1410-
- apiGroups:
1411-
- networking.k8s.io
1412-
resources:
1413-
- ipaddresses
1414-
verbs:
1415-
- get
1416-
- list
1417-
- watch
1418-
- apiGroups:
1419-
- ""
1420-
- events.k8s.io
1421-
resources:
1422-
- events
1423-
verbs:
1424-
- create
1425-
- patch
1426-
- update
14271376
- apiVersion: rbac.authorization.k8s.io/v1
14281377
kind: ClusterRole
14291378
metadata:

0 commit comments

Comments
 (0)