Single-file Scala 3 Kubernetes operator for managing torrent downloads.
Watches Torrent custom resources and creates/deletes pods accordingly. Exposes a JSON-based HTTP API inspired by Transmission's RPC spec for torrent management.
Goal: Support all methods required by Radarr and Sonarr.
The operator can be installed directly or referenced from another kustomize configuration.
kubectl apply -k .Add this to your kustomization.yaml:
resources:
- https://github.com/TorrentDam/operator//?ref=mainTo pin a specific image tag, override the images entry in your consuming kustomization.yaml:
images:
- name: ghcr.io/torrentdam/operator
newTag: <sha-or-tag>Note: By default the operator watches the namespace it is deployed in (via the downward API
WATCH_NAMESPACEenv var). To watch cluster-wide, remove the env var from the Deployment.
kubectl apply -f examples/pvc.yaml # one-time: storage for downloads
kubectl apply -f examples/torrent.yaml # a Torrent resourceA pod running the torrent client will be created and bound to the PVC named in spec.pvcName.
kubectl delete -k .