Cybersecurity-Projects/PROJECTS/intermediate/credential-rotation-enforcer/spec/unit/rotators
CarterPerez-dev 873257ad4b feat(rotators): GitHub fine-grained PAT rotator + thin GitHub API client
Github::Client wraps the bearer-auth REST API with required
'X-GitHub-Api-Version: 2022-11-28' header. Implements me, create_pat
(POST /user/personal-access-tokens), delete_pat (DELETE by id).

GithubPatRotator's 4-step contract:
- generate: create_pat returns new id + token value (fresh PAT alongside old)
- apply: no-op (create_pat already active)
- verify: probe-client uses the NEW PAT to GET /user; success means it works
- commit: delete OLD PAT by id (tracked via old_pat_id tag)
- rollback_apply: delete NEW PAT

7 unit specs verify create/delete/me round-trips, full rotation path,
verify-on-401, and rollback deletion.
2026-04-29 01:05:10 -04:00
..
.gitkeep feat(cre): source tree skeleton with empty module dirs and CI workflow 2026-04-28 23:54:59 -04:00
aws_secrets_spec.cr feat(rotators): AWS Secrets Manager rotator with SigV4 signer + secrets client 2026-04-29 01:02:40 -04:00
env_file_spec.cr feat(rotators): abstract Rotator with macro registration + EnvFileRotator + 4-step orchestrator 2026-04-29 00:59:01 -04:00
github_pat_spec.cr feat(rotators): GitHub fine-grained PAT rotator + thin GitHub API client 2026-04-29 01:05:10 -04:00
rotator_spec.cr feat(rotators): abstract Rotator with macro registration + EnvFileRotator + 4-step orchestrator 2026-04-29 00:59:01 -04:00
vault_dynamic_spec.cr feat(rotators): Vault dynamic-secrets rotator + thin Vault client 2026-04-29 01:04:12 -04:00