Skip to content

Commit 788be29

Browse files
Merge pull request #1075 from jhadvig/OCPBUGS-65469
OCPBUGS-65496: Add missing relatedObjects + small refactoring
2 parents cec26f2 + 6ce2ddf commit 788be29

File tree

2 files changed

+34
-12
lines changed

2 files changed

+34
-12
lines changed

pkg/api/api.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ const (
4747
V1Alpha1PluginI18nAnnotation = "console.openshift.io/use-i18n"
4848
VersionResourceName = "version"
4949

50+
HelmChartreposViewerRoleName = "helm-chartrepos-viewer"
51+
ProjectHelmChartrepositoryEditorRoleName = "project-helm-chartrepository-editor"
52+
ConsoleExtensionsReaderRoleName = "console-extensions-reader"
53+
5054
// ingress instance named "default" is the OOTB ingresscontroller
5155
// this is an implicit stable API
5256
DefaultIngressController = "default"

pkg/console/starter/starter.go

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
// kube
1010
corev1 "k8s.io/api/core/v1"
11+
rbacv1 "k8s.io/api/rbac/v1"
1112
apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
1213
apiexensionsinformers "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions"
1314
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -73,6 +74,18 @@ import (
7374
"github.com/openshift/library-go/pkg/operator/loglevel"
7475
)
7576

77+
const (
78+
clusterRoleResource = "clusterroles"
79+
namespaceResource = "namespaces"
80+
configMapResource = "configmaps"
81+
consoleResource = "consoles"
82+
infrastructureResource = "infrastructures"
83+
proxyResource = "proxies"
84+
oauthResource = "oauths"
85+
oauthClientResource = "oauthclients"
86+
consolePluginResource = "consoleplugins"
87+
)
88+
7689
func RunOperator(ctx context.Context, controllerContext *controllercmd.ControllerContext) error {
7790

7891
kubeClient, err := kubernetes.NewForConfig(controllerContext.ProtoKubeConfig)
@@ -436,14 +449,19 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
436449
clusterOperatorStatus := status.NewClusterOperatorStatusController(
437450
api.ClusterOperatorName,
438451
[]configv1.ObjectReference{
439-
{Group: operatorv1.GroupName, Resource: "consoles", Name: api.ConfigResourceName},
440-
{Group: configv1.GroupName, Resource: "consoles", Name: api.ConfigResourceName},
441-
{Group: configv1.GroupName, Resource: "infrastructures", Name: api.ConfigResourceName},
442-
{Group: configv1.GroupName, Resource: "proxies", Name: api.ConfigResourceName},
443-
{Group: configv1.GroupName, Resource: "oauths", Name: api.ConfigResourceName},
444-
{Group: corev1.GroupName, Resource: "namespaces", Name: api.OpenShiftConsoleOperatorNamespace},
445-
{Group: corev1.GroupName, Resource: "namespaces", Name: api.OpenShiftConsoleNamespace},
446-
{Group: corev1.GroupName, Resource: "configmaps", Name: api.OpenShiftConsolePublicConfigMapName, Namespace: api.OpenShiftConfigManagedNamespace},
452+
{Group: operatorv1.GroupName, Resource: consoleResource, Name: api.ConfigResourceName},
453+
{Group: configv1.GroupName, Resource: consoleResource, Name: api.ConfigResourceName},
454+
{Group: configv1.GroupName, Resource: infrastructureResource, Name: api.ConfigResourceName},
455+
{Group: configv1.GroupName, Resource: proxyResource, Name: api.ConfigResourceName},
456+
{Group: configv1.GroupName, Resource: oauthResource, Name: api.ConfigResourceName},
457+
{Group: corev1.GroupName, Resource: namespaceResource, Name: api.OpenShiftConsoleOperatorNamespace},
458+
{Group: corev1.GroupName, Resource: namespaceResource, Name: api.OpenShiftConsoleNamespace},
459+
{Group: corev1.GroupName, Resource: configMapResource, Name: api.OpenShiftConsolePublicConfigMapName, Namespace: api.OpenShiftConfigManagedNamespace},
460+
{Group: rbacv1.GroupName, Resource: clusterRoleResource, Name: api.OpenShiftConsoleOperator},
461+
{Group: rbacv1.GroupName, Resource: clusterRoleResource, Name: api.OpenShiftConsoleName},
462+
{Group: rbacv1.GroupName, Resource: clusterRoleResource, Name: api.HelmChartreposViewerRoleName},
463+
{Group: rbacv1.GroupName, Resource: clusterRoleResource, Name: api.ProjectHelmChartrepositoryEditorRoleName},
464+
{Group: rbacv1.GroupName, Resource: clusterRoleResource, Name: api.ConsoleExtensionsReaderRoleName},
447465
},
448466
// clusteroperator client
449467
configClient.ConfigV1(),
@@ -469,22 +487,22 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
469487
for _, plugin := range consolePlugins.Items {
470488
relatedObjects = append(relatedObjects, configv1.ObjectReference{
471489
Group: "console.openshift.io",
472-
Resource: "consoleplugins",
490+
Resource: consolePluginResource,
473491
Name: plugin.GetName(),
474492
})
475493
if plugin.Spec.Backend.Service != nil {
476494
ns := plugin.Spec.Backend.Service.Namespace
477495
relatedObjects = append(relatedObjects, configv1.ObjectReference{
478496
Group: corev1.GroupName,
479-
Resource: "namespaces",
497+
Resource: namespaceResource,
480498
Name: ns,
481499
})
482500
}
483501
for _, proxy := range plugin.Spec.Proxy {
484502
if proxy.Endpoint.Service != nil && proxy.Endpoint.Service.Namespace != "" {
485503
relatedObjects = append(relatedObjects, configv1.ObjectReference{
486504
Group: corev1.GroupName,
487-
Resource: "namespaces",
505+
Resource: namespaceResource,
488506
Name: proxy.Endpoint.Service.Namespace,
489507
})
490508
}
@@ -499,7 +517,7 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
499517
case "", configv1.AuthenticationTypeIntegratedOAuth:
500518
relatedObjects = append(relatedObjects, configv1.ObjectReference{
501519
Group: oauth.GroupName,
502-
Resource: "oauthclients",
520+
Resource: oauthClientResource,
503521
Name: api.OAuthClientName})
504522
}
505523

0 commit comments

Comments
 (0)