## Summary - Move all existing zettelkasten cards from `docs/` to `docs/zk/` as a temporary holding area - Update `zk-docs` mise task to look in the new location - Add `docs/README.md` explaining the Diataxis-based restructuring plan and target audiences ## Context This is phase 1 of a multi-phase documentation restructuring effort. The goal is to reorganize docs to follow the Diataxis framework while serving multiple audiences: 1. Erich (owner) - knowledge graph/zk 2. Claude/AI agents - memory and context enrichment 3. New external readers - high-level overview 4. Potential operators/contributors - onboarding 5. Replicators - people wanting to duplicate the approach ## Testing - [x] Verified `mise run zk-docs` still works with the new path - [x] Updated obsidian.nvim config (in ~/.config/nvim) to point to new path ## Note The obsidian.nvim config change is outside this repo but was made as part of this work. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/84
3.4 KiB
| id | aliases | tags | ||
|---|---|---|---|---|
| transmission |
|
|
Transmission Management Log
Transmission is a BitTorrent daemon running in Kubernetes, primarily used to download large ZIM archives for kiwix.
Service Details
- URL: https://torrent.tail8d86e.ts.net
- Namespace:
torrent - Image:
lscr.io/linuxserver/transmission:latest - ArgoCD app:
torrent - Storage: NFS PVC from sifaka (
/volume1/torrents)
Useful Commands
# View transmission logs
kubectl --context=minikube-indri -n torrent logs -f deployment/transmission
# Check RPC connectivity (from another pod)
kubectl --context=minikube-indri run -it --rm curl --image=curlimages/curl -- \
curl -s http://transmission.torrent.svc.cluster.local:9091/transmission/rpc
# Sync from ArgoCD
argocd app sync torrent
ArgoCD Management
Transmission is deployed via ArgoCD from argocd/manifests/torrent/:
deployment.yaml- Transmission container with NFS volumeservice.yaml- ClusterIP service (port 9091)ingress-tailscale.yaml- Tailscale Ingress for web UIpv-nfs.yaml- NFS PersistentVolumepvc.yaml- PersistentVolumeClaim
Storage Layout
The NFS share on sifaka (/volume1/torrents) has this structure:
/downloads/- Active downloads and torrent metadata/downloads/complete/- Completed downloads/config/- Transmission configuration/watch/- Watch directory for .torrent files
Kiwix reads from /downloads/complete/ to serve ZIM archives.
Integration with Kiwix
The kiwix deployment includes a torrent-sync sidecar that:
- Reads the declarative ZIM torrent list from a ConfigMap
- Adds missing torrents to Transmission via RPC
- Runs on startup and every 30 minutes
When downloads complete:
- Transmission moves files to
/downloads/complete/ - The zim-watcher CronJob (in kiwix namespace) detects new ZIMs
- Kiwix deployment is restarted to pick up new archives
Monitoring
TODO: Write custom transmission exporter. Existing exporters (metalmatze/transmission-exporter, sandrotosi/simple_transmission_exporter) are incompatible with Transmission 4's changed JSON API (type mismatches in lastScrapeTimedOut field).
Current monitoring via web UI at https://torrent.tail8d86e.ts.net:
- Active/seeding/paused torrent counts
- Upload/download speeds
- Disk usage
Basic uptime monitoring via blackbox probe in alloy (see Services Health dashboard).
Log
2026-01-22
- Attempted to add
metalmatze/transmission-exportersidecar for Prometheus metrics - Exporter failed with JSON parsing errors - incompatible with Transmission 4 API changes
- Removed exporter sidecar, dashboard, and Prometheus scrape config
- Added basic HTTP probe via Alloy k8s blackbox exporter instead
- Deleted stale
transmission.promtextfile from indri
2026-01-21 (P6)
- Migrated to Kubernetes (Phase 6 of k8s migration)
- NFS PersistentVolume for storage on sifaka
- Tailscale Ingress at
torrent.tail8d86e.ts.net - RPC accessible to kiwix namespace for torrent sync
- Moved existing ZIM files to
/downloads/complete/for seeding - Retired ansible transmission role from indri
2026-01-14
- Added transmission role to ansible playbook
- Integrated with kiwix role for torrent-based ZIM downloads
- Initial setup with transmission-cli via homebrew
- Managed via brew services on port 9091
- Metrics collected via textfile exporter