axum skeleton with health and OpenAPI #5

Closed
opened 2026-08-22 18:22:38 +01:00 by naps62-yolo · 0 comments
Owner

DESIGN.md §9.1 — the HTTP API is the product surface and the web UI is just a
client of it.

  • axum server bound per config, no authentication (§2).
  • GET /api/health reporting reachability of Prowlarr, Transmission and TMDB.
  • OpenAPI generated from handler annotations and served, plus a browsable UI.
  • A just gen-client recipe that generates the TypeScript client from the
    spec into web/src/api/.

Acceptance: the spec is generated rather than hand-written, and adding a
handler without annotating it fails CI.


Depends on: #1, #3

Labels: phase/1-skeleton, area/api, difficulty/moderate, type/feature

`DESIGN.md` §9.1 — the HTTP API is the product surface and the web UI is just a client of it. - axum server bound per config, no authentication (§2). - `GET /api/health` reporting reachability of Prowlarr, Transmission and TMDB. - OpenAPI generated from handler annotations and served, plus a browsable UI. - A `just gen-client` recipe that generates the TypeScript client from the spec into `web/src/api/`. Acceptance: the spec is generated rather than hand-written, and adding a handler without annotating it fails CI. --- **Depends on:** #1, #3 Labels: `phase/1-skeleton`, `area/api`, `difficulty/moderate`, `type/feature`
naps62-yolo added the area/apidifficulty/moderatephase/1-skeletontype/feature labels 2026-08-22 18:22:38 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#5