Skip to content

Fix provisioning lifecycle and critical regression coverage - #6

Merged
andre487 merged 2 commits into
mainfrom
fix/provisioning-lifecycle
Oct 11, 2026
Merged

andre487 merged 2 commits into
mainfrom
fix/provisioning-lifecycle

Conversation

@andre487

@andre487 andre487 commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Disable existing proxies when enabled becomes false while preserving administrative SSH, revoke retired managed accounts and administrative keys, and remove obsolete managed firewall rules. Refuse unsafe account deletion and invalid listener layouts before provisioning. Replace inventory and export files atomically, validate generated exports, normalize country codes, and let the wizard select direct SSH profiles. Docker cleanup no longer prunes unrelated resources.

Validation: 148 tests plus Ruff, compileall and all Ansible syntax checks pass locally. The real nginx integration passes and now runs in Actions. Existing LXD jobs additionally verify admin/proxy key rotation, real SSH password authentication and rotation, user removal, proxy disable/re-enable, firewall cleanup and preserved administrative access.

Administrative authorized_keys is now managed exclusively. Admin account migration verifies new access before retiring the previous managed account, preserving its files. Initial firewall upgrade records configured rules for subsequent reconciliation.

HTTPS chain dialers now verify the exit certificate and hostname. Real GOST tests cover knock/chain overrides, nested TLS Jump, incorrect machine authentication, certificate mismatch and unavailable exits without bypass. Administrative key rotation uses a two-phase bootstrap so the old key is retained until the new connection is verified; controller key pairs are checked before apply.

@andre487
andre487 merged commit 6cc9ab5 into main Oct 11, 2026
10 checks passed
@andre487
andre487 deleted the fix/provisioning-lifecycle branch October 11, 2026 14:18
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.

1 participant