From f4d60f9c2080bfd33cab7ada3868515dc6593ebf Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 24 Sep 2019 11:07:33 -0400 Subject: [PATCH] Plumb context to webhook calls Kubernetes-commit: b78edd86b8766b96278bcb46301f751d9e6e3631 --- plugin/pkg/authenticator/token/webhook/webhook.go | 8 ++++++-- plugin/pkg/authorizer/webhook/webhook.go | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/plugin/pkg/authenticator/token/webhook/webhook.go b/plugin/pkg/authenticator/token/webhook/webhook.go index 9105eb7b8..bbc8eef51 100644 --- a/plugin/pkg/authenticator/token/webhook/webhook.go +++ b/plugin/pkg/authenticator/token/webhook/webhook.go @@ -99,7 +99,7 @@ func (w *WebhookTokenAuthenticator) AuthenticateToken(ctx context.Context, token auds authenticator.Audiences ) webhook.WithExponentialBackoff(ctx, w.initialBackoff, func() error { - result, err = w.tokenReview.Create(r) + result, err = w.tokenReview.CreateContext(ctx, r) return err }) if err != nil { @@ -171,7 +171,11 @@ type tokenReviewClient struct { } func (t *tokenReviewClient) Create(tokenReview *authentication.TokenReview) (*authentication.TokenReview, error) { + return t.CreateContext(context.Background(), tokenReview) +} + +func (t *tokenReviewClient) CreateContext(ctx context.Context, tokenReview *authentication.TokenReview) (*authentication.TokenReview, error) { result := &authentication.TokenReview{} - err := t.w.RestClient.Post().Body(tokenReview).Do().Into(result) + err := t.w.RestClient.Post().Context(ctx).Body(tokenReview).Do().Into(result) return result, err } diff --git a/plugin/pkg/authorizer/webhook/webhook.go b/plugin/pkg/authorizer/webhook/webhook.go index eb6f7af17..4006f1ac7 100644 --- a/plugin/pkg/authorizer/webhook/webhook.go +++ b/plugin/pkg/authorizer/webhook/webhook.go @@ -189,7 +189,7 @@ func (w *WebhookAuthorizer) Authorize(ctx context.Context, attr authorizer.Attri err error ) webhook.WithExponentialBackoff(ctx, w.initialBackoff, func() error { - result, err = w.subjectAccessReview.Create(r) + result, err = w.subjectAccessReview.CreateContext(ctx, r) return err }) if err != nil { @@ -265,8 +265,12 @@ type subjectAccessReviewClient struct { } func (t *subjectAccessReviewClient) Create(subjectAccessReview *authorization.SubjectAccessReview) (*authorization.SubjectAccessReview, error) { + return t.CreateContext(context.Background(), subjectAccessReview) +} + +func (t *subjectAccessReviewClient) CreateContext(ctx context.Context, subjectAccessReview *authorization.SubjectAccessReview) (*authorization.SubjectAccessReview, error) { result := &authorization.SubjectAccessReview{} - err := t.w.RestClient.Post().Body(subjectAccessReview).Do().Into(result) + err := t.w.RestClient.Post().Context(ctx).Body(subjectAccessReview).Do().Into(result) return result, err }