blumeops/ansible
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
..
inventory Add NixOS configuration for ringtail workstation (#207) 2026-02-18 08:24:25 -08:00
playbooks Expose Forgejo publicly at forge.eblu.me (#278) 2026-03-03 08:40:41 -08:00
roles Mitigate Forgejo archive endpoint DoS from crawler abuse 2026-04-17 14:21:22 -07:00
ansible.cfg Suppress Python interpreter discovery warning in ansible 2026-01-13 21:26:41 -08:00
requirements.yml Add ansible playbook for indri with prometheus and grafana roles 2026-01-13 21:12:24 -08:00