Skip to content

fix(create): include Shadeform instance types - #435

Open
robobryce wants to merge 3 commits into
brevdev:mainfrom
robobryce:fix/create-shadeform-instance-types
Open

fix(create): include Shadeform instance types#435
robobryce wants to merge 3 commits into
brevdev:mainfrom
robobryce:fix/create-shadeform-instance-types

Conversation

@robobryce

Copy link
Copy Markdown

Why

brev search -g RTXPro6000 can list Shadeform-backed types such as verda_RTXPro6000, but brev create NAME -g RTXPro6000 --min-disk 1 --detached rejects that same type as "not a recognized type".

This started when the CLI moved instance catalogs to the dev-plane API. Search reads the public catalog, while create reads the authenticated organization catalog so it can choose the cloud credential to send with the workspace request. The create request left dev-plane's resource-access and reserved-pool filtering enabled. That filtering can remove Shadeform types from the organization response even though the public search response advertises them. The CLI then mistakes the missing entry for an invalid instance type before it ever attempts creation.

How

The authenticated organization catalog request now sets skip_access_filter to true. This returns the raw instance types associated with the organization's cloud credentials, including types that would otherwise be removed by reserved-pool filtering. Create can therefore find verda_RTXPro6000, resolve its cloudCredId, and submit the workspace request.

The request still sets include_unavailable to false. That is intentional: bypassing access filtering fixes catalog consistency and cloud-credential resolution, while the existing availability filter continues to prevent create from selecting entries with no current capacity.

I kept this change at the organization-catalog boundary instead of weakening create's validation. Unknown type names are still rejected, known types without a usable cloud credential are still reported as unavailable, and all create paths continue to use the same catalog and placement logic.

Tests

  • Updated the dev-plane organization-catalog test to model the regression directly: the mock only returns verda_RTXPro6000 when skip_access_filter is true, and verifies that its Shadeform cloud credential is mapped.
  • go test ./pkg/store ./pkg/cmd/gpucreate ./pkg/cmd/gpusearch -count=1
  • go test ./... -count=1 passed for all normal packages. The repository's e2etest/setup package failed during initialization because it assumes the checkout is at /home/ubuntu/brev-cli; this checkout is /home/ubuntu/brev-cli-src.

@robobryce
robobryce requested a review from a team as a code owner August 2, 2026 11:23
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.

2 participants