GDNSDCTL(8) gdnsd GDNSDCTL(8) (NAME) gdnsdctl - gdnsd (SYNOPSIS) Usage: gdnsdctl [-c /etc/gdnsd] [-s ] [-D] [-l] [-t 47] [-o] [-i] [...] -c - Configuration directory (def /etc/gdnsd), for finding UNIX control socket path -s - TCP control socket address -D - Enable verbose debug output -l - Send logs to syslog rather than stderr -t - Timeout in seconds (def 47, range 5 - 300) -o - One-shot mode: do not retry soft failures (comms errors, replace-in-progress) -i - Ignore lack of a running daemon for stop, reload-zones, replace, and acme-dns-01-flush, reporting success instead of failure in those cases. Actions: stop - Stops the running daemon reload-zones - Reload the running daemon's zone data replace - Ask daemon to spawn a takeover replacement of itself (updates code, config, zone data) status - Checks the running daemon's status stats - Dumps JSON statistics from the running daemon states - Dumps JSON monitored states acme-dns-01 - Create ACME DNS-01 payloads from additional arguments: ... [max %u payloads] acme-dns-01-flush - Flush (remove) all ACME DNS-01 payloads added above (DESCRIPTION) gdnsdctl gdnsd . (synchronous) . gdnsd gdnsdctl (race conditions) . "gdnsdctl replace" "gdnsdctl reload-zones" "gdnsdctl acme-dns-01" . "gdnsdctl" . "reload-zones" "acme-dns-01". (COMMANDLINE OPTION FLAGS) -c /etc/gdnsd . "run_dir" . -s gdnsdctl (UNIX domain socket) TCP . gdnsd.config(5) "tcp_control" . -D (debug) . -l stderr syslog . -t (timeout) ( ) . SIGALRM . -o (One-shot). gdnsdctl (soft failures) . "replace" ( "replace" ). ( ) ( ) . -i . . gdnsdctl . "-i" : "reload-zones" "stop" "acme-dns-01-flush" "replace". (Actions) stop . . "-i" "gdnsdctl -i stop" (idempotent stop) . reload-zones (reload) . . "-i" ( ). replace (spawn). / . "replace" : . (stats) ACME DNS-01 . . ( gdnsdctl) gdnsdctl . . . . DNS : . : . gdnsdctl . replace . . gdnsdctl ( "status" "stats" "states") . gdnsdctl "-t" . "-o" gdnsdctl . . "-i" ( "replace" ). "replace" "replace" : "gdnsdctl replace" "-t" gdnsdctl ( ). status PID stderr . stats JSON stdout . states JSON . acme-dns-01 (payloads) ACME DNS-01 . ACME . "name" "payload" "name" "payload" ( SHA-256 base64url "-" "_" ). gdnsdctl . ... gdnsdctl acme-dns-01 example.org 012345678901234567890123456789012 www.example.org ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnop ... "TXT" "_acme-challenge.example.org." "_acme-challenge.www.example.org." . . "acme_challenge_ttl" . TTL DNS "TXT" ( !) "acme_challenge_dns_ttl" . "REFUSED" ( ). ( TTL) TXT . TXT "_acme-challenge" (RR) TXT . ( ) "_acme-challenge" TTL TTL "acme_challenge_dns_ttl" . TTL (RR-set) TXT RFC 2181 . "replace" ("stop") . . acme-dns-01-flush (flush) . DNS-01 . "-i" : "-i" . (EXIT STATUS) . stderr JSON stdout . (SEE ALSO) gdnsd(8), gdnsd.config(5), gdnsd.zonefile(5) gdnsd. (COPYRIGHT AND LICENSE) Copyright (c) 2012 Brandon L Black gdnsd . gdnsd : (GNU General Public License) ( ) / . gdnsd . . gdnsd . . gdnsd 3.8.3 2026-04-04 GDNSDCTL(8)