plugin/{kubernetes/etcd}: dynamic SOA (#1188)

Add a dynamic SOA record (at least the serial and minttl). This create
another interface that should be implemented by the backends.

For now default to returning epoch in as a uint32 (no change from
before).

Lower the minTTL returned to 30s (from 60s)
This commit is contained in:
Miek Gieben 2017-11-01 10:11:34 +00:00 committed by GitHub
parent fa2ae3fb43
commit 2c80551fdc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 48 additions and 7 deletions

View file

@ -4,7 +4,6 @@ import (
"fmt"
"math"
"net"
"time"
"github.com/coredns/coredns/plugin/etcd/msg"
"github.com/coredns/coredns/plugin/pkg/dnsutil"
@ -371,11 +370,11 @@ func SOA(b ServiceBackend, zone string, state request.Request, opt Options) ([]d
soa := &dns.SOA{Hdr: header,
Mbox: Mbox,
Ns: Ns,
Serial: uint32(time.Now().Unix()),
Serial: b.Serial(state),
Refresh: 7200,
Retry: 1800,
Expire: 86400,
Minttl: minTTL,
Minttl: b.MinTTL(state),
}
return []dns.RR{soa}, nil
}
@ -404,7 +403,4 @@ func newAddress(s msg.Service, name string, ip net.IP, what uint16) dns.RR {
return &dns.AAAA{Hdr: hdr, AAAA: ip}
}
const (
minTTL = 60
hostmaster = "hostmaster"
)
const hostmaster = "hostmaster"