Handbook
Build 201 — Practitioner guides
Purpose: ship realistic integrations—workspace uploads, template builds, curl, Caddy / TLS, and Granite-style routing—without re-reading the full route table each time.
Updated
| Audience | Integrators and host operators past first install |
| Effort | ~2–6 hours per topic (TLS/DNS can dominate wall time) |
| Prerequisites | Finished Learn 101 or equivalent; Docker + Fleet running |
| Success | You can run a workspace upload or template-backed path and verify it from GET /v1/jobs/{id} or /admin/ |
At a glance
- You will: move from “Fleet runs” to “Fleet runs my tarball / template / TLS front”.
- Cadence: tackle one topic per session; Caddy + DNS often dominate wall time.
- Companion: keep HTTP API open for exact routes.
| Topic | Page |
|---|---|
| Tarball workspaces | Workspace upload |
| Requirement templates + BuildKit builds | Container templates |
| Fleet App packages (FAEP) | Fleet Apps protocol |
| Caddy on systemd hosts | Caddy + systemd |
| Single hostname routing (Fleet + Granite) | Caddy unified Granite |
| Topic-based snippets (Python / TS / CI) | Examples library |
Copy‑paste curl / jq |
Examples & recipes |
| Curated integrations index | Integration recipes hub |
Before: Learn 101 · After: Operate 301 · Lookup: HTTP API · Schemas