coredns/plugin/federation
Miek Gieben 53f3f0b666
Remove context.Context from request.Request (#2726)
* Remove context.Context from request.Request

This removes the context from request.Request and makes all the changes
in the code to make it compile again. It's all mechanical. It did
unearth some weirdness in that the context was kept in handler structs
which may cause havoc with concurrently handling of requests.

Fixes #2721

Signed-off-by: Miek Gieben <miek@miek.nl>

* Make test compile

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-03-26 14:37:30 +00:00
..
federation.go Remove context.Context from request.Request (#2726) 2019-03-26 14:37:30 +00:00
federation_test.go Stop importing testing in the main binary (#2479) 2019-01-19 11:23:13 +00:00
kubernetes_api_test.go Remove grpc watch functionality (#2549) 2019-02-11 14:46:53 +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 Default to upstream to self (#2436) 2019-01-13 16:54:49 +00:00
setup.go Default to upstream to self (#2436) 2019-01-13 16:54:49 +00:00
setup_test.go Remove the word middleware (#1067) 2017-09-14 09:36:06 +01:00

federation

Name

federation - enables federated queries to be resolved via the kubernetes plugin.

Description

Enabling this plugin allows Federated queries to be resolved via the kubernetes plugin.

Enabling federation without also having kubernetes is a noop.

Syntax

federation [ZONES...] {
    NAME DOMAIN
    upstream
}
  • Each NAME and DOMAIN defines federation membership. One entry for each. A duplicate NAME will silently overwrite any previous value.
  • upstream [ADDRESS...] resolve the CNAME target produced by this plugin. CoreDNS will resolve External Services against itself.

Examples

Here we handle all service requests in the prod and stage federations.

. {
    kubernetes cluster.local
    federation cluster.local {
        prod prod.feddomain.com
        staging staging.feddomain.com
        upstream
    }
}

Or slightly shorter:

cluster.local {
    kubernetes
    federation {
        prod prod.feddomain.com
        staging staging.feddomain.com
        upstream
    }
}