From 04351cae16e1a63fe8b7ee14da50bfacfe479e61 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Tue, 2 Jun 2020 13:53:26 -0400 Subject: [PATCH] Make kubectl tolerate other versions of the CSR API Kubernetes-commit: 79cd198238d9eff9fec4ab4a2b5f7a72501ba0c1 --- pkg/cmd/certificates/certificates.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/cmd/certificates/certificates.go b/pkg/cmd/certificates/certificates.go index cacce27b..35119e03 100644 --- a/pkg/cmd/certificates/certificates.go +++ b/pkg/cmd/certificates/certificates.go @@ -221,7 +221,7 @@ func (o *CertificateOptions) modifyCertificateCondition(builder *resource.Builde WithScheme(scheme.Scheme, scheme.Scheme.PrioritizedVersionsAllGroups()...). ContinueOnError(). FilenameParam(false, &o.FilenameOptions). - ResourceNames("certificatesigningrequest", o.csrNames...). + ResourceNames("certificatesigningrequests.v1beta1.certificates.k8s.io", o.csrNames...). RequireObject(true). Flatten(). Latest(). @@ -231,7 +231,10 @@ func (o *CertificateOptions) modifyCertificateCondition(builder *resource.Builde return err } for i := 0; ; i++ { - csr := info.Object.(*certificatesv1beta1.CertificateSigningRequest) + csr, ok := info.Object.(*certificatesv1beta1.CertificateSigningRequest) + if !ok { + return fmt.Errorf("can only handle certificates.k8s.io/v1beta1 certificate signing requests") + } csr, hasCondition := modify(csr) if !hasCondition || force { csr, err = clientSet.CertificateSigningRequests().UpdateApproval(csr)