@@ -51,10 +51,33 @@ func init() {
5151 Rules : []rbac.PolicyRule {
5252 rbac .NewRule ("get" , "list" , "watch" , "update" , "delete" ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds" ).RuleOrDie (),
5353 rbac .NewRule ("get" ).Groups (buildGroup , legacyBuildGroup ).Resources ("buildconfigs" ).RuleOrDie (),
54- rbac .NewRule ("create" ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds/docker" , "builds/source" , "builds/custom" , "builds/jenkinspipeline" ).RuleOrDie (),
54+ rbac .NewRule ("create" ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds/optimizeddocker" , "builds/ docker" , "builds/source" , "builds/custom" , "builds/jenkinspipeline" ).RuleOrDie (),
5555 rbac .NewRule ("get" ).Groups (imageGroup , legacyImageGroup ).Resources ("imagestreams" ).RuleOrDie (),
5656 rbac .NewRule ("get" , "list" , "create" , "delete" ).Groups (kapiGroup ).Resources ("pods" ).RuleOrDie (),
57- rbac .NewRule ("get" ).Groups (kapiGroup ).Resources ("namespaces" ).RuleOrDie (),
57+ eventsRule (),
58+ },
59+ })
60+
61+ // build-pod-controller
62+ addControllerRole (rbac.ClusterRole {
63+ ObjectMeta : metav1.ObjectMeta {Name : saRolePrefix + InfraBuildPodControllerServiceAccountName },
64+ Rules : []rbac.PolicyRule {
65+ rbac .NewRule ("create" , "get" , "list" , "watch" , "update" , "delete" ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds" ).RuleOrDie (),
66+ rbac .NewRule ("get" , "list" , "create" , "delete" ).Groups (kapiGroup ).Resources ("pods" ).RuleOrDie (),
67+ rbac .NewRule ("get" ).Groups (kapiGroup ).Resources ("secrets" ).RuleOrDie (),
68+ rbac .NewRule ("get" ).Groups (buildGroup , legacyBuildGroup ).Resources ("buildconfigs" ).RuleOrDie (),
69+ // Needed for strategyrestriction admission
70+ rbac .NewRule ("create" ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds/optimizeddocker" , "builds/docker" , "builds/source" , "builds/custom" , "builds/jenkinspipeline" ).RuleOrDie (),
71+ eventsRule (),
72+ },
73+ })
74+
75+ // build-config-change-controller
76+ addControllerRole (rbac.ClusterRole {
77+ ObjectMeta : metav1.ObjectMeta {Name : saRolePrefix + InfraBuildConfigChangeControllerServiceAccountName },
78+ Rules : []rbac.PolicyRule {
79+ rbac .NewRule ("get" , "list" , "watch" ).Groups (buildGroup , legacyBuildGroup ).Resources ("buildconfigs" ).RuleOrDie (),
80+ rbac .NewRule ("create" ).Groups (buildGroup , legacyBuildGroup ).Resources ("buildconfigs/instantiate" ).RuleOrDie (),
5881 eventsRule (),
5982 },
6083 })
@@ -103,8 +126,39 @@ func init() {
103126 },
104127 })
105128
129+ // template-instance-controller
106130 controllerRoleBindings = append (controllerRoleBindings ,
107131 rbac .NewClusterBinding (EditRoleName ).SAs (DefaultOpenShiftInfraNamespace , InfraTemplateInstanceControllerServiceAccountName ).BindingOrDie ())
132+
133+ // origin-namespace-controller
134+ addControllerRole (rbac.ClusterRole {
135+ ObjectMeta : metav1.ObjectMeta {Name : saRolePrefix + InfraOriginNamespaceServiceAccountName },
136+ Rules : []rbac.PolicyRule {
137+ rbac .NewRule ("get" , "list" , "watch" ).Groups (kapiGroup ).Resources ("namespaces" ).RuleOrDie (),
138+ rbac .NewRule ("update" ).Groups (kapiGroup ).Resources ("namespaces/finalize" , "namespaces/status" ).RuleOrDie (),
139+ eventsRule (),
140+ },
141+ })
142+
143+ // serviceaccount-controller
144+ addControllerRole (rbac.ClusterRole {
145+ ObjectMeta : metav1.ObjectMeta {Name : saRolePrefix + InfraServiceAccountControllerServiceAccountName },
146+ Rules : []rbac.PolicyRule {
147+ rbac .NewRule ("get" , "list" , "watch" , "create" , "update" , "patch" , "delete" ).Groups (kapiGroup ).Resources ("serviceaccounts" ).RuleOrDie (),
148+ eventsRule (),
149+ },
150+ })
151+
152+ // serviceaccount-pull-secrets-controller
153+ addControllerRole (rbac.ClusterRole {
154+ ObjectMeta : metav1.ObjectMeta {Name : saRolePrefix + InfraServiceAccountPullSecretsControllerServiceAccountName },
155+ Rules : []rbac.PolicyRule {
156+ rbac .NewRule ("get" , "list" , "watch" , "create" , "update" ).Groups (kapiGroup ).Resources ("serviceaccounts" ).RuleOrDie (),
157+ rbac .NewRule ("get" , "list" , "watch" , "create" , "update" , "patch" , "delete" ).Groups (kapiGroup ).Resources ("secrets" ).RuleOrDie (),
158+ rbac .NewRule ("get" , "list" , "watch" ).Groups (kapiGroup ).Resources ("services" ).RuleOrDie (),
159+ eventsRule (),
160+ },
161+ })
108162}
109163
110164// ControllerRoles returns the cluster roles used by controllers
0 commit comments