blumeops/ansible
Erich Blume 7ec98210a9 P6: Migrate Kiwix and Transmission to Kubernetes (#39)
## Summary
- Add Transmission BitTorrent daemon to k8s (torrent namespace)
- Add Kiwix ZIM archive server to k8s (kiwix namespace)
- NFS storage from sifaka for shared torrent/ZIM data
- Torrent-sync sidecar in kiwix deployment to manage declarative ZIM list
- ZIM-watcher CronJob to auto-restart kiwix when new archives appear
- Remove transmission, transmission_metrics, and kiwix ansible roles from indri
- Remove svc:kiwix from tailscale_serve defaults

## Key Decisions
- Direct NFS mount for kiwix (no PVC) since it shares storage with transmission
- Shell wrapper for kiwix-serve command (glob expansion)
- Accept HTTP 409 as "ready" in torrent sync (transmission session ID mechanism)
- Completed downloads stored in `/downloads/complete/` on sifaka

## Deployment and Testing
- [x] Deployed transmission to k8s
- [x] Verified transmission web UI at torrent.tail8d86e.ts.net
- [x] Moved existing ZIM files to complete folder
- [x] Deployed kiwix to k8s
- [x] Verified kiwix web UI at kiwix.tail8d86e.ts.net
- [x] Stopped old services on indri
- [x] Cleared svc:kiwix from Tailscale serve on indri
- [x] Updated zk documentation

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

Reviewed-on: https://forge.tail8d86e.ts.net/eblume/blumeops/pulls/39
2026-01-21 18:07:40 -08:00
..
group_vars Add grafana datasource provisioning and update workflow docs 2026-01-14 07:23:10 -08:00
inventory Add pre-commit hooks for code quality (#19) 2026-01-16 19:33:02 -08:00
playbooks P6: Migrate Kiwix and Transmission to Kubernetes (#39) 2026-01-21 18:07:40 -08:00
roles P6: Migrate Kiwix and Transmission to Kubernetes (#39) 2026-01-21 18:07:40 -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