aboutsummaryrefslogtreecommitdiff
path: root/middleware/proxy/setup.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/proxy/setup.go')
-rw-r--r--middleware/proxy/setup.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/middleware/proxy/setup.go b/middleware/proxy/setup.go
new file mode 100644
index 000000000..81dc7777c
--- /dev/null
+++ b/middleware/proxy/setup.go
@@ -0,0 +1,26 @@
+package proxy
+
+import (
+ "github.com/miekg/coredns/core/dnsserver"
+
+ "github.com/mholt/caddy"
+)
+
+func init() {
+ caddy.RegisterPlugin("proxy", caddy.Plugin{
+ ServerType: "dns",
+ Action: setup,
+ })
+}
+
+func setup(c *caddy.Controller) error {
+ upstreams, err := NewStaticUpstreams(c.Dispenser)
+ if err != nil {
+ return err
+ }
+ dnsserver.GetConfig(c).AddMiddleware(func(next dnsserver.Handler) dnsserver.Handler {
+ return Proxy{Next: next, Client: Clients(), Upstreams: upstreams}
+ })
+
+ return nil
+}