coredns/plugin/chaos
Miek Gieben 004c5fca9d
all: simply registering plugins (#3287)
Abstract the caddy call and make it simpler.

See #3261 for some part of the discussion.

Go from:

~~~ go
func init() {
       caddy.RegisterPlugin("any", caddy.Plugin{
               ServerType: "dns",
               Action:     setup,
       })
}
~~~

To:

~~~ go
func init() { plugin.Register("any", setup) }
~~~

This requires some external documents in coredns.io to be updated as
well; the old way still works, so it's backwards compatible.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-20 08:02:30 +01:00
..
chaos.go plugin/chaos: randomize author list (#2794) 2019-04-23 23:21:28 +08:00
chaos_test.go plugin/chaos: add default list of authors (#2737) 2019-03-31 11:01:11 -07:00
fuzz.go fuzz: revert setup function (#3189) 2019-08-25 19:01:35 +00:00
log_test.go Clean up tests logging (#1979) 2018-07-19 16:23:06 +01:00
OWNERS Add OWNERS file (#1486) 2018-02-08 10:55:51 +00:00
README.md typo fixes (#3169) 2019-08-21 16:08:55 -04:00
setup.go all: simply registering plugins (#3287) 2019-09-20 08:02:30 +01:00
setup_test.go Update Caddy to 1.0.1, and update import path (#2961) 2019-07-03 09:04:47 +08:00
zowners.go Update go mod tidy (and fix for Azure/go-autorest & azure-sdk-for-go) (#3258) 2019-09-06 12:31:05 -04:00

chaos

Name

chaos - allows for responding to TXT queries in the CH class.

Description

This is useful for retrieving version or author information from the server by querying a TXT record for a special domain name in the CH class.

Syntax

chaos [VERSION] [AUTHORS...]
  • VERSION is the version to return. Defaults to CoreDNS-<version>, if not set.
  • AUTHORS is what authors to return. This defaults to all GitHub handles in the OWNERS files.

Note that you have to make sure that this plugin will get actual queries for the following zones: version.bind, version.server, authors.bind, hostname.bind and id.server.

Examples

Specify all the zones in full.

version.bind version.server authors.bind hostname.bind id.server {
    chaos CoreDNS-001 info@coredns.io
}

Or just default to .:

.  {
    chaos CoreDNS-001 info@coredns.io
}

And test with dig:

% dig @localhost CH TXT version.bind
...
;; ANSWER SECTION:
version.bind.		0	CH	TXT	"CoreDNS-001"
...