blumeops/docs/how-to
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
..
authentik Review 3 how-to docs and fix update-tailscale-acls inaccuracies 2026-02-25 07:02:49 -08:00
configuration Add authenticated GitHub PAT for Forgejo mirror sync (#269) 2026-02-25 20:20:23 -08:00
deployment Document container tag provenance and enhance container-list (#263) 2026-02-24 09:54:58 -08:00
forgejo-runner Upgrade k8s forgejo-runner from v6.3.1 to v12.7.0 (#251) 2026-02-22 17:43:39 -08:00
grafana C2: Upgrade Grafana to 12.x with Nix container and Kustomize (#260) 2026-02-23 18:07:18 -08:00
knowledgebase Replace indri-runner-logs with general-purpose runner-logs Typer CLI (#244) 2026-02-22 10:20:11 -08:00
operations Review gandi-operations doc and reorganize how-to guides (#200) 2026-02-17 07:29:33 -08:00
plans Document AirPlay cross-VLAN firewall rules and fix rule ordering 2026-02-24 20:49:31 -08:00
ringtail Update ringtail flake inputs, add flake-update pipeline (#240) 2026-02-22 08:17:52 -08:00
zot Migrate upstream mirrors to mirrors/ Forgejo org (#265) 2026-02-24 20:43:14 -08:00
agent-change-process.md Document container tag provenance and enhance container-list (#263) 2026-02-24 09:54:58 -08:00
how-to.md Add authenticated GitHub PAT for Forgejo mirror sync (#269) 2026-02-25 20:20:23 -08:00