Add specification

This commit is contained in:
2026-10-18 00:19:52 +03:00
parent a28334013b
commit 86dbead893
7 changed files with 212 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
# Commit saves files; applying changes requires a separate restart
Adding and removing peers can technically be applied without a restart, but the administrator chose an explicit boundary between saving changes and modifying the running VPN. Therefore, Commit does not trigger a reload or restart; the TUI distinguishes draft, saved, and applied states. A deleted client's address remains reserved until a successful restart has been verified. This is deliberate product behavior rather than a WireGuard limitation.
+3
View File
@@ -0,0 +1,3 @@
# New secrets are encrypted without a password; reissuing requires decryption
The application must create new clients without requesting a password and require a password to reissue their private keys. Asymmetric encryption was chosen: the vault's public key is available for writing, while its secret key is password-protected. The vault is backed up and restored as a whole without decryption. Password loss is unrecoverable; this scheme does not encrypt the server configuration, original files, or the entire backup archive.
+3
View File
@@ -0,0 +1,3 @@
# The server configuration is the source of truth for clients
The installation already contains clients and a manually configured server. To maintain compatibility, the application modifies only client sections and managed comments containing descriptive metadata. All other server settings and comments are preserved. This rules out an independent alias registry as a source of truth and requires parsing that preserves the original document rather than fully reserializing the configuration.