mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 00:34:24 -04:00
Expose directives in dnsserver to help external plugin developers (#1315)
This fix expose directives in dnsserver package, so that external
plugin developers could easily build customerized coredns+plugin
without changing the code base tree of coredns.
The following is an example that could bundle coredns+example,
in one simple file without modifying coredns codebase:
```
package main
import (
_ "github.com/coredns/example"
"github.com/coredns/coredns/coremain"
"github.com/coredns/coredns/core/dnsserver"
)
var directives = []string{
"example",
"log",
"errors",
...
...
...
"whoami",
"startup",
"shutdown",
}
func init() {
dnsserver.Directives = directives
}
func main() {
coremain.Run()
}
```
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
@@ -22,7 +22,7 @@ func init() {
|
|||||||
flag.StringVar(&Port, serverType+".port", DefaultPort, "Default port")
|
flag.StringVar(&Port, serverType+".port", DefaultPort, "Default port")
|
||||||
|
|
||||||
caddy.RegisterServerType(serverType, caddy.ServerType{
|
caddy.RegisterServerType(serverType, caddy.ServerType{
|
||||||
Directives: func() []string { return directives },
|
Directives: func() []string { return Directives },
|
||||||
DefaultInput: func() caddy.Input {
|
DefaultInput: func() caddy.Input {
|
||||||
return caddy.CaddyfileInput{
|
return caddy.CaddyfileInput{
|
||||||
Filepath: "Corefile",
|
Filepath: "Corefile",
|
||||||
|
|||||||
@@ -9,8 +9,7 @@ package dnsserver
|
|||||||
// feel the effects of all other plugin below
|
// feel the effects of all other plugin below
|
||||||
// (after) them during a request, but they must not
|
// (after) them during a request, but they must not
|
||||||
// care what plugin above them are doing.
|
// care what plugin above them are doing.
|
||||||
|
var Directives = []string{
|
||||||
var directives = []string{
|
|
||||||
"tls",
|
"tls",
|
||||||
"nsid",
|
"nsid",
|
||||||
"root",
|
"root",
|
||||||
|
|||||||
@@ -81,8 +81,7 @@ func genDirectives(file, pack string, md []string) {
|
|||||||
// feel the effects of all other plugin below
|
// feel the effects of all other plugin below
|
||||||
// (after) them during a request, but they must not
|
// (after) them during a request, but they must not
|
||||||
// care what plugin above them are doing.
|
// care what plugin above them are doing.
|
||||||
|
var Directives = []string{
|
||||||
var directives = []string{
|
|
||||||
`
|
`
|
||||||
|
|
||||||
for i := range md {
|
for i := range md {
|
||||||
|
|||||||
Reference in New Issue
Block a user