crabbox/docs/features
Jonathan Moss 00725544c7
feat(azure): support linux and native windows leases
Add Azure as a managed provider for direct and brokered Crabbox leases.

- provision Azure Linux VMs with cloud-init, spot fallback, shared network adoption, and per-lease cleanup
- provision native Azure Windows VMs with VM Agent bootstrap and SSH/sync/run support
- add Azure broker support in the Cloudflare Worker, provider config, docs, and tests
- fix async Azure delete handling so successful 202 delete LROs do not refetch deleted resources
- keep Go core coverage above the CI threshold

Verified with CI plus live Azure Linux and native Windows leases.

Co-authored-by: Jonathan Moss <2729151+jwmoss@users.noreply.github.com>
2026-05-08 08:23:38 +01:00
..
actions-hydration.md feat(azure): support linux and native windows leases 2026-05-08 08:23:38 +01:00
artifacts.md feat: improve desktop reliability artifacts 2026-05-08 04:52:51 +01:00
auth-admin.md feat: add lease sharing 2026-05-07 13:39:07 +01:00
aws.md fix(coordinator): keep capacity requests sparse 2026-05-06 16:05:01 -07:00
azure.md feat(azure): support linux and native windows leases 2026-05-08 08:23:38 +01:00
blacksmith-testbox.md fix(blacksmith): explain queued outage timeouts 2026-05-06 15:21:25 -07:00
broker-auth-routing.md test: add live coordinator auth smoke 2026-05-02 03:25:12 +01:00
cache.md docs: document lease slugs and idle timeout 2026-05-01 08:01:00 +01:00
capabilities.md docs: link egress from portal capabilities 2026-05-07 06:22:34 +01:00
capacity-fallback.md docs: expand crabbox user guide 2026-05-07 00:47:41 +01:00
configuration.md feat: add mediated egress bridge 2026-05-07 06:10:22 +01:00
coordinator.md feat: improve desktop reliability artifacts 2026-05-08 04:52:51 +01:00
cost-usage.md fix: harden coordinator auth boundaries 2026-05-02 02:59:57 +01:00
daytona.md fix: harden daytona auth and resource flags 2026-05-06 23:17:45 +01:00
doctor.md docs: expand crabbox user guide 2026-05-07 00:47:41 +01:00
egress.md docs: add mediated egress flow chart 2026-05-07 06:20:26 +01:00
env-forwarding.md docs: expand crabbox user guide 2026-05-07 00:47:41 +01:00
hetzner.md docs: sync provider and vnc docs (#26) 2026-05-04 21:17:49 +01:00
history-logs.md docs(telemetry): document run trends 2026-05-06 02:28:36 -07:00
identifiers.md docs: expand crabbox user guide 2026-05-07 00:47:41 +01:00
image-bake-runbook.md fix: restore slim xfce desktop leases 2026-05-06 02:35:50 +01:00
interactive-desktop-vnc.md feat(azure): support linux and native windows leases 2026-05-08 08:23:38 +01:00
islo.md fix: sync islo workspaces before run 2026-05-07 02:30:15 +01:00
lifecycle-cleanup.md docs: document lease slugs and idle timeout 2026-05-01 08:01:00 +01:00
network.md docs: expand crabbox user guide 2026-05-07 00:47:41 +01:00
openclaw-plugin.md docs: expand crabbox user guide 2026-05-07 00:47:41 +01:00
portal.md feat: add lease sharing 2026-05-07 13:39:07 +01:00
prebaked-images.md docs: add Crabbox image bake runbook 2026-05-05 23:48:48 +01:00
provider-authoring.md chore: prepare 0.6.0 release 2026-05-07 00:34:03 +01:00
providers.md feat(azure): support linux and native windows leases 2026-05-08 08:23:38 +01:00
README.md feat(azure): support linux and native windows leases 2026-05-08 08:23:38 +01:00
repository-onboarding.md docs: document actions hydration workflow 2026-05-01 03:04:51 +01:00
runner-bootstrap.md fix: restore slim xfce desktop leases 2026-05-06 02:35:50 +01:00
ssh-keys.md docs: complete crabbox documentation audit 2026-05-02 02:39:37 +01:00
sync.md Reapply "feat: add crabboxignore sync excludes" 2026-05-05 02:29:06 -07:00
tailscale.md feat(azure): support linux and native windows leases 2026-05-08 08:23:38 +01:00
telemetry.md chore: prepare 0.6.0 release 2026-05-07 00:34:03 +01:00
test-results.md fix: retain chunked run logs 2026-05-02 12:06:59 +01:00
vnc-linux.md feat: harden desktop WebVNC reliability 2026-05-07 13:17:23 +01:00
vnc-macos.md fix: repair managed macos desktop readiness 2026-05-07 12:45:27 +01:00
vnc-windows.md fix: repair Windows WebVNC credentials 2026-05-05 00:37:07 -07:00

Features

Feature docs explain what Crabbox can do and how the pieces fit together. Command syntax lives in ../commands/README.md.

Read when:

  • you want a capability overview;
  • you are deciding where a behavior belongs;
  • you need the feature-level contract before changing code.

Foundations

Brokered fleet

  • Coordinator: brokered leases through Cloudflare Workers and Durable Objects.
  • Browser portal: authenticated lease/run UI, detail pages, bridge routes, and runner visibility.
  • Broker auth and routing: GitHub login, shared bearer tokens, optional Cloudflare Access, and Worker routes.
  • Auth and admin: login/logout/whoami and trusted operator controls.
  • Telemetry: lightweight Linux load, memory, disk, uptime, and run resource samples.
  • History and logs: coordinator run records, events, and retained remote output.
  • Cost and usage: guardrails, provider-backed pricing, and reporting.
  • Lifecycle cleanup: release, expiry, keep mode, and direct cleanup.

Providers

  • Providers: provider overview, target matrix, classes, and fallback.
  • Capacity and fallback: class chains, market spot/on-demand, region/AZ routing.
  • Provider backends: contract reference for backend interfaces and registration.
  • Authoring a provider: step-by-step guide to writing a new provider.
  • AWS: EC2 Linux, Windows, WSL2, EC2 Mac, capacity, AMIs, and security groups.
  • Azure: Azure Linux/native Windows, shared infra, capacity, and cleanup.
  • Hetzner: Linux-only managed Hetzner behavior, classes, and cleanup.
  • Blacksmith Testbox: delegated Testbox backend behavior.
  • Daytona: Daytona SDK/toolbox sandbox leases with optional short-lived SSH access.
  • Islo: delegated Islo sandbox runs using the Islo Go SDK.

Runners and reachability

  • Tailscale: optional tailnet reachability for managed Linux leases and static hosts.
  • Mediated egress: browser/app egress through an operator machine using the Cloudflare Worker mediator.
  • Runner bootstrap: cloud-init, installed tools, SSH port, and readiness.
  • Prebaked runner images: provider-owned image storage and the image/cache/state boundary.
  • Image bake runbook: exact AWS bake, candidate smoke, promotion, rollback, and cleanup flow.
  • SSH keys: per-lease keys, provider key cleanup, and local storage.

Sync, run, and recording

  • Sync: Git file-list manifests, rsync, fingerprints, excludes, guardrails, and sanity checks.
  • Actions hydration: let GitHub Actions prepare a runner, then sync local work into that workspace.
  • Interactive desktop and VNC: VNC hub, support matrix, tunnel model, and QA boundaries.
  • Artifacts: screenshots, video, trimmed GIFs, logs, metadata, templates, and PR publishing.
  • Linux VNC, Windows VNC, macOS VNC: OS-specific desktop setup and troubleshooting.
  • Test results: JUnit summaries attached to recorded runs.
  • Cache controls: inspect, purge, and warm remote package/build caches.

Integrations

Command docs