Skip to content

Comments

feat(create): add build mode flags and fix workspace group resolution#287

Open
theFong wants to merge 1 commit intomainfrom
fix/create-dynamic-workspace-group
Open

feat(create): add build mode flags and fix workspace group resolution#287
theFong wants to merge 1 commit intomainfrom
fix/create-dynamic-workspace-group

Conversation

@theFong
Copy link
Member

@theFong theFong commented Feb 20, 2026

Summary

  • Remove hardcoded "GCP" WorkspaceGroupID — now resolved dynamically via GetAllInstanceTypesWithWorkspaceGroups
  • Populate VMBuild by default so SSH setup works correctly (was causing "permission denied" on brev create)
  • Add --mode flag to brev create: vm (default), k8s, container, compose
  • Add --jupyter, --startup-script, --container-image, --compose-file flags
  • Match UI behavior: server determines build mode from which field is present (vmBuild, customContainer, dockerCompose) — no vmOnlyMode or onContainer overrides

Test plan

  • brev create test-vm — VM mode creates successfully, SSH works
  • brev create test-container -m container --container-image nvidia/cuda:12.2.0-runtime-ubuntu22.04 — container mode works, SSH on port 2222
  • brev create test-compose -m compose --compose-file test-compose.yml — compose mode works
  • brev create test-k8s -m k8s — sends correct k8s config (requires companion dev-plane fix for dashboard install)
  • brev exec works on created instances
  • go build ./... passes
  • go test ./pkg/cmd/create/... ./pkg/store/...

Note: K8s mode requires brevdev/dev-plane#fix/k8s-dashboard-helm-repo to be deployed — the Kubernetes Dashboard Helm repo was retired Jan 2026.

@theFong theFong requested a review from a team as a code owner February 20, 2026 23:54
@theFong theFong force-pushed the fix/create-dynamic-workspace-group branch from 67ec7bd to 683b44a Compare February 21, 2026 00:16
…solution

- Remove hardcoded "GCP" WorkspaceGroupID, resolve dynamically from instance type
- Populate VMBuild by default so SSH setup works correctly
- Add --mode flag (vm, k8s, container, compose) to select build type
- Add --jupyter, --startup-script, --container-image, --compose-file flags
- Match UI behavior: server determines mode from build field presence
  (vmBuild, customContainer, dockerCompose)
- Mark old pkg/cmd/create as deprecated (gpucreate is the registered command)

Tested: vm, container, and compose modes create successfully with SSH access.
K8s mode sends correct config but requires a dev-plane fix for dashboard install.
@theFong theFong force-pushed the fix/create-dynamic-workspace-group branch from 683b44a to 11efa89 Compare February 21, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant