Browse Source

plugin/example: add health

Fixes #4
Miek Gieben 6 years ago
parent
commit
307c280e10
2 changed files with 18 additions and 0 deletions
  1. 4 0
      README.md
  2. 14 0
      health.go

+ 4 - 0
README.md

@@ -23,6 +23,10 @@ If monitoring is enabled (via the *prometheus* directive) the following metric i
 
 The `server` label indicated which server handled the request, see the *metrics* plugin for details.
 
+## Health
+
+This plugin implements dynamic health checking. It will also return healthy though.
+
 ## Examples
 
 In this configuration, we forward all queries to 9.9.9.9 and print "example" whenever we receive

+ 14 - 0
health.go

@@ -0,0 +1,14 @@
+package example
+
+// Health implements the health.Healther interface.
+func (e Example) Health() bool {
+	// More advanced plugins will check their state, i.e. are they
+	// synchronized correctly against their backend etc.
+
+	// Be careful though by making this a single point of failure. I.e. if 5 CoreDNS
+	// instances are talking to the same backend and the backend goes down, *all* your
+	// instances are unhealthy.
+
+	// This one just returns OK.
+	return true
+}