blumeops/ansible/roles
Erich Blume 84338c32c2 Add authenticated GitHub PAT for Forgejo mirror sync (#269)
## Summary

- **mirror-create**: Auto-includes GitHub PAT from 1Password for authenticated upstream fetches at mirror creation time
- **mirror-update-pats**: New mise task that SSHes into indri and rewrites the git remote URL in every GitHub mirror's bare repo config to embed the PAT. Idempotent, supports `--dry-run`
- **app.ini.j2**: Explicit `[mirror]` section with `DEFAULT_INTERVAL = 8h` and `MIN_INTERVAL = 10m` (bakes in the defaults for visibility)
- **manage-forgejo-mirrors**: New how-to doc covering mirror creation, PAT storage, the `mirror-update-pats` task, and the full 20-day PAT rotation procedure

## Context

GitHub tightened unauthenticated rate limits for git clone/fetch in May 2025. With 23 GitHub mirrors syncing every 8 hours, authenticated fetches avoid throttling. The PAT is stored in 1Password (`Forgejo Secrets` → `github-mirror-pat`) and has been applied to all existing mirrors.

## Deployment and Testing

- [x] `mirror-update-pats` dry-run verified (23 mirrors detected)
- [x] `mirror-update-pats` applied to all 23 GitHub mirrors on indri
- [x] Idempotency confirmed (re-run shows 0 updated, 23 skipped)
- [ ] Provision indri with `--tags forgejo` to apply `[mirror]` config
- [ ] Trigger a manual mirror sync and verify success in Forgejo UI

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/269
2026-02-25 20:20:23 -08:00
..
alloy Fix mirror org refs in ArgoCD apps and widen credential template (#266) 2026-02-25 06:55:53 -08:00
borgmatic Update BorgBase repo ID after recreation (#144) 2026-02-10 13:19:15 -08:00
borgmatic_metrics Move metrics scripts from ~/bin to ~/.local/bin (#70) 2026-01-29 09:59:38 -08:00
caddy Deploy Authentik identity provider (C2 Mikado) (#227) 2026-02-20 12:55:59 -08:00
forgejo Add authenticated GitHub PAT for Forgejo mirror sync (#269) 2026-02-25 20:20:23 -08:00
forgejo_actions_secrets Enable zot registry auth + wire CI credentials (#237) 2026-02-21 12:20:29 -08:00
forgejo_metrics Add Forgejo repository health metrics and Grafana dashboard (#245) 2026-02-22 11:16:03 -08:00
jellyfin Add SSO login button to Jellyfin login page 2026-02-21 20:08:57 -08:00
jellyfin_metrics Migrate Ansible op calls to op read URI syntax (#125) 2026-02-08 10:52:43 -08:00
minikube Fix minikube role skipping start when kubelet/apiserver are stopped (#137) 2026-02-09 23:03:01 -08:00
minikube_metrics Move metrics scripts from ~/bin to ~/.local/bin (#70) 2026-01-29 09:59:38 -08:00
sifaka_exporters Operations and observability for sifaka NAS (#135) 2026-02-09 17:44:05 -08:00
zot Allow anonymous access to zot /metrics endpoint 2026-02-21 12:37:59 -08:00
zot_metrics Move metrics scripts from ~/bin to ~/.local/bin (#70) 2026-01-29 09:59:38 -08:00