@@ -131,6 +131,12 @@ func GetOpenshiftBootstrapClusterRoles() []rbacv1.ClusterRole {
131131 ObjectMeta : metav1.ObjectMeta {
132132 Name : ClusterReaderRoleName ,
133133 },
134+ AggregationRule : & rbacv1.AggregationRule {
135+ ClusterRoleSelectors : []metav1.LabelSelector {{MatchLabels : map [string ]string {"rbac.authorization.k8s.io/aggregate-to-cluster-reader" : "true" }}},
136+ },
137+ },
138+ {
139+ ObjectMeta : metav1.ObjectMeta {Name : AggregatedClusterReaderRoleName , Labels : map [string ]string {"rbac.authorization.k8s.io/aggregate-to-cluster-reader" : "true" }},
134140 Rules : []rbacv1.PolicyRule {
135141 rbacv1helpers .NewRule (read ... ).Groups (kapiGroup ).Resources ("bindings" , "componentstatuses" , "configmaps" , "endpoints" , "events" , "limitranges" ,
136142 "namespaces" , "namespaces/status" , "nodes" , "nodes/status" , "persistentvolumeclaims" , "persistentvolumeclaims/status" , "persistentvolumes" ,
@@ -173,30 +179,23 @@ func GetOpenshiftBootstrapClusterRoles() []rbacv1.ClusterRole {
173179
174180 rbacv1helpers .NewRule (read ... ).Groups (authzGroup , legacyAuthzGroup ).Resources ("clusterroles" , "clusterrolebindings" , "roles" , "rolebindings" , "rolebindingrestrictions" ).RuleOrDie (),
175181
176- rbacv1helpers .NewRule (read ... ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds" , "builds /details" , "buildconfigs" , "buildconfigs/webhooks" , "builds/log " ).RuleOrDie (),
182+ rbacv1helpers .NewRule (read ... ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds/details" ).RuleOrDie (),
177183
178- rbacv1helpers .NewRule (read ... ).Groups (deployGroup , legacyDeployGroup ).Resources ("deploymentconfigs" , "deploymentconfigs/scale" , "deploymentconfigs/log" ,
179- "deploymentconfigs/status" ).RuleOrDie (),
180-
181- rbacv1helpers .NewRule (read ... ).Groups (imageGroup , legacyImageGroup ).Resources ("images" , "imagesignatures" , "imagestreams" , "imagestreamtags" , "imagestreamimages" ,
182- "imagestreams/status" ).RuleOrDie (),
184+ rbacv1helpers .NewRule (read ... ).Groups (imageGroup , legacyImageGroup ).Resources ("images" , "imagesignatures" ).RuleOrDie (),
183185 // pull images
184186 rbacv1helpers .NewRule ("get" ).Groups (imageGroup , legacyImageGroup ).Resources ("imagestreams/layers" ).RuleOrDie (),
185187
186188 rbacv1helpers .NewRule (read ... ).Groups (oauthGroup , legacyOauthGroup ).Resources ("oauthclientauthorizations" ).RuleOrDie (),
187189
188190 rbacv1helpers .NewRule (read ... ).Groups (projectGroup , legacyProjectGroup ).Resources ("projectrequests" , "projects" ).RuleOrDie (),
189191
190- rbacv1helpers .NewRule (read ... ).Groups (quotaGroup , legacyQuotaGroup ).Resources ("appliedclusterresourcequotas" , "clusterresourcequotas" , "clusterresourcequotas/status" ).RuleOrDie (),
191-
192- rbacv1helpers .NewRule (read ... ).Groups (routeGroup , legacyRouteGroup ).Resources ("routes" , "routes/status" ).RuleOrDie (),
192+ rbacv1helpers .NewRule (read ... ).Groups (quotaGroup , legacyQuotaGroup ).Resources ("clusterresourcequotas" , "clusterresourcequotas/status" ).RuleOrDie (),
193193
194194 rbacv1helpers .NewRule (read ... ).Groups (networkGroup , legacyNetworkGroup ).Resources ("clusternetworks" , "egressnetworkpolicies" , "hostsubnets" , "netnamespaces" ).RuleOrDie (),
195195
196196 rbacv1helpers .NewRule (read ... ).Groups (securityGroup , legacySecurityGroup ).Resources ("securitycontextconstraints" ).RuleOrDie (),
197197 rbacv1helpers .NewRule (read ... ).Groups (securityGroup ).Resources ("rangeallocations" ).RuleOrDie (),
198198
199- rbacv1helpers .NewRule (read ... ).Groups (templateGroup , legacyTemplateGroup ).Resources ("templates" , "templateconfigs" , "processedtemplates" , "templateinstances" ).RuleOrDie (),
200199 rbacv1helpers .NewRule (read ... ).Groups (templateGroup , legacyTemplateGroup ).Resources ("brokertemplateinstances" , "templateinstances/status" ).RuleOrDie (),
201200
202201 rbacv1helpers .NewRule (read ... ).Groups (userGroup , legacyUserGroup ).Resources ("groups" , "identities" , "useridentitymappings" , "users" ).RuleOrDie (),
@@ -215,10 +214,6 @@ func GetOpenshiftBootstrapClusterRoles() []rbacv1.ClusterRole {
215214 rbacv1helpers .NewRule ("get" , "create" ).Groups (kapiGroup ).Resources ("nodes/" + NodeStatsSubresource ).RuleOrDie (),
216215
217216 rbacv1helpers .NewRule ("get" ).URLs (rbac .NonResourceAll ).RuleOrDie (),
218-
219- // backwards compatibility
220- rbacv1helpers .NewRule (read ... ).Groups (buildGroup , legacyBuildGroup ).Resources ("buildlogs" ).RuleOrDie (),
221- rbacv1helpers .NewRule (read ... ).Groups (kapiGroup ).Resources ("resourcequotausages" ).RuleOrDie (),
222217 },
223218 },
224219 {
@@ -363,7 +358,10 @@ func GetOpenshiftBootstrapClusterRoles() []rbacv1.ClusterRole {
363358 {
364359 // a role for namespace level viewing. It grants Read-only access to non-escalating resources in
365360 // a namespace.
366- ObjectMeta : metav1.ObjectMeta {Name : AggregatedViewRoleName , Labels : map [string ]string {"rbac.authorization.k8s.io/aggregate-to-view" : "true" }},
361+ ObjectMeta : metav1.ObjectMeta {Name : AggregatedViewRoleName , Labels : map [string ]string {
362+ "rbac.authorization.k8s.io/aggregate-to-view" : "true" ,
363+ "rbac.authorization.k8s.io/aggregate-to-cluster-reader" : "true" ,
364+ }},
367365 Rules : []rbacv1.PolicyRule {
368366 rbacv1helpers .NewRule (read ... ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds" , "buildconfigs" , "buildconfigs/webhooks" ).RuleOrDie (),
369367 rbacv1helpers .NewRule (read ... ).Groups (buildGroup , legacyBuildGroup ).Resources ("builds/log" ).RuleOrDie (),
@@ -1010,8 +1008,9 @@ func GetBootstrapNamespaceRoleBindings() map[string][]rbacv1.RoleBinding {
10101008
10111009func GetBootstrapClusterRolesToAggregate () map [string ]string {
10121010 return map [string ]string {
1013- AdminRoleName : AggregatedAdminRoleName ,
1014- EditRoleName : AggregatedEditRoleName ,
1015- ViewRoleName : AggregatedViewRoleName ,
1011+ AdminRoleName : AggregatedAdminRoleName ,
1012+ EditRoleName : AggregatedEditRoleName ,
1013+ ViewRoleName : AggregatedViewRoleName ,
1014+ ClusterReaderRoleName : AggregatedClusterReaderRoleName ,
10161015 }
10171016}
0 commit comments