aboutsummaryrefslogtreecommitdiff
path: root/plugin/etcd
diff options
context:
space:
mode:
authorGravatar Nitish Tiwari <nitish@minio.io> 2018-07-01 12:02:16 +0530
committerGravatar Miek Gieben <miek@miek.nl> 2018-07-01 07:32:16 +0100
commit264c89d7ad84396853ba0462ed100c704bbd025a (patch)
tree5fbd976fe401c38463654ee6473f39c22146f386 /plugin/etcd
parentc7321fabc267bfd66849769c47d627bcf134e126 (diff)
downloadcoredns-264c89d7ad84396853ba0462ed100c704bbd025a.tar.gz
coredns-264c89d7ad84396853ba0462ed100c704bbd025a.tar.zst
coredns-264c89d7ad84396853ba0462ed100c704bbd025a.zip
Document two lookups by CoreDNS etcdv3 plugin (#1918)
Diffstat (limited to 'plugin/etcd')
-rw-r--r--plugin/etcd/README.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugin/etcd/README.md b/plugin/etcd/README.md
index e60292a6d..8153653c0 100644
--- a/plugin/etcd/README.md
+++ b/plugin/etcd/README.md
@@ -59,6 +59,13 @@ etcd [ZONES...] {
file - if the server certificate is not signed by a system-installed CA and client certificate
is needed.
+## Special Behaviour
+CoreDNS etcd plugin leverages directory structure to look for related entries. For example an entry `/skydns/test/skydns/mx` would have entries like `/skydns/test/skydns/mx/a`, `/skydns/test/skydns/mx/b` and so on. Similarly a directory `/skydns/test/skydns/mx1` will have all `mx1` entries.
+
+With etcd3, support for [hierarchial keys are dropped](https://coreos.com/etcd/docs/latest/learning/api.html). This means there are no directories but only flat keys with prefixes in etcd3. To accomodate lookups, etcdv3 plugin now does a lookup on prefix `/skydns/test/skydns/mx/` to search for entries like `/skydns/test/skydns/mx/a` etc, and if there is nothing found on `/skydns/test/skydns/mx/`, it looks for `/skydns/test/skydns/mx` to find entries like `/skydns/test/skydns/mx1`.
+
+This causes two lookups from CoreDNS to etcdv3 in certain cases.
+
## Examples
This is the default SkyDNS setup, with everying specified in full: