When CONTAINER_BACKEND=flyio, workspaces are provisioned as Fly Machines instead of local Docker containers. This enables workspace deployment on SaaS tenants where no Docker daemon is available. New files: - provisioner/fly_provisioner.go: FlyProvisioner with Start/Stop/ IsRunning/Restart/Close via Fly Machines API (api.machines.dev/v1) - FlyRuntimeImages maps runtimes to GHCR image tags Changes: - main.go: select Docker vs Fly based on CONTAINER_BACKEND env var - workspace.go: SetFlyProvisioner() setter, Create checks flyProv first - workspace_provision.go: provisionWorkspaceFly() loads secrets, calls FlyProvisioner.Start, issues auth token for the new machine Env vars for Fly backend: - CONTAINER_BACKEND=flyio (activates Fly provisioner) - FLY_API_TOKEN (Fly deploy token) - FLY_WORKSPACE_APP (Fly app name for workspace machines) - FLY_REGION (default: ord) Closes #494 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cmd/server | ||
| internal | ||
| migrations | ||
| pkg/provisionhook | ||
| Dockerfile | ||
| Dockerfile.tenant | ||
| entrypoint-tenant.sh | ||
| go.mod | ||
| go.sum | ||