plugin/ready: fix starts and restarts (#2814)

Add OnRestartFailed to the ready plugin and some various cleanups.

Document slightly better how things are supposed to work with multiple
`ready`'s in the multiple Server Blocks.

All manually tested with this Corefile:
~~~
. {
    log
    ready
}

example.org {
    log
    chaos
    ready
}
~~~
And then `kill -SIGUSR1` and curling the ready endpoint. This works
well, the FailedReload is triggered by adding a syntax error in the
Corefile.

See #2659

Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
Miek Gieben
2019-06-09 08:10:15 +01:00
committed by GitHub
parent bd83f74deb
commit a1c97f82a6
4 changed files with 20 additions and 23 deletions

View File

@@ -12,7 +12,9 @@ body containing the list of plugins that are not ready. Once a plugin has signal
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.
report readiness into the /ready endpoint that runs on the same port. This also means that the
*same* plugin with different configurations (in potentialy *different* Server Blocks) will have
their readiness reported as the union of their respective readinesses.
## Syntax
@@ -22,7 +24,7 @@ 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.
returns a 503 otherwise *and* the list of plugins that are not ready.
## Plugins