Files
vpsmgr/docs
bluebluesodaandCommandCodeBot 1c6df157a5 fix(mgr,db): make an unpersisted CPU cap self-correcting; refuse a gapped schema
Addresses two review findings:

- the dynamic CPU limit applied a cap and only then saved the active state. A
  failed save left the cap in place with no record, so it could never expire
  and switching the rule off would not lift it — the container would stay
  pinned to the reduced quota. The caps applied by a pass are now held back
  until the state is written; if the write fails they are lifted again (each
  back to the user's own quota) and the failure is reported. The quota writer
  is behind a one-method interface so the failure path is covered by a test
  that fails the state write with a trigger and asserts cap-then-rollback, plus
  a test that a failed rollback is reported rather than swallowed
- migrations only compared the highest recorded version, so rows missing from
  schema_migrations silently skipped a step and surfaced later as obscure "no
  such column" failures. The recorded versions must now form the unbroken run
  2..cur (v1 is the baseline, created unconditionally and never recorded) or
  the database refuses to open

The third finding (a failed cross-container share install deleting the old
container before the new one is up) is left as is: the user confirms a
reinstall that discards the data, and the retry costs nothing — Delete treats
an already-missing container as success (verified against the live Incus
socket), so the user simply installs again.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
2026-09-16 07:31:11 +00:00
..

Documentation

Technical documentation for vpsmgr. All docs are in English.

Doc What it covers
architecture.md System design: components, storage, network, security, traffic, users and user groups, image, install/uninstall lifecycle
configuration.md Full reference for /etc/vpsmgr/config.yaml
ipv6.md IPv6 pass-through design: deterministic addresses, prefix support, routing, installer flow
ipv6-ndp-responder.md Why prefix mode replaced ndppd with an in-tree NDP responder, design hardening, and what to test at scale
development.md Building, testing, releasing, conventions

See also AGENTS.md at the repo root — short version aimed at AI coding agents.