Computes endpoint status using quorum (majority)
Generates a config/script file for nsupdate to add or delete a record
This is called when an enpdoint is going down. Decide if we want to
delete its record from DNS or fail open (aka do nothing and keep it around).
Endopoint status change detected: Update DNS
Shuts down the daemon when requested
Stores a probe datapoint. Returns true
if a service endpoint change is detected.
Loads configuration from file. Supports simple overrides.
Outbox: receives from chan_outbox_rx
and send updates to peers
Parses an <ipaddr>:<port>
string
Runs an HTTP[S] probe. Sends datapoints into chan_outbox_tx
Calculates quorum value e.g. 5 -> 3, 3 -> 1
Updates resolver[s] or an API using nsupdate or other methods
Statsd timer
Runs the updater actor. See updater_handle_one_update
Updater responds to the fetch message from the http service with a HTML page
Receives an incoming datapoint from a probe or a request to generate the dashboard page
Triggers DNS failover / RR change if needed.