Skip to content

Add opt-in isolated VPN database services - #100

Merged
makeitfutureDev merged 1 commit into
betafrom
codex/channel-vpn
Sep 17, 2026
Merged

makeitfutureDev merged 1 commit into
betafrom
codex/channel-vpn

Conversation

@makeitfutureDev

Copy link
Copy Markdown
Owner

Adds an opt-in operator CLI for a dedicated rootless OpenVPN service and an unprivileged MySQL verification container. Channels can reach a configured private database without granting VPN privileges or a container-engine socket to ordinary agent containers. Profiles are regenerated from an allowlist; a firewall restricts tunnel traffic to one database address/port and blocks fallback outside the tunnel.

Desired configuration and secret references use channel metadata. Protected profile revisions and a standalone helper support existing stable installations without upgrading their checkout. A user-systemd supervisor manages the pair with kernel locking, ownership checks and safe credential rotation. Verification executes only SELECT 1 and SHOW DATABASES.

Validation:

  • 67 Node regressions passed, including existing container lifecycle and channel-secret tests.
  • Eight Python checks passed.
  • Real rootless TUN/firewall/extractor-isolation and tunnel-loss acceptance passed; disposable fixtures cleaned up.
  • Supplied profile validation, private-file permissions and missing-secret fail-closed admission passed.
  • Generated systemd unit validates; static checks, secret scan and DCO passed.

Remaining acceptance gates: provider VPN/MySQL login, credential rotation and restart/boot recovery with real credentials; private QA registry updates. The operator bundle is prepared and the service remains stopped pending credentials. No stable-branch promotion is proposed.

Signed-off-by: Tiberiu Socaci <tsocaci@makeitfuture.com>
@makeitfutureDev
makeitfutureDev merged commit a1396e4 into beta Sep 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants