A host can sit on a pre-1.6 release (distro ndppd, old oneshot vps-ipv6.service) for a long time before upgrading, so document and lock down how install.sh converges it: - the old ndppd/npd6 daemons are disabled and stopped, the unit is replaced by the in-tree responder, and the legacy per-address kernel proxy_ndp entries are swept on ipv6-reapply; - /etc/vpsmgr/ndppd.conf is read AS-IS, so the nested `iface <bridge>` block and its indentation written by the old panel must keep parsing. Adds TestLoadRulesAcceptsPreResponderFile to a regression guard, since every existing container would lose inbound IPv6 if that format ever diverged; - the old sudoers grants disappear with the rewritten whitelist, and the distro ndppd package is left installed but inert. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
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.