From 784a349adf9f17985e7b28c50cd7d141f2af5d85 Mon Sep 17 00:00:00 2001 From: Samuel Padgett Date: Fri, 21 Feb 2020 08:35:53 -0500 Subject: [PATCH] Bug 1795398: Support dashboard config map lister in off-cluster mode Use `fK8sAuthBearerToken` for the dashboard config map lister when running in off-cluster mode for development. --- cmd/bridge/main.go | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/cmd/bridge/main.go b/cmd/bridge/main.go index 731ecb0515e..50edd9d709e 100644 --- a/cmd/bridge/main.go +++ b/cmd/bridge/main.go @@ -381,24 +381,6 @@ func main() { }, } - srv.MonitoringDashboardConfigMapLister = &server.ResourceLister{ - BearerToken: k8sAuthServiceAccountBearerToken, - RequestURL: &url.URL{ - Scheme: k8sEndpoint.Scheme, - Host: k8sEndpoint.Host, - Path: "/api/v1/namespaces/openshift-config-managed/configmaps", - RawQuery: url.Values{ - "labelSelector": {"console.openshift.io/dashboard=true"}, - }.Encode(), - }, - - Client: &http.Client{ - Transport: &http.Transport{ - TLSClientConfig: srv.K8sProxyConfig.TLSClientConfig, - }, - }, - } - switch *fUserAuth { case "oidc", "openshift": bridge.ValidateFlagNotEmpty("base-address", *fBaseAddress) @@ -497,21 +479,43 @@ func main() { bridge.FlagFatalf("user-auth", "must be one of: oidc, disabled") } + var resourceListerToken string switch *fK8sAuth { case "service-account": bridge.ValidateFlagIs("k8s-mode", *fK8sMode, "in-cluster") srv.StaticUser = &auth.User{ Token: k8sAuthServiceAccountBearerToken, } + resourceListerToken = k8sAuthServiceAccountBearerToken case "bearer-token": bridge.ValidateFlagNotEmpty("k8s-auth-bearer-token", *fK8sAuthBearerToken) srv.StaticUser = &auth.User{ Token: *fK8sAuthBearerToken, } + resourceListerToken = *fK8sAuthBearerToken case "oidc", "openshift": bridge.ValidateFlagIs("user-auth", *fUserAuth, "oidc", "openshift") + resourceListerToken = k8sAuthServiceAccountBearerToken default: - bridge.FlagFatalf("k8s-mode", "must be one of: service-account, bearer-token, oidc") + bridge.FlagFatalf("k8s-mode", "must be one of: service-account, bearer-token, oidc, openshift") + } + + srv.MonitoringDashboardConfigMapLister = &server.ResourceLister{ + BearerToken: resourceListerToken, + RequestURL: &url.URL{ + Scheme: k8sEndpoint.Scheme, + Host: k8sEndpoint.Host, + Path: "/api/v1/namespaces/openshift-config-managed/configmaps", + RawQuery: url.Values{ + "labelSelector": {"console.openshift.io/dashboard=true"}, + }.Encode(), + }, + + Client: &http.Client{ + Transport: &http.Transport{ + TLSClientConfig: srv.K8sProxyConfig.TLSClientConfig, + }, + }, } listenURL := bridge.ValidateFlagIsURL("listen", *fListen)