All checks were successful
release / release (push) Successful in 1m4s
status/nodes/worker/cruddb/insert/api commands (stdlib only). Cracked Tdarr's x-api-key auth (seededApiKey), alter-worker-limit and update-node formats. Used to set up 2-node transcoding (workstation NVENC + Pi5 CPU fallback). Playbook standard: README (per-OS prereqs), doc/plan.md, .gitignore (build/ first), VS Code build task, install.sh + one-line curl, Gitea Actions rolling-latest release. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011YPrEZVBpPVoCRyJz2exkZ
41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
# 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:<transcodegpu|…>, process:<increase|decrease>}}`.
|
|
- `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 <nod>` / `resume <nod>` (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?
|