# tdarr-cli — plan ## Goal En liten, skriptbar CLI mot Tdarrs (odokumenterade) HTTP-API så att Tdarr-servern på Pi5 kan konfigureras/styras utan webb-UI:t — noder, worker-gränser, bibliotek och generiska anrop. Ursprungligen byggd för att sätta upp 2-nod-transkodning (workstation NVENC + Pi5 CPU-fallback). ## Stack - Python 3, endast standardbibliotek (`urllib`, `json`, `argparse`). Ingen build. - Arkitektur-oberoende (körs på både x64 och arm64 med python3). ## Deploy target Pattern A — installerbar CLI. Release-CI publicerar `tdarrctl` (+ `install.sh`, `checksums.txt`) till en rullande `latest`-release; en-rads `curl … | sh`-install. ## Auth `x-api-key` (Tdarr `seededApiKey`). Nyckeln läses ur env eller `~/tdarr-node/.env`, skrivs aldrig ut. ## Kommandon (nuläge) `status`, `nodes`, `worker`, `libraries`, `cruddb` (generisk collection-CRUD), `insert` (insert/update/removeOne), `api` (generiskt HTTP). Kartlagda API-detaljer: - `alter-worker-limit`: `{data:{nodeID, workerType:, process:}}`. - `update-node`: `{data:{nodeID, nodeUpdates:{…}}}` (t.ex. `nodePaused`). - cruddb-collections: `LibrarySettingsJSONDB`, `FlowsJSONDB`, `NodeJSONDB`, `PluginJSONDB`, m.fl. modes: `getAll`, `insert`, `update`, `removeOne`. ## Roadmap / expansions - Bekvämlighetskommandon: `pause ` / `resume ` (wrappar `update-node`). - `create-library` / `set-flow` som bygger korrekta objekt (Tdarr-objekten är stora/ömtåliga via rå cruddb — bibliotek/flow görs idag bäst i UI:t). - Konfigfil (`~/.config/tdarrctl/config.json`) för URL + nyckel-referens. - `--json`-utdata för skriptning. ## Open questions - Vilka fler high-level-kommandon är värda att curera (vs generisk `cruddb`/`api`)? - Ska den slås ihop med/ersättas av tdarr-tray för icke-CLI-styrning?