From dd7d4e2656791aa01054ebef38799c58ce2547d2 Mon Sep 17 00:00:00 2001 From: Charandas Date: Mon, 25 Mar 2024 10:12:55 -0700 Subject: [PATCH] K8s: replace a noop certKey content func with actual if available (#84524) --- pkg/services/apiserver/aggregator/aggregator.go | 16 +++++++++++++++- pkg/services/apiserver/options/aggregator.go | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/pkg/services/apiserver/aggregator/aggregator.go b/pkg/services/apiserver/aggregator/aggregator.go index 3abd7dde4f3..75028060d4c 100644 --- a/pkg/services/apiserver/aggregator/aggregator.go +++ b/pkg/services/apiserver/aggregator/aggregator.go @@ -30,6 +30,7 @@ import ( utilnet "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/sets" genericapiserver "k8s.io/apiserver/pkg/server" + "k8s.io/apiserver/pkg/server/dynamiccertificates" "k8s.io/apiserver/pkg/server/healthz" "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes/fake" @@ -245,12 +246,25 @@ func CreateAggregatorServer(config *Config, delegateAPIServer genericapiserver.D return nil, err } + proxyCurrentCertKeyContentFunc := func() ([]byte, []byte) { + return nil, nil + } + if len(config.KubeAggregatorConfig.ExtraConfig.ProxyClientCertFile) > 0 && len(config.KubeAggregatorConfig.ExtraConfig.ProxyClientKeyFile) > 0 { + aggregatorProxyCerts, err := dynamiccertificates.NewDynamicServingContentFromFiles("aggregator-proxy-cert", config.KubeAggregatorConfig.ExtraConfig.ProxyClientCertFile, config.KubeAggregatorConfig.ExtraConfig.ProxyClientKeyFile) + if err != nil { + return nil, err + } + proxyCurrentCertKeyContentFunc = func() ([]byte, []byte) { + return aggregatorProxyCerts.CurrentCertKeyContent() + } + } + availableController, err := NewAvailableConditionController( aggregatorServer.APIRegistrationInformers.Apiregistration().V1().APIServices(), externalNamesInformer, apiregistrationClient.ApiregistrationV1(), nil, - (func() ([]byte, []byte))(nil), + proxyCurrentCertKeyContentFunc, completedConfig.ExtraConfig.ServiceResolver, ) if err != nil { diff --git a/pkg/services/apiserver/options/aggregator.go b/pkg/services/apiserver/options/aggregator.go index 911b6c9c951..56728814696 100644 --- a/pkg/services/apiserver/options/aggregator.go +++ b/pkg/services/apiserver/options/aggregator.go @@ -39,7 +39,7 @@ func (o *AggregatorServerOptions) AddFlags(fs *pflag.FlagSet) { "path to proxy client cert file") fs.StringVar(&o.ProxyClientKeyFile, "proxy-client-key-file", o.ProxyClientKeyFile, - "path to proxy client cert file") + "path to proxy client key file") } func (o *AggregatorServerOptions) Validate() []error {