From f35d20c6c67a932c1e8270975cdd725a25451edb Mon Sep 17 00:00:00 2001 From: ivan katliarchuk Date: Thu, 8 Jan 2026 08:36:43 +0000 Subject: [PATCH 1/2] chore(api): deduplicate addKnownTypes Signed-off-by: ivan katliarchuk --- source/crd.go | 11 +----- source/crd_test.go | 89 +++++++++++++++++++--------------------------- 2 files changed, 37 insertions(+), 63 deletions(-) diff --git a/source/crd.go b/source/crd.go index 0fa01a1af1..2b2a172afb 100644 --- a/source/crd.go +++ b/source/crd.go @@ -62,15 +62,6 @@ type crdSource struct { informer cache.SharedInformer } -func addKnownTypes(scheme *runtime.Scheme, groupVersion schema.GroupVersion) error { - scheme.AddKnownTypes(groupVersion, - &apiv1alpha1.DNSEndpoint{}, - &apiv1alpha1.DNSEndpointList{}, - ) - metav1.AddToGroupVersion(scheme, groupVersion) - return nil -} - // NewCRDClientForAPIVersionKind return rest client for the given apiVersion and kind of the CRD func NewCRDClientForAPIVersionKind(client kubernetes.Interface, kubeConfig, apiServerURL, apiVersion, kind string) (*rest.RESTClient, *runtime.Scheme, error) { if kubeConfig == "" { @@ -105,7 +96,7 @@ func NewCRDClientForAPIVersionKind(client kubernetes.Interface, kubeConfig, apiS } scheme := runtime.NewScheme() - _ = addKnownTypes(scheme, groupVersion) + _ = apiv1alpha1.AddToScheme(scheme) config.GroupVersion = &groupVersion config.APIPath = "/apis" diff --git a/source/crd_test.go b/source/crd_test.go index 68a33f98cb..728ab4e3ef 100644 --- a/source/crd_test.go +++ b/source/crd_test.go @@ -66,7 +66,7 @@ func objBody(codec runtime.Encoder, obj runtime.Object) io.ReadCloser { func fakeRESTClient(endpoints []*endpoint.Endpoint, apiVersion, kind, namespace, name string, annotations map[string]string, labels map[string]string, _ *testing.T) rest.Interface { groupVersion, _ := schema.ParseGroupVersion(apiVersion) scheme := runtime.NewScheme() - _ = addKnownTypes(scheme, groupVersion) + _ = apiv1alpha1.AddToScheme(scheme) dnsEndpointList := apiv1alpha1.DNSEndpointList{} dnsEndpoint := &apiv1alpha1.DNSEndpoint{ @@ -152,27 +152,10 @@ func testCRDSourceEndpoints(t *testing.T) { annotations map[string]string labels map[string]string }{ - { - title: "invalid crd api version", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "blah.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", - endpoints: []*endpoint.Endpoint{ - { - DNSName: "abc.example.org", - Targets: endpoint.Targets{"1.2.3.4"}, - RecordType: endpoint.RecordTypeA, - RecordTTL: 180, - }, - }, - expectEndpoints: false, - expectError: true, - }, { title: "invalid crd kind", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "JustEndpoint", endpoints: []*endpoint.Endpoint{ @@ -188,8 +171,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "endpoints within a specific namespace", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -207,8 +190,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "no endpoints within a specific namespace", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -226,8 +209,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd with no targets (relies on default-targets)", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -245,8 +228,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with single endpoint", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -264,8 +247,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with multiple endpoints", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -289,8 +272,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with annotation and non matching annotation filter", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -310,8 +293,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with annotation and matching annotation filter", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -331,8 +314,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with label and non matching label filter", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -352,8 +335,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with label and matching label filter", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -373,8 +356,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "Create NS record", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -394,8 +377,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "Create SRV record", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -415,8 +398,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "Create NAPTR record", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -436,8 +419,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "illegal target CNAME", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -457,8 +440,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "illegal target NAPTR", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -478,8 +461,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid target TXT", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -499,8 +482,8 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "illegal target A", - registeredAPIVersion: "test.k8s.io/v1alpha1", - apiVersion: "test.k8s.io/v1alpha1", + registeredAPIVersion: "externaldns.k8s.io/v1alpha1", + apiVersion: "externaldns.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", kind: "DNSEndpoint", namespace: "foo", @@ -528,7 +511,7 @@ func testCRDSourceEndpoints(t *testing.T) { require.NotNil(t, groupVersion) scheme := runtime.NewScheme() - err = addKnownTypes(scheme, groupVersion) + err = apiv1alpha1.AddToScheme(scheme) require.NoError(t, err) labelSelector, err := labels.Parse(ti.labelFilter) From b4e7c2c7ed9a6b1d3e01eed7c811f5b60309d8d7 Mon Sep 17 00:00:00 2001 From: ivan katliarchuk Date: Thu, 8 Jan 2026 09:06:27 +0000 Subject: [PATCH 2/2] chore(api): deduplicate addKnownTypes Signed-off-by: ivan katliarchuk --- apis/v1alpha1/groupversion_info.go | 5 + source/crd_test.go | 151 ++++++++++++++++------------- 2 files changed, 89 insertions(+), 67 deletions(-) diff --git a/apis/v1alpha1/groupversion_info.go b/apis/v1alpha1/groupversion_info.go index 926c4bc927..11405e6144 100644 --- a/apis/v1alpha1/groupversion_info.go +++ b/apis/v1alpha1/groupversion_info.go @@ -24,6 +24,11 @@ import ( "sigs.k8s.io/controller-runtime/pkg/scheme" ) +const ( + // DNSEndpointKind is the kind name for DNSEndpoint resources + DNSEndpointKind = "DNSEndpoint" +) + var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "externaldns.k8s.io", Version: "v1alpha1"} diff --git a/source/crd_test.go b/source/crd_test.go index 728ab4e3ef..4de29cf921 100644 --- a/source/crd_test.go +++ b/source/crd_test.go @@ -153,10 +153,27 @@ func testCRDSourceEndpoints(t *testing.T) { labels map[string]string }{ { - title: "invalid crd kind", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", + title: "invalid crd api version", + registeredAPIVersion: "test.k8s.io/v1alpha1", + apiVersion: "blah.k8s.io/v1alpha1", registeredKind: "DNSEndpoint", + kind: "DNSEndpoint", + endpoints: []*endpoint.Endpoint{ + { + DNSName: "abc.example.org", + Targets: endpoint.Targets{"1.2.3.4"}, + RecordType: endpoint.RecordTypeA, + RecordTTL: 180, + }, + }, + expectEndpoints: false, + expectError: true, + }, + { + title: "invalid crd kind", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, kind: "JustEndpoint", endpoints: []*endpoint.Endpoint{ { @@ -171,10 +188,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "endpoints within a specific namespace", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", endpoints: []*endpoint.Endpoint{ @@ -190,10 +207,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "no endpoints within a specific namespace", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "bar", endpoints: []*endpoint.Endpoint{ @@ -209,10 +226,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd with no targets (relies on default-targets)", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", endpoints: []*endpoint.Endpoint{ @@ -228,10 +245,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with single endpoint", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", endpoints: []*endpoint.Endpoint{ @@ -247,10 +264,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with multiple endpoints", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", endpoints: []*endpoint.Endpoint{ @@ -272,10 +289,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with annotation and non matching annotation filter", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", annotations: map[string]string{"test": "that"}, @@ -293,10 +310,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with annotation and matching annotation filter", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", annotations: map[string]string{"test": "that"}, @@ -314,10 +331,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with label and non matching label filter", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -335,10 +352,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid crd gvk with label and matching label filter", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -356,10 +373,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "Create NS record", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -377,10 +394,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "Create SRV record", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -398,10 +415,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "Create NAPTR record", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -419,10 +436,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "illegal target CNAME", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -440,10 +457,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "illegal target NAPTR", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -461,10 +478,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "valid target TXT", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"}, @@ -482,10 +499,10 @@ func testCRDSourceEndpoints(t *testing.T) { }, { title: "illegal target A", - registeredAPIVersion: "externaldns.k8s.io/v1alpha1", - apiVersion: "externaldns.k8s.io/v1alpha1", - registeredKind: "DNSEndpoint", - kind: "DNSEndpoint", + registeredAPIVersion: apiv1alpha1.GroupVersion.String(), + apiVersion: apiv1alpha1.GroupVersion.String(), + registeredKind: apiv1alpha1.DNSEndpointKind, + kind: apiv1alpha1.DNSEndpointKind, namespace: "foo", registeredNamespace: "foo", labels: map[string]string{"test": "that"},