diff --git a/chart/k8gb/templates/_helpers.tpl b/chart/k8gb/templates/_helpers.tpl index 35549f4ef8..3261798e3d 100644 --- a/chart/k8gb/templates/_helpers.tpl +++ b/chart/k8gb/templates/_helpers.tpl @@ -62,15 +62,6 @@ Create the name of the service account to use {{- end -}} {{- end -}} -{{- define "k8gb.extdnsAnnotation" -}} -{{- if .Values.ns1.enabled -}} -{{- print "ns1" -}} -{{- end -}} -{{- if .Values.route53.enabled }} -{{- print "route53" -}} -{{- end -}} -{{- end -}} - {{- define "k8gb.extdnsProvider" -}} {{- if .Values.ns1.enabled -}} {{- print "ns1" -}} diff --git a/chart/k8gb/templates/external-dns/external-dns.yaml b/chart/k8gb/templates/external-dns/external-dns.yaml index 889396007a..bb32865887 100644 --- a/chart/k8gb/templates/external-dns/external-dns.yaml +++ b/chart/k8gb/templates/external-dns/external-dns.yaml @@ -28,7 +28,7 @@ spec: - --managed-record-types=A - --managed-record-types=CNAME - --managed-record-types=NS - - --annotation-filter=k8gb.absa.oss/dnstype={{ include "k8gb.extdnsAnnotation" . }} # filter out only relevant DNSEntrypoints + - --annotation-filter=k8gb.absa.oss/dnstype=extdns # filter out only relevant DNSEntrypoints - --txt-owner-id={{ include "k8gb.extdnsOwnerID" . }} - --provider={{ include "k8gb.extdnsProvider" . }} {{- if .Values.ns1.enabled -}} diff --git a/chart/k8gb/templates/operator.yaml b/chart/k8gb/templates/operator.yaml index 1b54c9e32c..9333ddd741 100644 --- a/chart/k8gb/templates/operator.yaml +++ b/chart/k8gb/templates/operator.yaml @@ -105,12 +105,8 @@ spec: name: infoblox key: INFOBLOX_WAPI_PASSWORD {{- end }} - {{- if .Values.route53.enabled }} - - name: ROUTE53_ENABLED - value: "true" - {{- end }} - {{- if .Values.ns1.enabled }} - - name: NS1_ENABLED + {{- if or .Values.route53.enabled .Values.ns1.enabled }} + - name: EXTDNS_ENABLED value: "true" {{- end }} {{- if eq "LoadBalancer" ( quote .Values.coredns.serviceType ) }} diff --git a/controllers/depresolver/depresolver.go b/controllers/depresolver/depresolver.go index 21ffbf729a..23a934bcd2 100644 --- a/controllers/depresolver/depresolver.go +++ b/controllers/depresolver/depresolver.go @@ -69,9 +69,7 @@ const ( // DNSTypeInfoblox type DNSTypeInfoblox EdgeDNSType = "Infoblox" // DNSTypeRoute53 type - DNSTypeRoute53 EdgeDNSType = "Route53" - // DNSTypeNS1 type - DNSTypeNS1 EdgeDNSType = "NS1" + DNSTypeExternal EdgeDNSType = "ExtDNS" // DNSTypeMultipleProviders type DNSTypeMultipleProviders EdgeDNSType = "MultipleProviders" ) @@ -138,10 +136,8 @@ type Config struct { Log Log // MetricsAddress in format address:port where address can be empty, IP address, or hostname, default: 0.0.0.0:8080 MetricsAddress string `env:"METRICS_ADDRESS, default=0.0.0.0:8080"` - // route53Enabled hidden. EdgeDNSType defines all enabled Enabled types - route53Enabled bool `env:"ROUTE53_ENABLED, default=false"` - // ns1Enabled flag - ns1Enabled bool `env:"NS1_ENABLED, default=false"` + // extDNSEnabled hidden. EdgeDNSType defines all enabled Enabled types + extDNSEnabled bool `env:"EXTDNS_ENABLED, default=false"` // SplitBrainCheck flag decides whether split brain TXT records will be stored in edge DNS SplitBrainCheck bool `env:"SPLIT_BRAIN_CHECK, default=false"` } diff --git a/controllers/depresolver/depresolver_config.go b/controllers/depresolver/depresolver_config.go index 92e7a76604..de0e3bb017 100644 --- a/controllers/depresolver/depresolver_config.go +++ b/controllers/depresolver/depresolver_config.go @@ -34,8 +34,7 @@ const ( ReconcileRequeueSecondsKey = "RECONCILE_REQUEUE_SECONDS" ClusterGeoTagKey = "CLUSTER_GEO_TAG" ExtClustersGeoTagsKey = "EXT_GSLB_CLUSTERS_GEO_TAGS" - Route53EnabledKey = "ROUTE53_ENABLED" - NS1EnabledKey = "NS1_ENABLED" + ExtDNSEnabledKey = "EXTDNS_ENABLED" EdgeDNSServersKey = "EDGE_DNS_SERVERS" EdgeDNSZoneKey = "EDGE_DNS_ZONE" DNSZoneKey = "DNS_ZONE" @@ -325,11 +324,8 @@ func parseEdgeDNSServers(serverList []string) (r []utils.DNSServer) { // getEdgeDNSType contains logic retrieving EdgeDNSType. func getEdgeDNSType(config *Config) (EdgeDNSType, []EdgeDNSType) { recognized := make([]EdgeDNSType, 0) - if config.ns1Enabled { - recognized = append(recognized, DNSTypeNS1) - } - if config.route53Enabled { - recognized = append(recognized, DNSTypeRoute53) + if config.extDNSEnabled { + recognized = append(recognized, DNSTypeExternal) } if isNotEmpty(config.Infoblox.Host) { recognized = append(recognized, DNSTypeInfoblox) diff --git a/controllers/depresolver/depresolver_test.go b/controllers/depresolver/depresolver_test.go index 35752ba444..6aefa4bb97 100644 --- a/controllers/depresolver/depresolver_test.go +++ b/controllers/depresolver/depresolver_test.go @@ -633,7 +633,7 @@ func TestBothRoute53AndInfobloxAreEnabled(t *testing.T) { customConfig.Infoblox.Username = defaultInfobloxUsername customConfig.Infoblox.Password = defaultInfobloxPassword configureEnvVar(customConfig) - _ = os.Setenv(Route53EnabledKey, "true") + _ = os.Setenv(ExtDNSEnabledKey, "true") resolver := NewDependencyResolver() // act config, err := resolver.ResolveOperatorConfig() @@ -647,8 +647,7 @@ func TestRoute53NS1AndInfobloxAreConfigured(t *testing.T) { defer cleanup() // predefinedConfig has Infoblox preconfigured configureEnvVar(predefinedConfig) - _ = os.Setenv(Route53EnabledKey, "true") - _ = os.Setenv(NS1EnabledKey, "true") + _ = os.Setenv(ExtDNSEnabledKey, "true") resolver := NewDependencyResolver() // act config, err := resolver.ResolveOperatorConfig() @@ -657,7 +656,7 @@ func TestRoute53NS1AndInfobloxAreConfigured(t *testing.T) { assert.Error(t, err) assert.Equal(t, DNSTypeMultipleProviders, config.EdgeDNSType) assert.Equal(t, recognizedEdgeDNSType, config.EdgeDNSType) - assert.Equal(t, recognizedEdgeDNSTypes, []EdgeDNSType{DNSTypeNS1, DNSTypeRoute53, DNSTypeInfoblox}) + assert.Equal(t, recognizedEdgeDNSTypes, []EdgeDNSType{DNSTypeExternal, DNSTypeInfoblox}) } func TestNoDNSIsConfigured(t *testing.T) { @@ -682,7 +681,7 @@ func TestRoute53IsDisabledAndInfobloxIsNotConfigured(t *testing.T) { defer cleanup() expected := predefinedConfig expected.EdgeDNSType = DNSTypeNoEdgeDNS - expected.route53Enabled = false + expected.extDNSEnabled = false expected.Infoblox.Host = "" // act,assert // that's how our integration tests are running @@ -693,7 +692,7 @@ func TestRoute53IsDisabledButInfobloxIsConfigured(t *testing.T) { // arrange defer cleanup() expected := predefinedConfig - expected.route53Enabled = false + expected.extDNSEnabled = false expected.EdgeDNSType = DNSTypeInfoblox expected.Infoblox.Host = "Infoblox.domain" expected.Infoblox.Version = defaultVersion @@ -708,8 +707,8 @@ func TestRoute53IsEnabledButInfobloxIsNotConfigured(t *testing.T) { // arrange defer cleanup() expected := predefinedConfig - expected.route53Enabled = true - expected.EdgeDNSType = DNSTypeRoute53 + expected.extDNSEnabled = true + expected.EdgeDNSType = DNSTypeExternal expected.Infoblox.Host = "" expected.Infoblox.Version = defaultVersion expected.Infoblox.Port = 443 @@ -723,8 +722,8 @@ func TestInfobloxGridHostIsEmpty(t *testing.T) { // arrange defer cleanup() expected := predefinedConfig - expected.EdgeDNSType = DNSTypeRoute53 - expected.route53Enabled = true + expected.EdgeDNSType = DNSTypeExternal + expected.extDNSEnabled = true expected.Infoblox.Host = "" expected.Infoblox.Version = "" expected.Infoblox.Port = 0 @@ -766,8 +765,8 @@ func TestInfobloxGridHostIsEmptyButInfobloxPropsAreFilled(t *testing.T) { // arrange defer cleanup() expected := predefinedConfig - expected.EdgeDNSType = DNSTypeRoute53 - expected.route53Enabled = true + expected.EdgeDNSType = DNSTypeExternal + expected.extDNSEnabled = true expected.Infoblox.Host = "" expected.Infoblox.Version = defaultVersion expected.Infoblox.Port = 443 @@ -782,7 +781,7 @@ func TestInfobloxGridHostIsUnset(t *testing.T) { defer cleanup() expected := predefinedConfig expected.EdgeDNSType = DNSTypeNoEdgeDNS - expected.route53Enabled = false + expected.extDNSEnabled = false expected.Infoblox.Host = "" expected.Infoblox.Version = defaultVersion expected.Infoblox.Port = 443 @@ -798,7 +797,7 @@ func TestInfobloxGridHostIsInvalid(t *testing.T) { defer cleanup() expected := predefinedConfig expected.EdgeDNSType = DNSTypeInfoblox - expected.route53Enabled = false + expected.extDNSEnabled = false expected.Infoblox.Host = "dnfkjdnf kj" expected.Infoblox.Version = defaultVersion expected.Infoblox.Port = 443 @@ -1387,7 +1386,7 @@ func arrangeVariablesAndAssert(t *testing.T, expected Config, func cleanup() { for _, s := range []string{ReconcileRequeueSecondsKey, ClusterGeoTagKey, ExtClustersGeoTagsKey, EdgeDNSZoneKey, DNSZoneKey, EdgeDNSServersKey, - Route53EnabledKey, NS1EnabledKey, InfobloxGridHostKey, InfobloxVersionKey, InfobloxPortKey, InfobloxUsernameKey, + ExtDNSEnabledKey, InfobloxGridHostKey, InfobloxVersionKey, InfobloxPortKey, InfobloxUsernameKey, InfobloxPasswordKey, K8gbNamespaceKey, CoreDNSExposedKey, InfobloxHTTPRequestTimeoutKey, InfobloxHTTPPoolConnectionsKey, LogLevelKey, LogFormatKey, LogNoColorKey, MetricsAddressKey, SplitBrainCheckKey} { if os.Unsetenv(s) != nil { @@ -1404,8 +1403,7 @@ func configureEnvVar(config Config) { _ = os.Setenv(EdgeDNSZoneKey, config.EdgeDNSZone) _ = os.Setenv(DNSZoneKey, config.DNSZone) _ = os.Setenv(K8gbNamespaceKey, config.K8gbNamespace) - _ = os.Setenv(Route53EnabledKey, strconv.FormatBool(config.route53Enabled)) - _ = os.Setenv(NS1EnabledKey, strconv.FormatBool(config.ns1Enabled)) + _ = os.Setenv(ExtDNSEnabledKey, strconv.FormatBool(config.extDNSEnabled)) _ = os.Setenv(CoreDNSExposedKey, strconv.FormatBool(config.CoreDNSExposed)) _ = os.Setenv(InfobloxGridHostKey, config.Infoblox.Host) _ = os.Setenv(InfobloxVersionKey, config.Infoblox.Version) diff --git a/controllers/gslb_controller_test.go b/controllers/gslb_controller_test.go index 9428f68a08..6e22c5c614 100644 --- a/controllers/gslb_controller_test.go +++ b/controllers/gslb_controller_test.go @@ -775,10 +775,10 @@ func TestDetectsIngressHostnameMismatch(t *testing.T) { assert.True(t, strings.HasSuffix(err.Error(), "cloud.example.com does not match delegated zone otherdnszone.com")) } -func TestCreatesNSDNSRecordsForRoute53(t *testing.T) { +func TestCreatesDNSNSRecordsForExtDNS(t *testing.T) { // arrange const dnsZone = "cloud.example.com" - const want = "route53" + const want = "extdns" wantEp := []*externaldns.Endpoint{ { DNSName: dnsZone, @@ -800,80 +800,7 @@ func TestCreatesNSDNSRecordsForRoute53(t *testing.T) { }, }, } - dnsEndpointRoute53 := &externaldns.DNSEndpoint{} - customConfig := predefinedConfig - customConfig.EdgeDNSServers = defaultEdgeDNSServers - customConfig.CoreDNSExposed = true - coreDNSService := &corev1.Service{ - ObjectMeta: metav1.ObjectMeta{ - Name: defaultCoreDNSExtServiceName, - Namespace: predefinedConfig.K8gbNamespace, - Labels: map[string]string{ - "app.kubernetes.io/name": "coredns", - }, - }, - } - serviceIPs := []corev1.LoadBalancerIngress{ - {Hostname: "one.one.one.one"}, // rely on 1.1.1.1 response from Cloudflare - } - settings := provideSettings(t, customConfig) - err := settings.client.Create(context.TODO(), coreDNSService) - require.NoError(t, err, "Failed to create testing %s service", defaultCoreDNSExtServiceName) - coreDNSService.Status.LoadBalancer.Ingress = append(coreDNSService.Status.LoadBalancer.Ingress, serviceIPs...) - err = settings.client.Status().Update(context.TODO(), coreDNSService) - require.NoError(t, err, "Failed to update coredns service lb hostname") - - // act - customConfig.EdgeDNSType = depresolver.DNSTypeRoute53 - customConfig.ClusterGeoTag = "eu" - customConfig.ExtClustersGeoTags = []string{"za", "us"} - customConfig.DNSZone = dnsZone - // apply new environment variables and update config only - settings.reconciler.Config = &customConfig - // If config is changed, new Route53 provider needs to be re-created. There is no way and reason to change provider - // configuration at another time than startup - f, _ := dns.NewDNSProviderFactory(settings.reconciler.Client, customConfig) - settings.reconciler.DNSProvider = f.Provider() - - reconcileAndUpdateGslb(t, settings) - err = settings.client.Get(context.TODO(), client.ObjectKey{Namespace: predefinedConfig.K8gbNamespace, Name: "k8gb-ns-route53"}, dnsEndpointRoute53) - require.NoError(t, err, "Failed to get expected DNSEndpoint") - got := dnsEndpointRoute53.Annotations["k8gb.absa.oss/dnstype"] - gotEp := dnsEndpointRoute53.Spec.Endpoints - prettyGot := str.ToString(gotEp) - prettyWant := str.ToString(wantEp) - - // assert - assert.Equal(t, want, got, "got:\n %q annotation value,\n\n want:\n %q", got, want) - assert.Equal(t, wantEp, gotEp, "got:\n %s DNSEndpoint,\n\n want:\n %s", prettyGot, prettyWant) -} - -func TestCreatesNSDNSRecordsForNS1(t *testing.T) { - // arrange - const dnsZone = "cloud.example.com" - const want = "ns1" - wantEp := []*externaldns.Endpoint{ - { - DNSName: dnsZone, - RecordTTL: 30, - RecordType: "NS", - Targets: externaldns.Targets{ - "gslb-ns-eu-cloud.example.com", - "gslb-ns-us-cloud.example.com", - "gslb-ns-za-cloud.example.com", - }, - }, - { - DNSName: "gslb-ns-eu-cloud.example.com", - RecordTTL: 30, - RecordType: "A", - Targets: externaldns.Targets{ - defaultEdgeDNS0, - defaultEdgeDNS1, - }, - }, - } - dnsEndpointNS1 := &externaldns.DNSEndpoint{} + dnsEndpoint := &externaldns.DNSEndpoint{} customConfig := predefinedConfig customConfig.EdgeDNSServers = defaultEdgeDNSServers customConfig.CoreDNSExposed = true @@ -897,7 +824,7 @@ func TestCreatesNSDNSRecordsForNS1(t *testing.T) { require.NoError(t, err, "Failed to update coredns service lb hostname") // act - customConfig.EdgeDNSType = depresolver.DNSTypeNS1 + customConfig.EdgeDNSType = depresolver.DNSTypeExternal customConfig.ClusterGeoTag = "eu" customConfig.ExtClustersGeoTags = []string{"za", "us"} customConfig.DNSZone = dnsZone @@ -909,10 +836,10 @@ func TestCreatesNSDNSRecordsForNS1(t *testing.T) { settings.reconciler.DNSProvider = f.Provider() reconcileAndUpdateGslb(t, settings) - err = settings.client.Get(context.TODO(), client.ObjectKey{Namespace: predefinedConfig.K8gbNamespace, Name: "k8gb-ns-ns1"}, dnsEndpointNS1) + err = settings.client.Get(context.TODO(), client.ObjectKey{Namespace: predefinedConfig.K8gbNamespace, Name: "k8gb-ns-extdns"}, dnsEndpoint) require.NoError(t, err, "Failed to get expected DNSEndpoint") - got := dnsEndpointNS1.Annotations["k8gb.absa.oss/dnstype"] - gotEp := dnsEndpointNS1.Spec.Endpoints + got := dnsEndpoint.Annotations["k8gb.absa.oss/dnstype"] + gotEp := dnsEndpoint.Spec.Endpoints prettyGot := str.ToString(gotEp) prettyWant := str.ToString(wantEp) @@ -984,7 +911,7 @@ func TestRoute53ZoneDelegationGarbageCollection(t *testing.T) { require.NoError(t, err, "Failed to update coredns service lb hostname") // act - customConfig.EdgeDNSType = depresolver.DNSTypeRoute53 + customConfig.EdgeDNSType = depresolver.DNSTypeExternal // apply new environment variables and update config only settings.reconciler.Config = &customConfig reconcileAndUpdateGslb(t, settings) diff --git a/controllers/providers/dns/external.go b/controllers/providers/dns/external.go index 4e403aaa1d..2e09b392b3 100644 --- a/controllers/providers/dns/external.go +++ b/controllers/providers/dns/external.go @@ -32,28 +32,21 @@ import ( externaldns "sigs.k8s.io/external-dns/endpoint" ) -type ExternalDNSType string - -const ( - externalDNSTypeNS1 ExternalDNSType = "ns1" - externalDNSTypeRoute53 ExternalDNSType = "route53" -) +const externalDNSTypeCommon = "extdns" type ExternalDNSProvider struct { assistant assistant2.Assistant - dnsType ExternalDNSType config depresolver.Config endpointName string } var log = logging.Logger() -func NewExternalDNS(dnsType ExternalDNSType, config depresolver.Config, assistant assistant2.Assistant) *ExternalDNSProvider { +func NewExternalDNS(config depresolver.Config, assistant assistant2.Assistant) *ExternalDNSProvider { return &ExternalDNSProvider{ assistant: assistant, - dnsType: dnsType, config: config, - endpointName: fmt.Sprintf("k8gb-ns-%s", dnsType), + endpointName: fmt.Sprintf("k8gb-ns-%s", externalDNSTypeCommon), } } @@ -81,7 +74,7 @@ func (p *ExternalDNSProvider) CreateZoneDelegationForExternalDNS(gslb *k8gbv1bet ObjectMeta: metav1.ObjectMeta{ Name: p.endpointName, Namespace: p.config.K8gbNamespace, - Annotations: map[string]string{"k8gb.absa.oss/dnstype": string(p.dnsType)}, + Annotations: map[string]string{"k8gb.absa.oss/dnstype": externalDNSTypeCommon}, }, Spec: externaldns.DNSEndpointSpec{ Endpoints: []*externaldns.Endpoint{ @@ -124,5 +117,5 @@ func (p *ExternalDNSProvider) SaveDNSEndpoint(gslb *k8gbv1beta1.Gslb, i *externa } func (p *ExternalDNSProvider) String() string { - return strings.ToUpper(string(p.dnsType)) + return strings.ToUpper(externalDNSTypeCommon) } diff --git a/controllers/providers/dns/external_test.go b/controllers/providers/dns/external_test.go index 768273a022..4c092f2904 100644 --- a/controllers/providers/dns/external_test.go +++ b/controllers/providers/dns/external_test.go @@ -82,9 +82,9 @@ var a = struct { var expectedDNSEndpoint = &externaldns.DNSEndpoint{ ObjectMeta: metav1.ObjectMeta{ - Name: fmt.Sprintf("k8gb-ns-%s", externalDNSTypeRoute53), + Name: fmt.Sprintf("k8gb-ns-%s", externalDNSTypeCommon), Namespace: a.Config.K8gbNamespace, - Annotations: map[string]string{"k8gb.absa.oss/dnstype": string(externalDNSTypeRoute53)}, + Annotations: map[string]string{"k8gb.absa.oss/dnstype": string(externalDNSTypeCommon)}, }, Spec: externaldns.DNSEndpointSpec{ Endpoints: []*externaldns.Endpoint{ @@ -106,11 +106,10 @@ var expectedDNSEndpoint = &externaldns.DNSEndpoint{ func TestCreateZoneDelegationOnExternalDNS(t *testing.T) { // arrange - const dnsType = externalDNSTypeRoute53 ctrl := gomock.NewController(t) defer ctrl.Finish() m := assistant.NewMockAssistant(ctrl) - p := NewExternalDNS(dnsType, a.Config, m) + p := NewExternalDNS(a.Config, m) m.EXPECT().GslbIngressExposedIPs(a.Gslb).Return(a.TargetIPs, nil).Times(1) m.EXPECT().SaveDNSEndpoint(a.Config.K8gbNamespace, gomock.Eq(expectedDNSEndpoint)).Return(nil).Times(1). Do(func(ns string, ep *externaldns.DNSEndpoint) { @@ -126,15 +125,13 @@ func TestCreateZoneDelegationOnExternalDNS(t *testing.T) { func TestSaveNewDNSEndpointOnExternalDNS(t *testing.T) { // arrange - const dnsType = externalDNSTypeRoute53 - var ep = &corev1.Endpoints{ TypeMeta: metav1.TypeMeta{ APIVersion: "v1", Kind: "Endpoints", }, ObjectMeta: metav1.ObjectMeta{ - Name: fmt.Sprintf("k8gb-ns-%s", dnsType), + Name: "k8gb-ns-extdns", Namespace: "test-gslb", }, } @@ -151,7 +148,7 @@ func TestSaveNewDNSEndpointOnExternalDNS(t *testing.T) { var cl = fake.NewClientBuilder().WithScheme(runtimeScheme).WithObjects(ep).Build() assistant := assistant.NewGslbAssistant(cl, a.Config.K8gbNamespace, a.Config.EdgeDNSServers) - p := NewExternalDNS(dnsType, a.Config, assistant) + p := NewExternalDNS(a.Config, assistant) // act, assert err := p.SaveDNSEndpoint(a.Gslb, expectedDNSEndpoint) assert.NoError(t, err) @@ -159,8 +156,6 @@ func TestSaveNewDNSEndpointOnExternalDNS(t *testing.T) { func TestSaveExistingDNSEndpointOnExternalDNS(t *testing.T) { // arrange - const dnsType = externalDNSTypeRoute53 - endpointToSave := expectedDNSEndpoint endpointToSave.Namespace = a.Gslb.Namespace @@ -173,7 +168,7 @@ func TestSaveExistingDNSEndpointOnExternalDNS(t *testing.T) { var cl = fake.NewClientBuilder().WithScheme(runtimeScheme).WithObjects(endpointToSave).Build() assistant := assistant.NewGslbAssistant(cl, a.Config.K8gbNamespace, a.Config.EdgeDNSServers) - p := NewExternalDNS(dnsType, a.Config, assistant) + p := NewExternalDNS(a.Config, assistant) // act, assert err := p.SaveDNSEndpoint(a.Gslb, endpointToSave) assert.NoError(t, err) diff --git a/controllers/providers/dns/factory.go b/controllers/providers/dns/factory.go index 79925a0ab9..c819a9cb0b 100644 --- a/controllers/providers/dns/factory.go +++ b/controllers/providers/dns/factory.go @@ -45,10 +45,8 @@ func NewDNSProviderFactory(client client.Client, config depresolver.Config) (f * func (f *ProviderFactory) Provider() Provider { a := assistant.NewGslbAssistant(f.client, f.config.K8gbNamespace, f.config.EdgeDNSServers) switch f.config.EdgeDNSType { - case depresolver.DNSTypeNS1: - return NewExternalDNS(externalDNSTypeNS1, f.config, a) - case depresolver.DNSTypeRoute53: - return NewExternalDNS(externalDNSTypeRoute53, f.config, a) + case depresolver.DNSTypeExternal: + return NewExternalDNS(f.config, a) case depresolver.DNSTypeInfoblox: ibx := NewInfobloxClient(f.config) return NewInfobloxDNS(f.config, a, ibx) diff --git a/controllers/providers/dns/factory_test.go b/controllers/providers/dns/factory_test.go index b7320201e5..9fe8659eab 100644 --- a/controllers/providers/dns/factory_test.go +++ b/controllers/providers/dns/factory_test.go @@ -45,11 +45,11 @@ func TestFactoryInfoblox(t *testing.T) { assert.Equal(t, "Infoblox", provider.String()) } -func TestFactoryNS1(t *testing.T) { +func TestFactoryExternal(t *testing.T) { // arrange client := fake.NewClientBuilder().WithScheme(scheme.Scheme).WithRuntimeObjects([]runtime.Object{}...).Build() customConfig := defaultConfig - customConfig.EdgeDNSType = depresolver.DNSTypeNS1 + customConfig.EdgeDNSType = depresolver.DNSTypeExternal // act f, err := NewDNSProviderFactory(client, customConfig) require.NoError(t, err) @@ -57,22 +57,7 @@ func TestFactoryNS1(t *testing.T) { // assert assert.NotNil(t, provider) assert.Equal(t, "*ExternalDNSProvider", utils.GetType(provider)) - assert.Equal(t, "NS1", provider.String()) -} - -func TestFactoryRoute53(t *testing.T) { - // arrange - client := fake.NewClientBuilder().WithScheme(scheme.Scheme).WithRuntimeObjects([]runtime.Object{}...).Build() - customConfig := defaultConfig - customConfig.EdgeDNSType = depresolver.DNSTypeRoute53 - // act - f, err := NewDNSProviderFactory(client, customConfig) - require.NoError(t, err) - provider := f.Provider() - // assert - assert.NotNil(t, provider) - assert.Equal(t, "*ExternalDNSProvider", utils.GetType(provider)) - assert.Equal(t, "ROUTE53", provider.String()) + assert.Equal(t, "EXTDNS", provider.String()) } func TestFactoryNoEdgeDNS(t *testing.T) {