coredns/plugin/deprecated/setup.go
Miek Gieben d67396dc7b
plugin/deprecated: add an easy way to error on deprecated plugin (#1575)
* plugin/deprecated: add an easy way to error on depcated plugin

* lint

* better docs

* slightly more docs
2018-03-01 06:49:52 -08:00

38 lines
926 B
Go

// Package deprecated is used when we deprecated plugin. In plugin.cfg just go from
//
// startup:github.com/mholt/caddy/startupshutdown
//
// To:
//
// startup:deprecated
//
// And things should work as expected. This means starting CoreDNS will fail with an error. We can only
// point to the release notes to details what next steps a user should take. I.e. there is no way to add this
// to the error generated.
package deprecated
import (
"errors"
"github.com/coredns/coredns/plugin"
"github.com/mholt/caddy"
)
// removed has the names of the plugins that need to error on startup.
var removed = []string{"startup", "shutdown"}
func setup(c *caddy.Controller) error {
c.Next()
x := c.Val()
return plugin.Error(x, errors.New("this plugin has been deprecated"))
}
func init() {
for _, plugin := range removed {
caddy.RegisterPlugin(plugin, caddy.Plugin{
ServerType: "dns",
Action: setup,
})
}
}