Skip to content

Commit f8c653e

Browse files
mfojtiksoltysh
authored andcommitted
interesting: plumb external informers to aggregator
1 parent 81ddbdf commit f8c653e

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

pkg/cmd/server/origin/aggregator.go

+12-5
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
utilnet "k8s.io/apimachinery/pkg/util/net"
3535
genericapiserver "k8s.io/apiserver/pkg/server"
3636
"k8s.io/apiserver/pkg/server/healthz"
37+
kubeexternalinformers "k8s.io/client-go/informers"
3738
"k8s.io/kube-aggregator/pkg/apis/apiregistration"
3839
aggregatorapiserver "k8s.io/kube-aggregator/pkg/apiserver"
3940
apiregistrationclient "k8s.io/kube-aggregator/pkg/client/clientset_generated/internalclientset/typed/apiregistration/internalversion"
@@ -42,12 +43,14 @@ import (
4243
"k8s.io/kubernetes/pkg/master/controller/crdregistration"
4344
)
4445

45-
func (c *MasterConfig) createAggregatorConfig(genericConfig genericapiserver.RecommendedConfig) (*aggregatorapiserver.Config, error) {
46+
func (c *MasterConfig) createAggregatorConfig(kubeAPIServerConfig genericapiserver.Config, externalInformers kubeexternalinformers.SharedInformerFactory) (*aggregatorapiserver.Config, error) {
47+
48+
genericConfig := kubeAPIServerConfig
4649
// this is a shallow copy so let's twiddle a few things
4750
// the aggregator doesn't wire these up. It just delegates them to the kubeapiserver
48-
genericConfig.Config.EnableSwaggerUI = false
49-
genericConfig.Config.SwaggerConfig = nil
50-
genericConfig.Config.OpenAPIConfig = nil
51+
genericConfig.EnableSwaggerUI = false
52+
genericConfig.SwaggerConfig = nil
53+
genericConfig.OpenAPIConfig = nil
5154

5255
// This depends on aggregator types being registered into the kapi.Scheme, which is currently done in Start() to avoid concurrent scheme modification
5356
// install our types into the scheme so that "normal" RESTOptionsGetters can work for us
@@ -72,14 +75,18 @@ func (c *MasterConfig) createAggregatorConfig(genericConfig genericapiserver.Rec
7275
}
7376

7477
aggregatorConfig := &aggregatorapiserver.Config{
75-
GenericConfig: &genericConfig,
78+
GenericConfig: &genericapiserver.RecommendedConfig{
79+
Config: genericConfig,
80+
SharedInformerFactory: externalInformers,
81+
},
7682
ExtraConfig: aggregatorapiserver.ExtraConfig{
7783
ProxyClientCert: certBytes,
7884
ProxyClientKey: keyBytes,
7985
ServiceResolver: serviceResolver,
8086
ProxyTransport: utilnet.SetTransportDefaults(&http.Transport{}),
8187
},
8288
}
89+
8390
return aggregatorConfig, nil
8491
}
8592

pkg/cmd/server/origin/master.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ func (c *MasterConfig) newOAuthServerHandler(genericConfig *apiserver.Config) (h
194194
}
195195

196196
func (c *MasterConfig) withAggregator(delegateAPIServer apiserver.DelegationTarget, kubeAPIServerConfig apiserver.RecommendedConfig, apiExtensionsInformers apiextensionsinformers.SharedInformerFactory) (*aggregatorapiserver.APIAggregator, error) {
197-
aggregatorConfig, err := c.createAggregatorConfig(kubeAPIServerConfig)
197+
aggregatorConfig, err := c.createAggregatorConfig(kubeAPIServerConfig.Config, c.ClientGoKubeInformers)
198198
if err != nil {
199199
return nil, err
200200
}

0 commit comments

Comments
 (0)