Add runtime observation and systemd restart adapter
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
# wireguard-admin
|
||||
|
||||
This repository contains the Rust package, startup boundary, validated settings
|
||||
loader, client domain model, a byte-preserving in-memory WireGuard configuration
|
||||
editor, and library APIs for encrypted client vaults and read-only client import.
|
||||
The library also provides saved-file persistence with recovery, private backups,
|
||||
prepared Commit, and previewed full restore. The terminal management interface
|
||||
and WireGuard/systemd runtime operations have not been implemented yet.
|
||||
loader, client domain model, a byte-preserving WireGuard configuration editor,
|
||||
encrypted client vault and read-only import APIs, recoverable saved-file
|
||||
persistence, private backups, Commit, and previewed full restore. The library
|
||||
also provides read-only WireGuard runtime observation, technical peer comparison,
|
||||
bounded systemd restart handling, and explicit restart orchestration. The
|
||||
terminal management interface is not implemented, and management startup is not
|
||||
connected to these library operations.
|
||||
|
||||
The package requires Rust 1.97.1 or newer and uses the Rust 2024 edition. From
|
||||
the repository root, run:
|
||||
@@ -68,8 +70,11 @@ let bytes_to_review = updated.render(); // no persistence or VPN operation
|
||||
```
|
||||
|
||||
Management startup still exits with an explicit “not implemented” error after
|
||||
its root check. The application library APIs are usable by callers, but are not
|
||||
yet connected to a management session or runtime VPN adapter.
|
||||
its root check. Runtime and restart library behavior is covered with synthetic
|
||||
fixtures and fake adapters; it has not been validated against a real WireGuard
|
||||
interface or systemd service. Real WireGuard integration is deferred to the
|
||||
isolated Alpine milestone, and real systemd/D-Bus acceptance requires the
|
||||
disposable VM milestone.
|
||||
|
||||
## Saved state, Commit, and backups
|
||||
|
||||
@@ -83,12 +88,15 @@ under Backup/data by default. Archives are stored under Backup/archives and
|
||||
contain fixed logical members, not source client files or prior archives.
|
||||
|
||||
The persistence journal recovers interrupted file replacement on reopen and
|
||||
returns a recovery error while earlier work remains unresolved. Restoring a
|
||||
backup does not restore runtime state: the running interface is unknown until a
|
||||
future explicit runtime verification. Pending deleted-client addresses remain
|
||||
reserved through Commit, reopen, and restore. See
|
||||
returns a recovery error while earlier work remains unresolved. A confirmed
|
||||
restart marks the saved generation applied only after a successful service job,
|
||||
a matching complete runtime observation, and journaled verification-state write.
|
||||
Restoring a backup does not restore runtime state: the running interface is
|
||||
unknown until a later explicit restart and verification. Pending deleted-client
|
||||
addresses remain reserved through Commit, reopen, and restore. See
|
||||
[docs/BACKUP_FORMAT.md](docs/BACKUP_FORMAT.md) and
|
||||
[docs/PERSISTENCE.md](docs/PERSISTENCE.md) for archive and recovery details.
|
||||
[docs/PERSISTENCE.md](docs/PERSISTENCE.md) for archive and recovery details,
|
||||
and [docs/RUNTIME.md](docs/RUNTIME.md) for observation and restart boundaries.
|
||||
|
||||
## Vault and existing-client import library
|
||||
|
||||
|
||||
Reference in New Issue
Block a user