blumeops/ansible
Erich Blume d3d3041b27 Decouple ZIM/torrent ansible tasks for faster provisioning (#18)
## Summary
- Simplify kiwix role from 213 lines to 151 lines (-30%)
- Replace per-archive torrent status loops with single shell command
- Decouple kiwix startup from declared inventory - now serves whatever completed ZIM files exist
- Fix tailscale_serve role to handle empty JSON in check mode

## Performance improvement
- **Before**: ~132 operations (44 archives × 3 loops for status check, recheck, symlink)
- **After**: ~5 operations (1 shell script + 1 find + conditional symlinks)
- Expected reduction: ~3 minutes per ansible run

## Test plan
- [x] Ran `mise run provision-indri -- --check --diff` to preview changes
- [x] Ran `mise run provision-indri` to apply changes
- [x] Ran `mise run indri-services-check` - all services healthy

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.tail8d86e.ts.net/eblume/blumeops/pulls/18
2026-01-16 15:14:00 -08:00
..
group_vars Add grafana datasource provisioning and update workflow docs 2026-01-14 07:23:10 -08:00
inventory Add ansible playbook for indri with prometheus and grafana roles 2026-01-13 21:12:24 -08:00
playbooks Use explicit PostgreSQL superuser name and fix check mode (#17) 2026-01-16 14:41:36 -08:00
roles Decouple ZIM/torrent ansible tasks for faster provisioning (#18) 2026-01-16 15:14:00 -08: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