Skip to content

Add Lakebox CLI for managing Databricks sandbox environments#4930

Open
shuochen0311 wants to merge 1 commit intodatabricks:mainfrom
shuochen0311:lakebox-cli
Open

Add Lakebox CLI for managing Databricks sandbox environments#4930
shuochen0311 wants to merge 1 commit intodatabricks:mainfrom
shuochen0311:lakebox-cli

Conversation

@shuochen0311
Copy link
Copy Markdown

Summary

Lakebox provides SSH-accessible development environments backed by microVM isolation. This adds CLI commands for lifecycle management.

Commands

  • lakebox auth login — authenticate to a Databricks workspace
  • lakebox create — create a new lakebox (with optional SSH public key)
  • lakebox list — list your lakeboxes (shows status, key hash, default)
  • lakebox ssh — SSH to your default lakebox (or create one on first use)
  • lakebox status <id> — show lakebox details
  • lakebox delete <id> — delete a lakebox
  • lakebox set-default <id> — change the default lakebox

Features

  • Default lakebox management stored at ~/.databricks/lakebox.json per profile
  • Automatic ~/.ssh/config management (single block, in-place update)
  • Public key auth only (password/keyboard-interactive disabled in SSH config)
  • Creates and sets default on first lakebox ssh if none exists
  • Talks to the lakebox REST API at /api/2.0/lakebox on the workspace host

Test plan

  • Tested e2e against dbsql-dev-testing-default.dev.databricks.com
  • Create, list, status, delete, ssh all working
  • Default management (set on create, clear on delete, reuse on ssh)

This PR was created by the Lakebox team (Infra2.0/Brickvisor).

Lakebox provides SSH-accessible development environments backed by
microVM isolation. This adds CLI commands for lifecycle management:

- `lakebox auth login` — authenticate to a Databricks workspace
- `lakebox create` — create a new lakebox (with optional SSH public key)
- `lakebox list` — list your lakeboxes (shows status, key hash, default)
- `lakebox ssh` — SSH to your default lakebox (or create one on first use)
- `lakebox status <id>` — show lakebox details
- `lakebox delete <id>` — delete a lakebox
- `lakebox set-default <id>` — change the default lakebox

Features:
- Default lakebox management stored at ~/.databricks/lakebox.json per profile
- Automatic SSH config management (~/.ssh/config)
- Public key auth only (password/keyboard-interactive disabled in SSH config)
- Creates and sets default on first `lakebox ssh` if none exists
@github-actions
Copy link
Copy Markdown

An authorized user can trigger integration tests manually by following the instructions below:

Trigger:
go/deco-tests-run/cli

Inputs:

  • PR number: 4930
  • Commit SHA: 756dfa2ebf729269206662d60e64370463bc1945

Checks will be approved automatically on success.

@github-actions
Copy link
Copy Markdown

Waiting for approval

Based on git history, these people are best suited to review:

Eligible reviewers: @andrewnester, @denik, @shreyas-goenka, @simonfaltum

Suggestions based on git history. See OWNERS for ownership rules.

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