crabbox/docs/providers
Peter Steinberger 0f2795d9ae
Some checks failed
CI / Go (push) Has been cancelled
CI / Worker (push) Has been cancelled
CI / Docs (push) Has been cancelled
CI / Release Check (push) Has been cancelled
Pages / Deploy docs (push) Has been cancelled
docs: add Azure changelog entry
2026-05-08 09:00:18 +01:00
..
aws.md docs(capacity): document routing hints 2026-05-06 15:49:28 -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
daytona.md fix: harden daytona auth and resource flags 2026-05-06 23:17:45 +01:00
hetzner.md docs: add provider reference pages 2026-05-06 09:22:24 +01:00
islo.md fix: sync islo workspaces before run 2026-05-07 02:30:15 +01:00
README.md docs: add Azure changelog entry 2026-05-08 09:00:18 +01:00
ssh.md docs: add provider reference pages 2026-05-06 09:22:24 +01:00

Provider Reference

Read when:

  • choosing a Crabbox provider for a repo or one-off command;
  • debugging provider-specific provisioning, sync, or command execution;
  • changing provider registration, flags, config, or backend behavior.

Crabbox supports managed SSH lease providers, delegated run providers, and one static SSH provider for existing machines.

Provider Backend kind Targets Best for
AWS SSH lease Linux, Windows, macOS broad managed capacity, Windows, EC2 Mac
Azure SSH lease Linux, Windows Azure-backed Linux and native Windows capacity
Hetzner SSH lease Linux fast Linux capacity at low cost
Static SSH SSH lease Linux, macOS, Windows reusing an existing host
Blacksmith Testbox delegated run Linux existing Blacksmith Testbox workflows
Daytona hybrid delegated run + SSH Linux Daytona snapshot sandboxes
Islo delegated run Linux Islo-owned sandbox execution

Shared Rules

Core Crabbox owns provider selection, config loading, friendly slugs, local repo claims, timing summaries, command rendering, and normalized list/status output. Providers own only their backend boundary: provisioning or delegated command execution.

Use --provider <name> for one command, or set provider: <name> in Crabbox config. Provider flags are registered by provider packages before command-line parsing, so provider-specific flags work even when that provider is not the default.

crabbox warmup --provider aws --class beast
crabbox run --provider hetzner -- pnpm test
crabbox run --provider blacksmith-testbox --id tbx_123 -- pnpm test

Brokered Versus Direct

AWS, Azure, and Hetzner can run through the Crabbox coordinator or directly from the CLI. Coordinator mode is the normal shared-team path: the Worker owns cloud credentials, cost state, cleanup alarms, and lease accounting.

Direct mode is for local operator debugging or non-brokered setups. It uses local provider credentials and best-effort cleanup through provider labels.

Delegated providers do not use the Crabbox coordinator:

  • Blacksmith uses the authenticated Blacksmith CLI.
  • Daytona uses Daytona API and SDK/toolbox APIs.
  • Islo uses the Islo API and SDK auth.

Feature Matrix

Provider run warmup ssh VNC/code Crabbox sync Provider sync
AWS yes yes yes yes yes no
Azure yes yes yes Linux VNC/code yes no
Hetzner yes yes yes Linux VNC/code yes no
Static SSH yes resolves host yes host-dependent yes no
Blacksmith Testbox yes yes no no no yes
Daytona yes yes yes no archive via Daytona toolbox no
Islo yes yes no no no yes

Actions runner hydration requires a normal SSH lease on Linux and is core-over-SSH. Use AWS, Hetzner, or Static SSH for that path.

Implementation

Provider implementation lives under internal/providers/<name>. The command orchestration and renderer surface stays in internal/cli.

Related docs: