Add admin socket module that binds to a configurable Unix domain socket path (default /run/reverse-proxy/admin.sock) supporting reload and status commands. Reload re-reads config and swaps DynamicConfig via ArcSwap with serialized access using the same Mutex as SIGHUP. Status returns uptime and site count. Unknown commands and invalid input return structured JSON error responses. Stale socket files are removed at startup; if the socket is occupied by another process, a warning is logged and the socket is disabled. Empty admin_socket_path disables the socket entirely. Also adds FullConfig struct to config module for parsing complete config files during reload, and adds serde_json dependency for JSON responses.
68 KiB
68 KiB