* For caddy v1 in our org This RP changes all imports for caddyserver/caddy to coredns/caddy. This is the v1 code of caddy. For the coredns/caddy repo the following changes have been made: * anything not needed by us is deleted * all `telemetry` stuff is deleted * all its import paths are also changed to point to coredns/caddy * the v1 branch has been moved to the master branch * a v1.1.0 tag has been added to signal the latest release Signed-off-by: Miek Gieben <miek@miek.nl> * Fix imports Signed-off-by: Miek Gieben <miek@miek.nl> * Group coredns/caddy with out plugins Signed-off-by: Miek Gieben <miek@miek.nl> * remove this file Signed-off-by: Miek Gieben <miek@miek.nl> * Relax import ordering github.com/coredns is now also a coredns dep, this makes github.com/coredns/caddy fit more natural in the list. Signed-off-by: Miek Gieben <miek@miek.nl> * Fix final import Signed-off-by: Miek Gieben <miek@miek.nl> |
||
---|---|---|
.. | ||
list.go | ||
readiness.go | ||
README.md | ||
ready.go | ||
ready_test.go | ||
setup.go | ||
setup_test.go |
ready
Name
ready - enables a readiness check HTTP endpoint.
Description
By enabling ready an HTTP endpoint on port 8181 will return 200 OK, when all plugins that are able to signal readiness have done so. If some are not ready yet the endpoint will return a 503 with the body containing the list of plugins that are not ready. Once a plugin has signaled it is ready it will not be queried again.
Each Server Block that enables the ready plugin will have the plugins in that server block report readiness into the /ready endpoint that runs on the same port. This also means that the same plugin with different configurations (in potentially different Server Blocks) will have their readiness reported as the union of their respective readinesses.
Syntax
ready [ADDRESS]
ready optionally takes an address; the default is :8181
. The path is fixed to /ready
. The
readiness endpoint returns a 200 response code and the word "OK" when this server is ready. It
returns a 503 otherwise and the list of plugins that are not ready.
Plugins
Any plugin wanting to signal readiness will need to implement the ready.Readiness
interface by
implementing a method Ready() bool
that returns true when the plugin is ready and false otherwise.
Examples
Let ready report readiness for both the .
and example.org
servers (assuming the whois
plugin also exports readiness):
. {
ready
erratic
}
example.org {
ready
whoami
}
Run ready on a different port.
. {
ready localhost:8091
}