@@ -102,18 +102,6 @@ func GetOpenshiftBootstrapClusterRoles() []rbacv1.ClusterRole {
102102 // four resource can be a single line
103103 // up to ten-ish resources per line otherwise
104104 clusterRoles := []rbacv1.ClusterRole {
105- {
106- ObjectMeta : metav1.ObjectMeta {
107- Name : ClusterAdminRoleName ,
108- Annotations : map [string ]string {
109- oapi .OpenShiftDescription : "A super-user that can perform any action in the cluster. When granted to a user within a project, they have full control over quota and membership and can perform every action on every resource in the project." ,
110- },
111- },
112- Rules : []rbacv1.PolicyRule {
113- rbacv1helpers .NewRule (rbacv1 .VerbAll ).Groups (rbacv1 .APIGroupAll ).Resources (rbacv1 .ResourceAll ).RuleOrDie (),
114- rbacv1helpers .NewRule (rbacv1 .VerbAll ).URLs (rbacv1 .NonResourceAll ).RuleOrDie (),
115- },
116- },
117105 {
118106 ObjectMeta : metav1.ObjectMeta {
119107 Name : SudoerRoleName ,
@@ -741,7 +729,6 @@ func GetBootstrapClusterRoles() []rbacv1.ClusterRole {
741729 // so add them to this list.
742730 openshiftClusterRoles = append (openshiftClusterRoles , GetDeadClusterRoles ()... )
743731 kubeClusterRoles := bootstrappolicy .ClusterRoles ()
744- kubeSAClusterRoles := bootstrappolicy .ControllerRoles ()
745732 openshiftControllerRoles := ControllerRoles ()
746733
747734 // Eventually openshift controllers and kube controllers have different prefixes
@@ -757,26 +744,14 @@ func GetBootstrapClusterRoles() []rbacv1.ClusterRole {
757744 }
758745
759746 conflictingNames := kubeClusterRoleNames .Intersection (openshiftClusterRoleNames )
760- extraRBACConflicts := conflictingNames .Difference (clusterRoleConflicts )
761- extraWhitelistEntries := clusterRoleConflicts .Difference (conflictingNames )
762- switch {
763- case len (extraRBACConflicts ) > 0 && len (extraWhitelistEntries ) > 0 :
764- panic (fmt .Sprintf ("kube ClusterRoles conflict with openshift ClusterRoles: %v and ClusterRole whitelist contains a extraneous entries: %v " , extraRBACConflicts .List (), extraWhitelistEntries .List ()))
765- case len (extraRBACConflicts ) > 0 :
766- panic (fmt .Sprintf ("kube ClusterRoles conflict with openshift ClusterRoles: %v" , extraRBACConflicts .List ()))
767- case len (extraWhitelistEntries ) > 0 :
768- panic (fmt .Sprintf ("ClusterRole whitelist contains a extraneous entries: %v" , extraWhitelistEntries .List ()))
747+ if len (conflictingNames ) > 0 {
748+ panic (fmt .Sprintf ("kube ClusterRoles conflict with openshift ClusterRoles: %v" , conflictingNames .List ()))
769749 }
770750
771751 finalClusterRoles := []rbacv1.ClusterRole {}
772752 finalClusterRoles = append (finalClusterRoles , openshiftClusterRoles ... )
773753 finalClusterRoles = append (finalClusterRoles , openshiftControllerRoles ... )
774- finalClusterRoles = append (finalClusterRoles , kubeSAClusterRoles ... )
775- for i := range kubeClusterRoles {
776- if ! clusterRoleConflicts .Has (kubeClusterRoles [i ].Name ) {
777- finalClusterRoles = append (finalClusterRoles , kubeClusterRoles [i ])
778- }
779- }
754+ finalClusterRoles = append (finalClusterRoles , kubeClusterRoles ... )
780755
781756 // TODO we should not do this for kube cluster roles since we cannot control them once we run on top of kube
782757 // conditionally add the web console annotations
@@ -876,7 +851,7 @@ func GetOpenshiftBootstrapClusterRoleBindings() []rbacv1.ClusterRoleBinding {
876851 newOriginClusterBinding (WebHooksRoleBindingName , WebHooksRoleName ).
877852 Groups (AuthenticatedGroup , UnauthenticatedGroup ).
878853 BindingOrDie (),
879- newOriginClusterBinding ( DiscoveryRoleBindingName , DiscoveryRoleName ).
854+ rbacv1helpers . NewClusterBinding ( DiscoveryRoleName ).
880855 Groups (AuthenticatedGroup , UnauthenticatedGroup ).
881856 BindingOrDie (),
882857 // Allow all build strategies by default.
@@ -915,7 +890,6 @@ func GetBootstrapClusterRoleBindings() []rbacv1.ClusterRoleBinding {
915890 openshiftClusterRoleBindings = append (openshiftClusterRoleBindings , GetDeadClusterRoleBindings ()... )
916891
917892 kubeClusterRoleBindings := bootstrappolicy .ClusterRoleBindings ()
918- kubeControllerClusterRoleBindings := bootstrappolicy .ControllerRoleBindings ()
919893 openshiftControllerClusterRoleBindings := ControllerRoleBindings ()
920894
921895 // openshift controllers and kube controllers have different prefixes
@@ -930,44 +904,17 @@ func GetBootstrapClusterRoleBindings() []rbacv1.ClusterRoleBinding {
930904 }
931905
932906 conflictingNames := kubeClusterRoleBindingNames .Intersection (openshiftClusterRoleBindingNames )
933- extraRBACConflicts := conflictingNames .Difference (clusterRoleBindingConflicts )
934- extraWhitelistEntries := clusterRoleBindingConflicts .Difference (conflictingNames )
935- switch {
936- case len (extraRBACConflicts ) > 0 && len (extraWhitelistEntries ) > 0 :
937- panic (fmt .Sprintf ("kube ClusterRoleBindings conflict with openshift ClusterRoleBindings: %v and ClusterRoleBinding whitelist contains a extraneous entries: %v " , extraRBACConflicts .List (), extraWhitelistEntries .List ()))
938- case len (extraRBACConflicts ) > 0 :
939- panic (fmt .Sprintf ("kube ClusterRoleBindings conflict with openshift ClusterRoleBindings: %v" , extraRBACConflicts .List ()))
940- case len (extraWhitelistEntries ) > 0 :
941- panic (fmt .Sprintf ("ClusterRoleBinding whitelist contains a extraneous entries: %v" , extraWhitelistEntries .List ()))
907+ if len (conflictingNames ) > 0 {
908+ panic (fmt .Sprintf ("kube ClusterRoleBindings conflict with openshift ClusterRoleBindings: %v" , conflictingNames .List ()))
942909 }
943910
944911 finalClusterRoleBindings := []rbacv1.ClusterRoleBinding {}
945912 finalClusterRoleBindings = append (finalClusterRoleBindings , openshiftClusterRoleBindings ... )
946- finalClusterRoleBindings = append (finalClusterRoleBindings , kubeControllerClusterRoleBindings ... )
947913 finalClusterRoleBindings = append (finalClusterRoleBindings , openshiftControllerClusterRoleBindings ... )
948- for i := range kubeClusterRoleBindings {
949- if ! clusterRoleBindingConflicts .Has (kubeClusterRoleBindings [i ].Name ) {
950- finalClusterRoleBindings = append (finalClusterRoleBindings , kubeClusterRoleBindings [i ])
951- }
952- }
953914
954915 return finalClusterRoleBindings
955916}
956917
957- // clusterRoleConflicts lists the roles which are known to conflict with upstream and which we have manually
958- // deconflicted with our own.
959- var clusterRoleConflicts = sets .NewString (
960- // TODO this should probably be re-swizzled to be the delta on top of the kube role
961- "system:discovery" ,
962-
963- // TODO these should be reconsidered
964- "cluster-admin" ,
965- )
966-
967- // clusterRoleBindingConflicts lists the roles which are known to conflict with upstream and which we have manually
968- // deconflicted with our own.
969- var clusterRoleBindingConflicts = sets .NewString ()
970-
971918// The current list of roles considered useful for normal users (non-admin)
972919var rolesToShow = sets .NewString (
973920 "admin" ,
0 commit comments