Modulesยง
- api_
clients ๐ - core ๐
- dash ๐
Macrosยง
- exp ๐
- unwrap_
or_ ๐return
Structsยง
- APIChange
Request - APIChange
Response - APIConfig ๐
- API configuration block
- APIList
Item - Represents a service under monitoring including the state of each endpoint
- Conf ๐
- Configuration
- Endpoint
Status ๐ - Enst ๐
- Node
Addr ๐ - Quorum
Msg ๐ - Service
Conf ๐ - Service-specific configuration block
- Service
Status ๐ - Shared ๐
- Update ๐
Enumsยง
- APIChange
Result - APIRPC
Update Action - Struct sent to the API to modify the running configuration: add or remove services or endpoints
- Resolver
Update ๐Method - How to send an update to the DNS resolver e.g. nsupdate
- Status
- UpWrap ๐
Constantsยง
- VERSION ๐
Functionsยง
- compute_
status ๐ - Computes endpoint status using quorum (majority)
- create_
nsupdate_ ๐blob - Generates a config/script file for nsupdate to add or delete a record
- create_
router ๐ - fail_
open ๐ - 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).
- fetch_
status ๐ - handle_
endpoint_ ๐change - Endpoint status change detected: Update DNS
- handle_
http_ ๐api_ list - Lists monitored services. Includes the current state of each endpoint
- handle_
http_ ๐api_ update - handle_
http_ ๐get_ dashboard - handle_
http_ ๐get_ health - handle_
http_ ๐post_ qmsg - handle_
sig ๐ - Shuts down the daemon when requested
- ingest_
datapoint ๐ - Stores a probe datapoint. Returns
trueif a service endpoint change is detected. - init
- load_
conf ๐ - Loads configuration from file. Supports overriding the filename and local node name.
- outbox_
sender ๐ - Outbox: receives from
chan_outbox_rxand send updates to peers - parse_
ipaddr_ ๐port - Parses an
<ipaddr>:<port>string - prepare_
conf ๐ - probe ๐
- Runs an HTTP[S] probe. Sends datapoints into
chan_outbox_tx - quorum ๐
- Calculates quorum value e.g. 5 -> 3, 3 -> 1
- run
- run_
axum_ ๐server - run_
dynu_ ๐update - run_
nsupdate_ ๐once - Write configuration file and execute [k]nsupdate
- run_
nsupdates ๐ - Updates resolver[s] using nsupdate or knsupdate
- run_
update_ ๐command - Runs user-supplied command or script
- send_
api_ ๐change_ request_ then_ check_ resp - setup_
and_ ๐spawn_ probes - Setup services from conf file and spawn related probes
- timer ๐
- Statsd timer
- trim_
dots ๐ - wait_
for_ ๐shutdown
Type Aliasesยง
- APIList
Out - Endpoint
Statuses ๐ - Fqdn
ToStatuses ๐ - Node
ToEnst ๐ - Outbox
Rec ๐ - Outbox
Send ๐ - Service
Status ๐Clone Send - Shared
State ๐ - Update
Rec ๐ - Update
Send ๐