mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 00:04:15 -04:00
Merge commit from fork
Instead of casting lease ID to uint32, fix the TTL() function to use etcd time-to-live API for determining TTL. Add configurable min-lease-ttl and max-lease-ttl options to prevent extreme TTL values. By default, lease records now go through bounds checking with 30s to 1d as the min/max. Added unit tests for validation and docs. Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
.\" Generated by Mmark Markdown Processer - mmark.miek.nl
|
||||
.TH "COREDNS-ETCD" 7 "March 2021" "CoreDNS" "CoreDNS Plugins"
|
||||
.TH "COREDNS-ETCD" 7 "August 2025" "CoreDNS" "CoreDNS Plugins"
|
||||
|
||||
.SH "NAME"
|
||||
.PP
|
||||
@@ -85,6 +85,10 @@ file - if the server certificate is not signed by a system-installed CA and clie
|
||||
is needed.
|
||||
|
||||
.RE
|
||||
.IP \(bu 4
|
||||
\fB\fCmin-lease-ttl\fR the minimum TTL for DNS records based on etcd lease duration. Accepts flexible time formats like '30', '30s', '5m', '1h', '2h30m'. Default: 30 seconds.
|
||||
.IP \(bu 4
|
||||
\fB\fCmax-lease-ttl\fR the maximum TTL for DNS records based on etcd lease duration. Accepts flexible time formats like '30', '30s', '5m', '1h', '2h30m'. Default: 24 hours.
|
||||
|
||||
|
||||
.SH "SPECIAL BEHAVIOUR"
|
||||
@@ -93,7 +97,7 @@ The \fIetcd\fP plugin leverages directory structure to look for related entries.
|
||||
an entry \fB\fC/skydns/test/skydns/mx\fR would have entries like \fB\fC/skydns/test/skydns/mx/a\fR,
|
||||
\fB\fC/skydns/test/skydns/mx/b\fR and so on. Similarly a directory \fB\fC/skydns/test/skydns/mx1\fR will have all
|
||||
\fB\fCmx1\fR entries. Note this plugin will search through the entire (sub)tree for records. In case of the
|
||||
first example, a query for \fB\fCmx.skydns.text\fR will return both the contents of the \fB\fCa\fR and \fB\fCb\fR records.
|
||||
first example, a query for \fB\fCmx.skydns.test\fR will return both the contents of the \fB\fCa\fR and \fB\fCb\fR records.
|
||||
If the directory extends deeper those records are returned as well.
|
||||
|
||||
.PP
|
||||
@@ -120,6 +124,8 @@ skydns.local {
|
||||
etcd {
|
||||
path /skydns
|
||||
endpoint http://localhost:2379
|
||||
min\-lease\-ttl 60 # minimum 1 minute for lease\-based records
|
||||
max\-lease\-ttl 1h # maximum 1 hour for lease\-based records
|
||||
}
|
||||
prometheus
|
||||
cache
|
||||
@@ -349,6 +355,7 @@ If you would like to use \fB\fCTXT\fR records, you can set the following:
|
||||
|
||||
.nf
|
||||
% etcdctl put /skydns/local/skydns/x6 '{"ttl":60,"text":"this is a random text message."}'
|
||||
% etcdctl put /skydns/local/skydns/x7 '{"ttl":60,"text":"this is a another random text message."}'
|
||||
|
||||
.fi
|
||||
.RE
|
||||
@@ -362,6 +369,7 @@ If you query the zone name for \fB\fCTXT\fR now, you will get the following resp
|
||||
.nf
|
||||
% dig +short skydns.local TXT @localhost
|
||||
"this is a random text message."
|
||||
"this is a another random text message."
|
||||
|
||||
.fi
|
||||
.RE
|
||||
|
||||
Reference in New Issue
Block a user