@@ -30,17 +30,14 @@ import (
30
30
"strings"
31
31
"time"
32
32
33
- "github.com/go-openapi/spec"
34
33
"github.com/spf13/cobra"
35
34
36
35
extensionsapiserver "k8s.io/apiextensions-apiserver/pkg/apiserver"
37
- v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
38
36
utilerrors "k8s.io/apimachinery/pkg/util/errors"
39
37
utilnet "k8s.io/apimachinery/pkg/util/net"
40
38
"k8s.io/apimachinery/pkg/util/sets"
41
39
utilwait "k8s.io/apimachinery/pkg/util/wait"
42
40
"k8s.io/apiserver/pkg/admission"
43
- "k8s.io/apiserver/pkg/authentication/authenticator"
44
41
"k8s.io/apiserver/pkg/authorization/authorizer"
45
42
openapinamer "k8s.io/apiserver/pkg/endpoints/openapi"
46
43
genericfeatures "k8s.io/apiserver/pkg/features"
@@ -70,7 +67,6 @@ import (
70
67
"k8s.io/kubernetes/cmd/kube-apiserver/app/options"
71
68
"k8s.io/kubernetes/pkg/api/legacyscheme"
72
69
"k8s.io/kubernetes/pkg/capabilities"
73
- serviceaccountcontroller "k8s.io/kubernetes/pkg/controller/serviceaccount"
74
70
"k8s.io/kubernetes/pkg/features"
75
71
generatedopenapi "k8s.io/kubernetes/pkg/generated/openapi"
76
72
"k8s.io/kubernetes/pkg/kubeapiserver"
@@ -85,7 +81,6 @@ import (
85
81
"k8s.io/kubernetes/pkg/registry/cachesize"
86
82
rbacrest "k8s.io/kubernetes/pkg/registry/rbac/rest"
87
83
"k8s.io/kubernetes/pkg/serviceaccount"
88
- "k8s.io/kubernetes/plugin/pkg/auth/authenticator/token/bootstrap"
89
84
)
90
85
91
86
const (
@@ -440,9 +435,6 @@ func buildGenericConfig(
440
435
if lastErr = s .SecureServing .ApplyTo (& genericConfig .SecureServing , & genericConfig .LoopbackClientConfig ); lastErr != nil {
441
436
return
442
437
}
443
- if lastErr = s .Authentication .ApplyTo (genericConfig ); lastErr != nil {
444
- return
445
- }
446
438
if lastErr = s .Features .ApplyTo (genericConfig ); lastErr != nil {
447
439
return
448
440
}
@@ -498,9 +490,8 @@ func buildGenericConfig(
498
490
}
499
491
versionedInformers = clientgoinformers .NewSharedInformerFactory (clientgoExternalClient , 10 * time .Minute )
500
492
501
- genericConfig .Authentication .Authenticator , genericConfig .OpenAPIConfig .SecurityDefinitions , err = BuildAuthenticator (s , genericConfig .EgressSelector , clientgoExternalClient , versionedInformers )
502
- if err != nil {
503
- lastErr = fmt .Errorf ("invalid authentication config: %v" , err )
493
+ // Authentication.ApplyTo requires already applied OpenAPIConfig and EgressSelector if present
494
+ if lastErr = s .Authentication .ApplyTo (& genericConfig .Authentication , genericConfig .SecureServing , genericConfig .EgressSelector , genericConfig .OpenAPIConfig , clientgoExternalClient , versionedInformers ); lastErr != nil {
504
495
return
505
496
}
506
497
@@ -559,35 +550,6 @@ func buildGenericConfig(
559
550
return
560
551
}
561
552
562
- // BuildAuthenticator constructs the authenticator
563
- func BuildAuthenticator (s * options.ServerRunOptions , EgressSelector * egressselector.EgressSelector , extclient clientgoclientset.Interface , versionedInformer clientgoinformers.SharedInformerFactory ) (authenticator.Request , * spec.SecurityDefinitions , error ) {
564
- authenticatorConfig , err := s .Authentication .ToAuthenticationConfig ()
565
- if err != nil {
566
- return nil , nil , err
567
- }
568
- if s .Authentication .ServiceAccounts .Lookup || utilfeature .DefaultFeatureGate .Enabled (features .TokenRequest ) {
569
- authenticatorConfig .ServiceAccountTokenGetter = serviceaccountcontroller .NewGetterFromClient (
570
- extclient ,
571
- versionedInformer .Core ().V1 ().Secrets ().Lister (),
572
- versionedInformer .Core ().V1 ().ServiceAccounts ().Lister (),
573
- versionedInformer .Core ().V1 ().Pods ().Lister (),
574
- )
575
- }
576
- authenticatorConfig .BootstrapTokenAuthenticator = bootstrap .NewTokenAuthenticator (
577
- versionedInformer .Core ().V1 ().Secrets ().Lister ().Secrets (v1 .NamespaceSystem ),
578
- )
579
-
580
- if EgressSelector != nil {
581
- egressDialer , err := EgressSelector .Lookup (egressselector .Master .AsNetworkContext ())
582
- if err != nil {
583
- return nil , nil , err
584
- }
585
- authenticatorConfig .CustomDial = egressDialer
586
- }
587
-
588
- return authenticatorConfig .New ()
589
- }
590
-
591
553
// BuildAuthorizer constructs the authorizer
592
554
func BuildAuthorizer (s * options.ServerRunOptions , EgressSelector * egressselector.EgressSelector , versionedInformers clientgoinformers.SharedInformerFactory ) (authorizer.Authorizer , authorizer.RuleResolver , error ) {
593
555
authorizationConfig := s .Authorization .ToAuthorizationConfig (versionedInformers )
0 commit comments