| 
									
										
										
										
											2019-08-30 15:58:25 +01:00
										 |  |  | .\" Generated by Mmark Markdown Processer - mmark.miek.nl | 
					
						
							| 
									
										
										
										
											2021-01-10 10:06:46 +00:00
										 |  |  | .TH "COREDNS-READY" 7 "January 2021" "CoreDNS" "CoreDNS Plugins" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | .SH "NAME" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .PP | 
					
						
							|  |  |  | \fIready\fP - enables a readiness check HTTP endpoint. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | .SH "DESCRIPTION" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .PP | 
					
						
							|  |  |  | By enabling \fIready\fP 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Each Server Block that enables the \fIready\fP plugin will have the plugins \fIin that server block\fP | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | report readiness into the /ready endpoint that runs on the same port. This also means that the | 
					
						
							| 
									
										
										
										
											2019-08-30 15:58:25 +01:00
										 |  |  | \fIsame\fP plugin with different configurations (in potentially \fIdifferent\fP Server Blocks) will have | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | their readiness reported as the union of their respective readinesses. | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | .SH "SYNTAX" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .PP | 
					
						
							|  |  |  | .RS | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .nf | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | ready [ADDRESS] | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .RE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | \fIready\fP optionally takes an address; the default is \fB\fC:8181\fR. The path is fixed to \fB\fC/ready\fR. The | 
					
						
							|  |  |  | readiness endpoint returns a 200 response code and the word "OK" when this server is ready. It | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | returns a 503 otherwise \fIand\fP the list of plugins that are not ready. | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | .SH "PLUGINS" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .PP | 
					
						
							|  |  |  | Any plugin wanting to signal readiness will need to implement the \fB\fCready.Readiness\fR interface by | 
					
						
							|  |  |  | implementing a method \fB\fCReady() bool\fR that returns true when the plugin is ready and false otherwise. | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-24 12:37:27 +01:00
										 |  |  | .SH "EXAMPLES" | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .PP | 
					
						
							|  |  |  | Let \fIready\fP report readiness for both the \fB\fC.\fR and \fB\fCexample.org\fR servers (assuming the \fIwhois\fP | 
					
						
							|  |  |  | plugin also exports readiness): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .RS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .nf | 
					
						
							|  |  |  | \&. { | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  |     ready | 
					
						
							|  |  |  |     erratic | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | example.org { | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  |     ready | 
					
						
							|  |  |  |     whoami | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .RE | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | Run \fIready\fP on a different port. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PP | 
					
						
							|  |  |  | .RS | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .nf | 
					
						
							|  |  |  | \&. { | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  |     ready localhost:8091 | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | .fi | 
					
						
							| 
									
										
										
										
											2019-04-06 08:42:40 +01:00
										 |  |  | .RE | 
					
						
							| 
									
										
										
										
											2019-03-30 13:56:52 +00:00
										 |  |  | 
 |