Skip to content

Commit

Permalink
Remove coredns dnsprovider
Browse files Browse the repository at this point in the history
  • Loading branch information
Ole Markus With committed Jan 22, 2021
1 parent 43d294f commit 076ae3d
Show file tree
Hide file tree
Showing 60 changed files with 23 additions and 5,768 deletions.
1 change: 0 additions & 1 deletion dns-controller/cmd/dns-controller/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ go_library(
"//dns-controller/pkg/watchers:go_default_library",
"//dnsprovider/pkg/dnsprovider:go_default_library",
"//dnsprovider/pkg/dnsprovider/providers/aws/route53:go_default_library",
"//dnsprovider/pkg/dnsprovider/providers/coredns:go_default_library",
"//dnsprovider/pkg/dnsprovider/providers/google/clouddns:go_default_library",
"//pkg/resources/digitalocean/dns:go_default_library",
"//pkg/wellknownports:go_default_library",
Expand Down
13 changes: 2 additions & 11 deletions dns-controller/cmd/dns-controller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,12 @@ limitations under the License.
package main

import (
"bytes"
"flag"
"fmt"
"io"
"log"
"net/http"
"os"
"strings"

"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/spf13/pflag"
Expand All @@ -37,7 +35,6 @@ import (
"k8s.io/kops/dns-controller/pkg/watchers"
"k8s.io/kops/dnsprovider/pkg/dnsprovider"
"k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/aws/route53"
k8scoredns "k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/coredns"
_ "k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/google/clouddns"
_ "k8s.io/kops/pkg/resources/digitalocean/dns"
"k8s.io/kops/pkg/wellknownports"
Expand Down Expand Up @@ -68,7 +65,7 @@ func main() {
flags.BoolVar(&watchIngress, "watch-ingress", true, "Configure hostnames found in ingress resources")
flags.StringSliceVar(&gossipSeeds, "gossip-seed", gossipSeeds, "If set, will enable gossip zones and seed using the provided addresses")
flags.StringSliceVarP(&zones, "zone", "z", []string{}, "Configure permitted zones and their mappings")
flags.StringVar(&dnsProviderID, "dns", "aws-route53", "DNS provider we should use (aws-route53, google-clouddns, digitalocean, coredns, gossip)")
flags.StringVar(&dnsProviderID, "dns", "aws-route53", "DNS provider we should use (aws-route53, google-clouddns, digitalocean, gossip)")
flag.StringVar(&gossipProtocol, "gossip-protocol", "mesh", "mesh/memberlist")
flags.StringVar(&gossipListen, "gossip-listen", fmt.Sprintf("0.0.0.0:%d", wellknownports.DNSControllerGossipWeaveMesh), "The address on which to listen if gossip is enabled")
flags.StringVar(&gossipSecret, "gossip-secret", gossipSecret, "Secret to use to secure gossip")
Expand Down Expand Up @@ -115,13 +112,7 @@ func main() {
var dnsProviders []dnsprovider.Interface
if dnsProviderID != "gossip" {
var file io.Reader
if dnsProviderID == k8scoredns.ProviderName {
var lines []string
lines = append(lines, "etcd-endpoints = "+dnsServer)
lines = append(lines, "zones = "+zones[0])
config := "[global]\n" + strings.Join(lines, "\n") + "\n"
file = bytes.NewReader([]byte(config))
}

dnsProvider, err := dnsprovider.GetDnsProvider(dnsProviderID, file)
if err != nil {
klog.Errorf("Error initializing DNS provider %q: %v", dnsProviderID, err)
Expand Down
2 changes: 1 addition & 1 deletion dns-controller/docs/flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
The `dns-controller` executable takes the following command line options:

* `--dns` - DNS provider we should use. Valid options are: `aws-route53`,
`google-clouddns` or `coredns`.
`google-clouddns`, `gossip`, and `digitalocean`.
* `--gossip-listen` - The address on which to listen if gossip is enabled.
* `--gossip-seed` - If set, will enable gossip zones and seed using the
provided address.
Expand Down
1 change: 0 additions & 1 deletion dns-controller/pkg/dns/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ go_library(
deps = [
"//dns-controller/pkg/util:go_default_library",
"//dnsprovider/pkg/dnsprovider:go_default_library",
"//dnsprovider/pkg/dnsprovider/providers/coredns:go_default_library",
"//dnsprovider/pkg/dnsprovider/rrstype:go_default_library",
"//vendor/k8s.io/klog/v2:go_default_library",
],
Expand Down
85 changes: 19 additions & 66 deletions dns-controller/pkg/dns/dnscontroller.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ import (

"k8s.io/kops/dns-controller/pkg/util"
"k8s.io/kops/dnsprovider/pkg/dnsprovider"
k8scoredns "k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/coredns"
"k8s.io/kops/dnsprovider/pkg/dnsprovider/rrstype"
)

Expand Down Expand Up @@ -492,33 +491,6 @@ func (o *dnsOp) deleteRecords(k recordKey) error {
return fmt.Errorf("no suitable zone found for %q", fqdn)
}

// TODO: work-around before ResourceRecordSets.List() is implemented for CoreDNS
if isCoreDNSZone(zone) {
rrsProvider, ok := zone.ResourceRecordSets()
if !ok {
return fmt.Errorf("zone does not support resource records %q", zone.Name())
}

dnsRecords, err := rrsProvider.Get(fqdn)
if err != nil {
return fmt.Errorf("Failed to get DNS record %s with error: %v", fqdn, err)
}

for _, dnsRecord := range dnsRecords {
if string(dnsRecord.Type()) == string(k.RecordType) {
cs, err := o.getChangeset(zone)
if err != nil {
return err
}

klog.V(2).Infof("Deleting resource record %s %s", fqdn, k.RecordType)
cs.Remove(dnsRecord)
}
}

return nil
}

// when DNS provider is aws-route53 or google-clouddns
rrs, err := o.listRecords(zone)
if err != nil {
Expand Down Expand Up @@ -548,11 +520,6 @@ func (o *dnsOp) deleteRecords(k recordKey) error {
return nil
}

func isCoreDNSZone(zone dnsprovider.Zone) bool {
_, ok := zone.(k8scoredns.Zone)
return ok
}

func FixWildcards(s string) string {
return strings.Replace(s, "\\052", "*", 1)
}
Expand All @@ -572,44 +539,30 @@ func (o *dnsOp) updateRecords(k recordKey, newRecords []string, ttl int64) error
}

var existing dnsprovider.ResourceRecordSet
// TODO: work-around before ResourceRecordSets.List() is implemented for CoreDNS
if isCoreDNSZone(zone) {
dnsRecords, err := rrsProvider.Get(fqdn)
if err != nil {
return fmt.Errorf("Failed to get DNS record %s with error: %v", fqdn, err)
}

for _, dnsRecord := range dnsRecords {
if string(dnsRecord.Type()) == string(k.RecordType) {
klog.V(8).Infof("Found matching record: %s %s", k.RecordType, fqdn)
existing = dnsRecord
}
// when DNS provider is aws-route53 or google-clouddns
rrs, err := o.listRecords(zone)
if err != nil {
return fmt.Errorf("error querying resource records for zone %q: %v", zone.Name(), err)
}

for _, rr := range rrs {
rrName := EnsureDotSuffix(FixWildcards(rr.Name()))
if rrName != fqdn {
klog.V(8).Infof("Skipping record %q (name != %s)", rrName, fqdn)
continue
}
} else {
// when DNS provider is aws-route53 or google-clouddns
rrs, err := o.listRecords(zone)
if err != nil {
return fmt.Errorf("error querying resource records for zone %q: %v", zone.Name(), err)
if string(rr.Type()) != string(k.RecordType) {
klog.V(8).Infof("Skipping record %q (type %s != %s)", rrName, rr.Type(), k.RecordType)
continue
}

for _, rr := range rrs {
rrName := EnsureDotSuffix(FixWildcards(rr.Name()))
if rrName != fqdn {
klog.V(8).Infof("Skipping record %q (name != %s)", rrName, fqdn)
continue
}
if string(rr.Type()) != string(k.RecordType) {
klog.V(8).Infof("Skipping record %q (type %s != %s)", rrName, rr.Type(), k.RecordType)
continue
}

if existing != nil {
klog.Warningf("Found multiple matching records: %v and %v", existing, rr)
} else {
klog.V(8).Infof("Found matching record: %s %s", k.RecordType, rrName)
}
existing = rr
if existing != nil {
klog.Warningf("Found multiple matching records: %v and %v", existing, rr)
} else {
klog.V(8).Infof("Found matching record: %s %s", k.RecordType, rrName)
}
existing = rr
}

cs, err := o.getChangeset(zone)
Expand Down
37 changes: 0 additions & 37 deletions dnsprovider/pkg/dnsprovider/providers/coredns/BUILD.bazel

This file was deleted.

96 changes: 0 additions & 96 deletions dnsprovider/pkg/dnsprovider/providers/coredns/coredns.go

This file was deleted.

Loading

0 comments on commit 076ae3d

Please sign in to comment.