Commit Graph
7 Commits
Author SHA1 Message Date
Cuong Manh Le c7b2134977 feat(cli): keep serving DNS through Control D API maintenance
A hard maintenance window took DNS down on endpoints that already had a
working configuration: the bootstrap preflight read the maintenance answer
as a failed fetch and exited, turning a temporary API outage into an
endpoint outage.

Startup now falls back to the configuration on disk when a content- and
identity-bound marker records that the API produced it. Without one, ctrld
stops with API_MAINTENANCE (exit 37). Maintenance never self-uninstalls or
counts as a permanent rejection, a fallback run retries every 5-7 minutes
until a recovered configuration is applied, and deactivation is refused
with 503 while the PIN cannot be verified.

Master adaptation: pending-recovery and PIN-known handling live in
applyFetchedResolverConfig; logging uses *ctrld.Logger; the reload fetch
seam is fetchResolverConfigFn; the control-server and self-uninstall
probes use the existing fetchResolverConfig seam with loggerCtx.
2026-10-07 14:17:46 +07:00
Anthony Wong c48220a404 docs: complete the provisioning failure runbook and canary matrix 2026-09-04 16:48:32 +07:00
Anthony Wong dc39073a55 feat(pkg): classify postinstall failures and test them in ci 2026-09-04 16:47:58 +07:00
Anthony Wong e8e04ae094 feat(cli): add ctrld diag for provisioning support 2026-09-04 16:47:29 +07:00
Anthony Wong 0f821a7907 feat(cli): classify every provisioning failure with stable codes 2026-09-04 16:46:55 +07:00
Cuong Manh Le d8994cc7d8 Rename ctrld v2.0.0 to ctrld-client
Updates #565
2026-09-03 13:57:38 +07:00
Anthony Wong a40eb70ce8 feat(cli): add stable provisioning failure codes 2026-08-24 15:16:12 +07:00