Skip to content

Commit 3ac34a4

Browse files
Support both Cert v1 and v1beta1 APIs (#99)
1 parent 0c9b9f5 commit 3ac34a4

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

pkg/kube/kube_fake.go

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import (
5151
batchv1 "k8s.io/api/batch/v1"
5252
batchv1b1 "k8s.io/api/batch/v1beta1"
5353
csr "k8s.io/api/certificates/v1"
54+
csrv1b1 "k8s.io/api/certificates/v1beta1"
5455
corev1 "k8s.io/api/core/v1"
5556
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
5657
networkingv1 "k8s.io/api/networking/v1"
@@ -146,14 +147,22 @@ func (h *fakeKube) ServeHTTP(w http.ResponseWriter, r *http.Request) {
146147
}
147148
csReq, ok := obj.(*csr.CertificateSigningRequest)
148149
if !ok {
149-
http.Error(w, "obj is not a *csr.CertificateSigningRequest", http.StatusBadRequest)
150-
return
150+
csReq, okV1b1 := obj.(*csrv1b1.CertificateSigningRequest)
151+
if !okV1b1 {
152+
http.Error(w, "obj is not a *csr.CertificateSigningRequest", http.StatusBadRequest)
153+
return
154+
}
155+
csReq.TypeMeta = metav1.TypeMeta{
156+
APIVersion: "certificates.k8s.io/v1beta1",
157+
Kind: "CertificateSigningRequest",
158+
}
159+
} else {
160+
csReq.TypeMeta = metav1.TypeMeta{
161+
APIVersion: "certificates.k8s.io/v1",
162+
Kind: "CertificateSigningRequest",
163+
}
151164
}
152165
csReq.Status.Certificate = []byte("cert")
153-
csReq.TypeMeta = metav1.TypeMeta{
154-
APIVersion: "certificates.k8s.io/v1",
155-
Kind: "CertificateSigningRequest",
156-
}
157166
data, err = apiruntime.Encode(unstructured.UnstructuredJSONScheme, csReq)
158167
if err != nil {
159168
http.Error(w, err.Error(), http.StatusBadRequest)
@@ -420,6 +429,12 @@ func fakeDiscovery() discovery.DiscoveryInterface {
420429
{Name: "certificatesigningrequests", Kind: "CertificateSigningRequest"},
421430
},
422431
},
432+
{
433+
GroupVersion: csrv1b1.SchemeGroupVersion.String(),
434+
APIResources: []metav1.APIResource{
435+
{Name: "certificatesigningrequests", Kind: "CertificateSigningRequest"},
436+
},
437+
},
423438
{
424439
GroupVersion: admissionregistrationv1.SchemeGroupVersion.String(),
425440
APIResources: []metav1.APIResource{

0 commit comments

Comments
 (0)