From 2c80551fdc1ac409eb11dc8dd9e7fe90fb04d90c Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Wed, 1 Nov 2017 10:11:34 +0000 Subject: 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) --- plugin/backend.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'plugin/backend.go') diff --git a/plugin/backend.go b/plugin/backend.go index b520ce390..7b5b2f467 100644 --- a/plugin/backend.go +++ b/plugin/backend.go @@ -26,6 +26,17 @@ type ServiceBackend interface { // IsNameError return true if err indicated a record not found condition IsNameError(err error) bool + + Transferer +} + +// Transferer defines an interface for backends that provide AXFR of all records. +type Transferer interface { + // Serial returns a SOA serial number to construct a SOA record. + Serial(state request.Request) uint32 + + // MinTTL returns the minimum TTL to be used in the SOA record. + MinTTL(state request.Request) uint32 } // Options are extra options that can be specified for a lookup. -- cgit v1.2.3