Crate rrdnsd

Source

Modulesยง

api_clients ๐Ÿ”’
core ๐Ÿ”’
dash ๐Ÿ”’

Macrosยง

exp ๐Ÿ”’
unwrap_or_return ๐Ÿ”’

Structsยง

APIChangeRequest
APIChangeResponse
APIConfig ๐Ÿ”’
API configuration block
APIListItem
Represents a service under monitoring including the state of each endpoint
Conf ๐Ÿ”’
Configuration
EndpointStatus ๐Ÿ”’
Enst ๐Ÿ”’
NodeAddr ๐Ÿ”’
QuorumMsg ๐Ÿ”’
ServiceConf ๐Ÿ”’
Service-specific configuration block
ServiceStatus ๐Ÿ”’
Shared ๐Ÿ”’
Update ๐Ÿ”’

Enumsยง

APIChangeResult
APIRPCUpdateAction
Struct sent to the API to modify the running configuration: add or remove services or endpoints
ResolverUpdateMethod ๐Ÿ”’
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 true if 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_rx and 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ยง

APIListOut
EndpointStatuses ๐Ÿ”’
FqdnToStatuses ๐Ÿ”’
NodeToEnst ๐Ÿ”’
OutboxRec ๐Ÿ”’
OutboxSend ๐Ÿ”’
ServiceStatusCloneSend ๐Ÿ”’
SharedState ๐Ÿ”’
UpdateRec ๐Ÿ”’
UpdateSend ๐Ÿ”’