fix(secrets): rotate exposed CI SSH key and Authelia OIDC key #52

Merged
jfraeys merged 2 commits from jfraeys/fix/p2-rotate-exposed into main 2026-10-13 09:50:48 -04:00
Owner

Fresh CI_EPHEMERAL_ANSIBLE_SSH_KEY and AUTHELIA_OIDC_PRIVATE_KEY_PEM in the vault (both were printed in the redaction incident), and regenerate-ci-ephemeral-ssh-key.sh rewritten for SOPS (it still assumed Ansible Vault). Production redeploy (scripts/deploy-services.sh --limit services_hosts) is a separate operator step and also mints a fresh Tailscale authkey. 🤖 Generated with Claude Code

Fresh `CI_EPHEMERAL_ANSIBLE_SSH_KEY` and `AUTHELIA_OIDC_PRIVATE_KEY_PEM` in the vault (both were printed in the redaction incident), and `regenerate-ci-ephemeral-ssh-key.sh` rewritten for SOPS (it still assumed Ansible Vault). Production redeploy (`scripts/deploy-services.sh --limit services_hosts`) is a separate operator step and also mints a fresh Tailscale authkey. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(secrets): rotate exposed CI SSH key and Authelia OIDC key; SOPS-aware key regen script
All checks were successful
Lint / lint (pull_request) Successful in 2m2s
Secret scan / scan (pull_request) Successful in 14s
fb21518f45
Both values were printed in full during a redaction incident (docs/incidents.md).
Vault holds fresh keys; production redeploy pending.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Merge main into p2-rotate-exposed; re-apply the two rotated keys onto main's vault
All checks were successful
Lint / lint (pull_request) Successful in 2m12s
Secret scan / scan (pull_request) Successful in 18s
29f95d8e42
Resolved by taking main's secrets/vault.sops.yml and re-applying
AUTHELIA_OIDC_PRIVATE_KEY_PEM and CI_EPHEMERAL_ANSIBLE_SSH_KEY from this branch
(verified: every other key equals main's, same key set). The regenerate script keeps
this branch's rewrite with main's --limit services hint.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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
jfraeys/infra!52
No description provided.