2.5 Health checks and the developer loop
This short section gathers the operational basics you'll lean on while
developing: confirming the node is up, and the rs2 CLI verbs that make up the
day-to-day loop.
Is the node up?
Two tenant-independent endpoints report the node itself:
curl.exe http://127.0.0.1:3100/healthz # liveness — the process is running
curl.exe http://127.0.0.1:3100/readyz # readiness — ready to serve
These never depend on a tenant, so they're what a load balancer or container
orchestrator should probe. If /readyz answers, requests to your mounts will be
routed.
The rs2 developer loop
The CLI is primarily for building and shipping services, with focused commands for login, file upload, mount edits, auth bootstrap, and instruction-plane mirroring. You still talk to the rest of a tenant over plain HTTP. The commands you'll meet most often are:
| Command | Does |
|---|---|
rs2 new <name> [--js] |
Scaffold a custom-service project (Rust/Wasm by default, --js for a JavaScript bundle) |
rs2 dev [serverConfig.json] |
Run a local node (same code as rs2-server) |
rs2 test [projectDir] |
Validate a custom service's manifest and built component |
rs2 deploy <file> --name <n> [--bundle] |
Upload a custom service to a running node's services API |
rs2 login / rs2 send |
Save a login token; PUT one local file to a tenant path |
rs2 service add / set-access |
Make a small ETag-safe mount/config change |
rs2 auth init |
Bootstrap auth and the first operator on a fresh open node |
rs2 pull / rs2 push |
Mirror and safely update the tenant's instruction plane |
rs2 migrate <services.json> |
Convert a v1 Restspace config to an RS2 tenant config |
For now, rs2 dev is the one to know: it starts a node exactly like
rs2-server, so you can iterate without leaving the CLI. Appendix E is the
complete command reference.
A typical inner loop
- Edit
./tenants/main.json(orPUT /services/rawon a running node). - Reload (restart, or the live
PUT). - Make requests with
curl/Invoke-RestMethod/fetch. - Read
X-Trace-Idon the response; if something failed, look up that trace in the logs (Part 10) or read theproblem+jsonbody.
That's the whole getting-started arc: install, run, configure a tenant, make requests. Part 3 steps back to explain the concepts those requests rely on — messages, mounts, the store pattern, and capabilities — so the rest of the manual's services make sense as instances of a few ideas rather than a pile of features.
← Previous: 2.4 Your first request · Manual home · Next: Part 3 — 3.1 Messages and bodies →