Repository navigation
Fix provisioning lifecycle and critical regression coverage - #6
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.