WIP: add gated ServiceRadar SSH CA enrollment collection #1

Draft
mfreeman451 wants to merge 19 commits from feat/serviceradar-remote-access-enrollment into main
Owner

Adds a reusable public collection for staged SSH user-CA enrollment, overlap, retirement, removal, rollback, and the ServiceRadar callback seam. Security review closed all identified P0/P1 findings. Production import remains explicitly gated until callback/AWX integration and the full real-SSH mutation matrix pass. Local gates: repository/private-material checks, yamllint, ansible-lint production profile, every wrapper syntax check, hash-locked dependency install, and collection build. Molecule DIND runs in CI.

Adds a reusable public collection for staged SSH user-CA enrollment, overlap, retirement, removal, rollback, and the ServiceRadar callback seam. Security review closed all identified P0/P1 findings. Production import remains explicitly gated until callback/AWX integration and the full real-SSH mutation matrix pass. Local gates: repository/private-material checks, yamllint, ansible-lint production profile, every wrapper syntax check, hash-locked dependency install, and collection build. Molecule DIND runs in CI.
test: enforce reproducible Ansible quality gates
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Has been cancelled
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
05d931ce7a
ci: use available disposable runner pool
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Failing after 9s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Failing after 10s
dafbbb3f96
ci: run quality jobs in provisioned worker image
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Failing after 2s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Failing after 2s
991647699d
ci: isolate locked Python dependencies
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Failing after 9s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Failing after 9s
3c4bd7f625
fix(ci): resolve lock for Python 3.12
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 41s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Failing after 40s
6cd60a737a
feat(callback): bind retries to idempotency key
Some checks failed
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Failing after 16s
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 38s
d9771fd4be
ci: isolate real SSH fixture matrix
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 40s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
5311c8618a
fix(callback): allow bounded AWX activation retries
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 36s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
9d3f5f85e5
fix(callback): bind CA response to AWX runtime job
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 1m53s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
178353dcf0
fix(callback): materialize exact AWX host scope
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 39s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
648d3f24f4
fix(ansible): pin mounted QGA installer digest
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 46s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
3875e686d0
fix(ansible): support pinned unsigned VirtIO QGA MSI
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 54s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
5c0534b79b
feat(ansible): pin Windows AWX execution environment
Some checks failed
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 48s
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Has been cancelled
92bbe074ab
fix(ansible): validate Windows MSI paths at runtime
Some checks are pending
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Waiting to run
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 49s
2b16a98f94
Some checks are pending
remote-access-content-quality / molecule-systemd-sshd (preflight) (pull_request) Waiting to run
remote-access-content-quality / lint-and-syntax (pull_request) Successful in 49s
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/serviceradar-remote-access-enrollment:feat/serviceradar-remote-access-enrollment
git switch feat/serviceradar-remote-access-enrollment

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff feat/serviceradar-remote-access-enrollment
git switch feat/serviceradar-remote-access-enrollment
git rebase main
git switch main
git merge --ff-only feat/serviceradar-remote-access-enrollment
git switch feat/serviceradar-remote-access-enrollment
git rebase main
git switch main
git merge --no-ff feat/serviceradar-remote-access-enrollment
git switch main
git merge --squash feat/serviceradar-remote-access-enrollment
git switch main
git merge --ff-only feat/serviceradar-remote-access-enrollment
git switch main
git merge feat/serviceradar-remote-access-enrollment
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
carverauto/serviceradar-ansible!1
No description provided.