aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/dnsserver/zdirectives.go1
-rw-r--r--core/zmiddleware.go25
-rw-r--r--directives_generate.go33
-rw-r--r--middleware.cfg55
4 files changed, 68 insertions, 46 deletions
diff --git a/core/dnsserver/zdirectives.go b/core/dnsserver/zdirectives.go
index 3f76a401d..d6c7e4657 100644
--- a/core/dnsserver/zdirectives.go
+++ b/core/dnsserver/zdirectives.go
@@ -30,7 +30,6 @@ var directives = []string{
"kubernetes",
"reverse",
"proxy",
- "httpprox",
"whoami",
"erratic",
}
diff --git a/core/zmiddleware.go b/core/zmiddleware.go
index 164c42801..5380e5695 100644
--- a/core/zmiddleware.go
+++ b/core/zmiddleware.go
@@ -1,4 +1,27 @@
// generated by directives_generate.go; DO NOT EDIT
package core
-import ()
+import (
+ _ "github.com/miekg/coredns/middleware/auto"
+ _ "github.com/miekg/coredns/middleware/bind"
+ _ "github.com/miekg/coredns/middleware/cache"
+ _ "github.com/miekg/coredns/middleware/chaos"
+ _ "github.com/miekg/coredns/middleware/dnssec"
+ _ "github.com/miekg/coredns/middleware/erratic"
+ _ "github.com/miekg/coredns/middleware/errors"
+ _ "github.com/miekg/coredns/middleware/etcd"
+ _ "github.com/miekg/coredns/middleware/file"
+ _ "github.com/miekg/coredns/middleware/health"
+ _ "github.com/miekg/coredns/middleware/kubernetes"
+ _ "github.com/miekg/coredns/middleware/loadbalance"
+ _ "github.com/miekg/coredns/middleware/log"
+ _ "github.com/miekg/coredns/middleware/metrics"
+ _ "github.com/miekg/coredns/middleware/pprof"
+ _ "github.com/miekg/coredns/middleware/proxy"
+ _ "github.com/miekg/coredns/middleware/reverse"
+ _ "github.com/miekg/coredns/middleware/rewrite"
+ _ "github.com/miekg/coredns/middleware/root"
+ _ "github.com/miekg/coredns/middleware/secondary"
+ _ "github.com/miekg/coredns/middleware/trace"
+ _ "github.com/miekg/coredns/middleware/whoami"
+)
diff --git a/directives_generate.go b/directives_generate.go
index ccee3a0f3..62e69e165 100644
--- a/directives_generate.go
+++ b/directives_generate.go
@@ -25,22 +25,23 @@ func main() {
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
- if !strings.HasPrefix(line, `//`) && !strings.HasPrefix(line, "#") {
- items := strings.Split(line, ":")
- if len(items) == 3 {
- if priority, err := strconv.Atoi(items[0]); err == nil {
- md[priority] = items[1]
- }
-
- if items[2] != "" {
- if strings.Contains(items[2], "/") {
- mi[items[1]] = items[2]
- } else {
- mi[items[1]] = middlewarePath + items[2]
- }
- }
-
- }
+ if strings.HasPrefix(line, "#") {
+ continue
+ }
+
+ items := strings.Split(line, ":")
+ if len(items) != 3 {
+ // ignore
+ continue
+ }
+ priority, err := strconv.Atoi(items[0])
+ fatalIfErr(err)
+
+ md[priority] = items[1]
+ mi[items[1]] = middlewarePath + items[2] // Default, unless overriden by 3rd arg
+
+ if strings.Contains(items[2], "/") { // External package has been given
+ mi[items[1]] = items[2]
}
}
diff --git a/middleware.cfg b/middleware.cfg
index 0a9527e5c..dcec2c99a 100644
--- a/middleware.cfg
+++ b/middleware.cfg
@@ -6,39 +6,38 @@
# (after) them during a request, but they must not
# care what middleware above them are doing.
-
# How to rebuild with updated middleware configurations:
-# Modify the list below and run `make gen && make`
+# Modify the list below and run `go gen && go build`
# The parser takes the input format of
# <order>:<middleware-name>:<package-name>
-# OR
-# <order>:<middleware-name>:
+# Or
+# <order>:<middleware-name>:<fully-qualified-package-name>
+#
# External middleware example:
# 80:log:github.com/miekg/coredns/middleware/log
# Local middleware example:
-# 80:log:
+# 80:log:log
-10:root:
-20:bind:
-30:trace:
-40:health:
-50:pprof:
-60:prometheus:
-70:errors:
-80:log:
-90:chaos:
-100:cache:
-110:rewrite:
-120:loadbalance:
-130:dnssec:
-140:file:
-150:auto:
-160:secondary:
-170:etcd:
-180:kubernetes:
-185:reverse:
-190:proxy:
-200:httpprox:
-210:whoami:
-220:erratic:
+10:root:root
+20:bind:bind
+30:trace:trace
+40:health:health
+50:pprof:pprof
+60:prometheus:metrics
+70:errors:errors
+80:log:log
+90:chaos:chaos
+100:cache:cache
+110:rewrite:rewrite
+120:loadbalance:loadbalance
+130:dnssec:dnssec
+140:file:file
+150:auto:auto
+160:secondary:secondary
+170:etcd:etcd
+180:kubernetes:kubernetes
+185:reverse:reverse
+190:proxy:proxy
+210:whoami:whoami
+220:erratic:erratic