One unreachable dependency freezes all TOML config reload, not just TLS #39
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
health.rs:497, insidereload_routes_config:The
?is on the whole function, so withENCRYPTION_ENGINE=openbaoandOpenBao unreachable or sealed,
reload_routes_configreturns early at the first[[tls]]entry. Everything the function reconciles after that point stopsbeing applied:
[[l4_routes]]and theiraccess_rules[[static_sites]][[admin]]entries (the only refresh path for them — they are TOML-only withno DB table)
Services are reconciled before the TLS block so they survive, but the ordering
is incidental, not a design.
Net effect: a sealed vault silently freezes the config watcher for resources
that have no dependency on it. An operator editing
edge-router.tomlto fixsomething unrelated sees no change and no error on the proxy's own surface —
the failure is one
tracing::error!in the watcher loop.Fix: handle the encrypt failure per-domain (skip that domain, log it, continue)
rather than aborting the reconciliation. This is the same per-resource principle
as
specs/2026-10-20-runtime-resilience-and-error-attribution-design.md,Part 1 — a dependency failure should scope to the resources that actually need
the dependency.