From b20ba79d17fd85a796386760df4d54d7be3ae6e6 Mon Sep 17 00:00:00 2001 From: Darren Shepherd Date: Wed, 18 Sep 2019 20:43:19 -0700 Subject: [PATCH] Notify startup to grab a hold of handler and authenticator Fix to the completed options config Signed-off-by: galal-hussein --- cmd/kube-apiserver/app/server.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index 91ccbb12f2c..d7dee03da48 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -22,6 +22,7 @@ package app import ( "context" "fmt" + "net/http" "net/url" "os" @@ -30,6 +31,7 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apiserver/pkg/admission" + "k8s.io/apiserver/pkg/authentication/authenticator" genericapifilters "k8s.io/apiserver/pkg/endpoints/filters" genericapiserver "k8s.io/apiserver/pkg/server" "k8s.io/apiserver/pkg/server/egressselector" @@ -135,6 +137,13 @@ cluster's shared state through which all other components interact.`, return cmd } +type startupConfig struct { + Handler http.Handler + Authenticator authenticator.Request +} + +var StartupConfig = make(chan startupConfig, 1) + // Run runs the specified APIServer. This should never exit. func Run(ctx context.Context, opts options.CompletedOptions, stopCh <-chan struct{}) error { // To help debugging, immediately log version @@ -184,6 +193,12 @@ func CreateServerChain(config CompletedConfig) (*aggregatorapiserver.APIAggregat return nil, err } + StartupConfig <- startupConfig{ + Handler: aggregatorServer.GenericAPIServer.Handler, + Authenticator: config.KubeAPIs.ControlPlane.Generic.Authentication.Authenticator, + } + close(StartupConfig) + return aggregatorServer, nil }