Learn 101 — Onboard with Fleet

Purpose: take someone from zero to a working Fleet with curl, a first docker_argv job, and a pass through /admin/.

Updated

Audience Developers and operators new to Fleet
Total effort ~1–2 hours end-to-end (faster if Docker + systemd are already familiar)
Prerequisites Python 3.11+, git, and (for jobs) Docker Engine on the host
Success GET /v1/version works; POST /v1/jobs with kind: docker_argv reaches completed for hello-world; you can find the job in /admin/

At a glance

  • You will: bring up Fleet locally or on a host, verify /v1/*, finish one docker_argv lab, and skim /admin/.
  • Time: plan ~1–2 hours if Docker and systemd are unfamiliar.
  • Out of scope: multi-tenant schedulers and automatic cross-host job placement (mesh placement is roadmap). Each Fleet host still runs its own jobs; laptops do federate admin to remote peers and reach Granite data through app gateways — see Distributed nodes.

Follow in order unless you already know Docker + Fleet:

  1. What is Fleet? — plain-language scope + concepts + ports
  2. Install & run locally — dev loop (venv, Compose, verification)
  3. Host bootstrap — OS packages (fresh machine / bare metal)
  4. Install from git — git-install.sh, systemd layouts
  5. Quickstarts (verify) — scripted paths + curl bundles
  6. Your first Fleet job — POST /v1/jobs lifecycle lab
  7. Admin dashboard & Studio — /admin/ tour + LENSES_FLEET_*
  8. Connect to remote Fleet — Cloudflare URL + bearer, Connect… wizard, remote admin scope
  9. Operator apt install — packages.forgesdlc.com bootstrap (no git)
  10. Migrate to apt — git → apt channel + cooperative upgrade timer

Dual-wiki: edit these .md files; rebuild the handbook with python3 generator/build-site.py in forge-fleet-website. Use placeholders (<FLEET_PUBLIC_BASE_URL>, <FLEET_BEARER_TOKEN>) — not live secrets in source.

Before: Start here · After: Build 201 · Ops help: Troubleshooting · Security: Security