Fix ctl
Signed-off-by: Maartje Eyskens <maartje@eyskens.me>
This commit is contained in:
parent
c83ef5ee77
commit
b0a80d4ef5
@ -9,10 +9,14 @@ go_library(
|
||||
"//pkg/internal/apis/acme/install:go_default_library",
|
||||
"//pkg/internal/apis/certmanager/install:go_default_library",
|
||||
"//pkg/internal/apis/meta/install:go_default_library",
|
||||
"@io_k8s_api//core/v1:go_default_library",
|
||||
"@io_k8s_apimachinery//pkg/apis/meta/internalversion:go_default_library",
|
||||
"@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
|
||||
"@io_k8s_apimachinery//pkg/conversion:go_default_library",
|
||||
"@io_k8s_apimachinery//pkg/runtime:go_default_library",
|
||||
"@io_k8s_apimachinery//pkg/runtime/schema:go_default_library",
|
||||
"@io_k8s_apimachinery//pkg/util/runtime:go_default_library",
|
||||
"@io_k8s_client_go//kubernetes/scheme:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
|
||||
@ -17,16 +17,17 @@ limitations under the License.
|
||||
package ctl
|
||||
|
||||
import (
|
||||
acmeinstall "github.com/jetstack/cert-manager/pkg/internal/apis/acme/install"
|
||||
cminstall "github.com/jetstack/cert-manager/pkg/internal/apis/certmanager/install"
|
||||
metainstall "github.com/jetstack/cert-manager/pkg/internal/apis/meta/install"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/conversion"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
kscheme "k8s.io/client-go/kubernetes/scheme"
|
||||
|
||||
acmeinstall "github.com/jetstack/cert-manager/pkg/internal/apis/acme/install"
|
||||
cminstall "github.com/jetstack/cert-manager/pkg/internal/apis/certmanager/install"
|
||||
metainstall "github.com/jetstack/cert-manager/pkg/internal/apis/meta/install"
|
||||
)
|
||||
|
||||
// Define a Scheme that has all cert-manager API types registered, including
|
||||
@ -47,7 +48,25 @@ func init() {
|
||||
// This is used to add the List object type
|
||||
listGroupVersion := schema.GroupVersionKind{Group: "", Version: runtime.APIVersionInternal, Kind: "List"}
|
||||
Scheme.AddKnownTypeWithName(listGroupVersion, &metainternalversion.List{})
|
||||
|
||||
metav1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
|
||||
|
||||
utilruntime.Must(kscheme.AddToScheme(Scheme))
|
||||
utilruntime.Must(metainternalversion.AddToScheme(Scheme))
|
||||
|
||||
// Adds the conversion between internalmeta.List and corev1.List
|
||||
Scheme.AddConversionFunc((*corev1.List)(nil), (*metainternalversion.List)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
metaList := &metav1.List{}
|
||||
metaList.Items = a.(*corev1.List).Items
|
||||
return metainternalversion.Convert_v1_List_To_internalversion_List(metaList, b.(*metainternalversion.List), scope)
|
||||
})
|
||||
|
||||
Scheme.AddConversionFunc((*metainternalversion.List)(nil), (*corev1.List)(nil), func(a, b interface{}, scope conversion.Scope) error {
|
||||
metaList := &metav1.List{}
|
||||
err := metainternalversion.Convert_internalversion_List_To_v1_List(a.(*metainternalversion.List), metaList, scope)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
b.(*corev1.List).Items = metaList.Items
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user