@@ -30,6 +30,7 @@ import (
30
30
"k8s.io/apimachinery/pkg/runtime/schema"
31
31
"k8s.io/apiserver/pkg/authentication/authenticator"
32
32
"k8s.io/apiserver/pkg/authentication/user"
33
+ "k8s.io/apiserver/pkg/server/egressselector"
33
34
"k8s.io/apiserver/pkg/util/webhook"
34
35
"k8s.io/client-go/kubernetes/scheme"
35
36
authenticationv1client "k8s.io/client-go/kubernetes/typed/authentication/v1"
@@ -63,8 +64,8 @@ func NewFromInterface(tokenReview authenticationv1client.TokenReviewInterface, i
63
64
// file. It is recommend to wrap this authenticator with the token cache
64
65
// authenticator implemented in
65
66
// k8s.io/apiserver/pkg/authentication/token/cache.
66
- func New (kubeConfigFile string , version string , implicitAuds authenticator.Audiences ) (* WebhookTokenAuthenticator , error ) {
67
- tokenReview , err := tokenReviewInterfaceFromKubeconfig (kubeConfigFile , version )
67
+ func New (kubeConfigFile string , version string , implicitAuds authenticator.Audiences , egressLookup egressselector. Lookup ) (* WebhookTokenAuthenticator , error ) {
68
+ tokenReview , err := tokenReviewInterfaceFromKubeconfig (kubeConfigFile , version , egressLookup )
68
69
if err != nil {
69
70
return nil , err
70
71
}
@@ -153,7 +154,7 @@ func (w *WebhookTokenAuthenticator) AuthenticateToken(ctx context.Context, token
153
154
// tokenReviewInterfaceFromKubeconfig builds a client from the specified kubeconfig file,
154
155
// and returns a TokenReviewInterface that uses that client. Note that the client submits TokenReview
155
156
// requests to the exact path specified in the kubeconfig file, so arbitrary non-API servers can be targeted.
156
- func tokenReviewInterfaceFromKubeconfig (kubeConfigFile string , version string ) (tokenReviewer , error ) {
157
+ func tokenReviewInterfaceFromKubeconfig (kubeConfigFile string , version string , egressLookup egressselector. Lookup ) (tokenReviewer , error ) {
157
158
localScheme := runtime .NewScheme ()
158
159
if err := scheme .AddToScheme (localScheme ); err != nil {
159
160
return nil , err
@@ -165,7 +166,7 @@ func tokenReviewInterfaceFromKubeconfig(kubeConfigFile string, version string) (
165
166
if err := localScheme .SetVersionPriority (groupVersions ... ); err != nil {
166
167
return nil , err
167
168
}
168
- gw , err := webhook .NewGenericWebhook (localScheme , scheme .Codecs , kubeConfigFile , groupVersions , 0 )
169
+ gw , err := webhook .NewGenericWebhook (localScheme , scheme .Codecs , kubeConfigFile , groupVersions , 0 , egressLookup )
169
170
if err != nil {
170
171
return nil , err
171
172
}
@@ -176,7 +177,7 @@ func tokenReviewInterfaceFromKubeconfig(kubeConfigFile string, version string) (
176
177
if err := localScheme .SetVersionPriority (groupVersions ... ); err != nil {
177
178
return nil , err
178
179
}
179
- gw , err := webhook .NewGenericWebhook (localScheme , scheme .Codecs , kubeConfigFile , groupVersions , 0 )
180
+ gw , err := webhook .NewGenericWebhook (localScheme , scheme .Codecs , kubeConfigFile , groupVersions , 0 , egressLookup )
180
181
if err != nil {
181
182
return nil , err
182
183
}
0 commit comments