mirror of
https://github.com/coredns/coredns.git
synced 2025-12-02 08:34:07 -05:00
Remove the word middleware (#1067)
* Rename middleware to plugin first pass; mostly used 'sed', few spots where I manually changed text. This still builds a coredns binary. * fmt error * Rename AddMiddleware to AddPlugin * Readd AddMiddleware to remain backwards compat
This commit is contained in:
42
plugin/health/healther.go
Normal file
42
plugin/health/healther.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package health
|
||||
|
||||
// Healther interface needs to be implemented by each plugin willing to
|
||||
// provide healthhceck information to the health plugin. As a second step
|
||||
// the plugin needs to registered against the health plugin, by addding
|
||||
// it to healthers map. Note this method should return quickly, i.e. just
|
||||
// checking a boolean status, as it is called every second from the health
|
||||
// plugin.
|
||||
type Healther interface {
|
||||
// Health returns a boolean indicating the health status of a plugin.
|
||||
// False indicates unhealthy.
|
||||
Health() bool
|
||||
}
|
||||
|
||||
// Ok returns the global health status of all plugin configured in this server.
|
||||
func (h *health) Ok() bool {
|
||||
h.RLock()
|
||||
defer h.RUnlock()
|
||||
return h.ok
|
||||
}
|
||||
|
||||
// SetOk sets the global health status of all plugin configured in this server.
|
||||
func (h *health) SetOk(ok bool) {
|
||||
h.Lock()
|
||||
defer h.Unlock()
|
||||
h.ok = ok
|
||||
}
|
||||
|
||||
// poll polls all healthers and sets the global state.
|
||||
func (h *health) poll() {
|
||||
for _, m := range h.h {
|
||||
if !m.Health() {
|
||||
h.SetOk(false)
|
||||
return
|
||||
}
|
||||
}
|
||||
h.SetOk(true)
|
||||
}
|
||||
|
||||
// Middleware that implements the Healther interface.
|
||||
// TODO(miek): none yet.
|
||||
var healthers = map[string]bool{}
|
||||
Reference in New Issue
Block a user