Skip to content

Repository files navigation

TorrentDam Operator

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.

Installation

The operator can be installed directly or referenced from another kustomize configuration.

Direct

kubectl apply -k .

From another kustomize configuration

Add this to your kustomization.yaml:

resources:
  - https://github.com/TorrentDam/operator//?ref=main

To 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_NAMESPACE env var). To watch cluster-wide, remove the env var from the Deployment.

Creating a torrent

kubectl apply -f examples/pvc.yaml      # one-time: storage for downloads
kubectl apply -f examples/torrent.yaml  # a Torrent resource

A pod running the torrent client will be created and bound to the PVC named in spec.pvcName.

Uninstall

kubectl delete -k .

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages