Skip to content

add launchables support to create#347

Merged
patelspratik merged 2 commits intomainfrom
launchablesupport
Apr 14, 2026
Merged

add launchables support to create#347
patelspratik merged 2 commits intomainfrom
launchablesupport

Conversation

@patelspratik
Copy link
Copy Markdown
Contributor

@patelspratik patelspratik commented Apr 4, 2026

Add a --launchable to create that least user's launch launcables

  • Accept a launchable ID (env-XXX) or console URL (https://.../launchable/deploy?launchableID=env-XXX) via --launchable flag
  • Fetch launchable details via GET /api/launchables/{id}/now and display name, description, instance type, storage, and build mode before creation
  • Populate the full workspace request from the launchable: build config (VM/container/compose), port mappings, files, location, disk storage, and lifecycle scripts
  • Set tracking labels (launchableId, launchableInstanceType, launchableCreatedByUserId, etc.) matching what the web UI sends

Flag interactions:

  • --name is optional — defaults to sanitized launchable name with random 5-digit suffix (e.g., nemoclaw-fast-boot-04821)

  • Build flags (--mode, --container-image, --compose-file, --startup-script, --jupyter) are ignored with a warning

  • Instance flags (--type, --gpu-name, etc.) are allowed but warn that overriding is not recommended

  • --dry-run shows launchable metadata and resolved instance type (works for both GPU and CPU instances)

  • Merges labels with any existing labels instead of overwriting

  • normalizeDiskStorage only appends Gi to bare numbers, passes through other suffixes

  • Falls back to launchable's workspaceGroupID when CLI can't resolve from instance type mappings

  • Reuses existing ssh.SanitizeNodeName for name sanitization

@patelspratik patelspratik requested a review from a team as a code owner April 4, 2026 01:48
@patelspratik patelspratik force-pushed the launchablesupport branch 3 times, most recently from d385b5f to d2c8b7f Compare April 7, 2026 23:43
Copy link
Copy Markdown
Contributor

@tylerfong tylerfong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this still work with coupons attached?

@patelspratik
Copy link
Copy Markdown
Contributor Author

Does this still work with coupons attached?

No, since the UI does the redemption based off the label on the launchable during deploy, I'll push an update for the CLI to do the same thing.

@patelspratik patelspratik merged commit 99c7ff6 into main Apr 14, 2026
9 checks passed
@patelspratik patelspratik deleted the launchablesupport branch April 14, 2026 21:46
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