blumeops/ansible/roles
Erich Blume 7a42aeb77c
All checks were successful
Deploy Fly.io Proxy / deploy (push) Successful in 1m35s
Mitigate Forgejo archive endpoint DoS from crawler abuse
Crawlers hitting /archive/ endpoints with unique commit SHAs generated 54GB
of git bundles in 2 days, pegging Forgejo at 43% CPU. Fix at multiple layers:

- Redirect archive requests to tailnet at Fly proxy (302)
- Expand robots.txt: block /users/, /*/archive/, /*/releases/download/
- Cache release artifact downloads at nginx (immutable, 7d TTL)
- Enable [cron.archive_cleanup] with 2h TTL and run-at-start

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 14:21:22 -07:00
..
alloy Bump Grafana Alloy to v1.14.0 (#292) 2026-03-13 16:25:27 -07:00
borgmatic Fix borgmatic LaunchAgent TCC dialog hang by removing mise wrapper 2026-04-15 07:23:46 -07:00
borgmatic_metrics Add offsite backup for immich photo library to BorgBase (#315) 2026-03-27 19:43:05 -07:00
caddy Deploy Paperless-ngx document management (#328) 2026-04-08 17:54:12 -07:00
forgejo Mitigate Forgejo archive endpoint DoS from crawler abuse 2026-04-17 14:21:22 -07:00
forgejo_actions_secrets Expose Forgejo publicly at forge.eblu.me (#278) 2026-03-03 08:40:41 -08:00
forgejo_metrics
jellyfin
jellyfin_metrics
minikube Add storage-provisioner health check to minikube Ansible role 2026-04-04 12:04:25 -07:00
minikube_metrics
sifaka_exporters
zot Bump zot registry to v2.1.15 (#293) 2026-03-14 10:00:40 -07:00
zot_metrics