Repository navigation
feat(desktop):docker sandbox workspaces #6902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mikigraf
wants to merge
24
commits into
ParadevAI:main
Choose a base branch
from
mikigraf:feat/docker-sandbox-workspaces
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
ac51640
feat(host-service): extract WorkspaceRuntime abstraction for PTY laun…
aae042e
feat(host-service): Docker sandbox runtime — container lifecycle, iso…
c156570
test(host-service): docker-gated sandbox integration test
a2f4bee
feat(host-service): per-workspace agent-hook token for sandboxed PTYs
cc2f79c
feat(cli,host-service): sandbox CLI bridge via SUPERSET_HOST_ENDPOINT…
2e62f9a
feat(host-service): sandbox image package, declared-port publishing, …
25965ef
feat(host-service): sandbox git sync — export-on-destroy and workspac…
98076eb
test(host-service): sandbox end-to-end test against the real app
beca354
feat(desktop): sandboxed-workspace badge in the dashboard sidebar
8494042
Merge branch 'main' of https://github.com/superset-sh/superset into f…
5d7f244
chore: register @superset/sandbox-image workspace in bun.lock
mikigraf 1ae4839
Merge branch 'main' of https://github.com/superset-sh/superset into f…
mikigraf 11039ea
test: adapt sandbox tests to upstream merge
mikigraf 7f9a62a
fix(db): accept db.localhost for the local neon proxy
mikigraf d39f31a
feat(settings): host-wide sandbox default for new workspaces
mikigraf 67823f9
feat(sandbox): eager container bootstrap at workspace create
mikigraf f353789
fix(sandbox): allow claude --dangerously-skip-permissions in containers
mikigraf 9dbfb77
feat(sandbox): readable container names + per-instance ownership
mikigraf 940c6f0
feat(sandbox): support all npm-distributed agent CLIs
mikigraf cbf5820
fix(sandbox): address code-review findings
mikigraf 8157a31
fix(sandbox): address second code-review batch
mikigraf 171b7c1
fix(sandbox): scope CLI tokens + remaining correctness (CWE-862 et al.)
mikigraf 93e75ac
Merge branch 'main' into feat/docker-sandbox-workspaces
mikigraf a52eb37
fix(sandbox): close WS ACL bypass + document image publishing
mikigraf File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| name: Publish sandbox image | ||
|
|
||
| # Builds and publishes the default Superset workspace sandbox image to GHCR. | ||
| # host-service defaults non-development workspaces to | ||
| # ghcr.io/superset-sh/sandbox:latest, so this must run before that default is | ||
| # reachable in a release. Multi-arch (amd64 + arm64) so both host CPUs work. | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| paths: | ||
| - "packages/sandbox-image/**" | ||
| - ".github/workflows/publish-sandbox-image.yml" | ||
| workflow_dispatch: | ||
| inputs: | ||
| tag: | ||
| description: "Image tag to publish (default: latest)" | ||
| required: false | ||
| type: string | ||
| default: latest | ||
|
|
||
| concurrency: | ||
| group: publish-sandbox-image | ||
| cancel-in-progress: false | ||
|
|
||
| jobs: | ||
| publish: | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: read | ||
| packages: write | ||
| env: | ||
| IMAGE_TAG: ${{ inputs.tag || 'latest' }} | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Set up QEMU | ||
| uses: docker/setup-qemu-action@v3 | ||
| - name: Set up Docker Buildx | ||
| uses: docker/setup-buildx-action@v3 | ||
| - name: Log in to GHCR | ||
| uses: docker/login-action@v3 | ||
| with: | ||
| registry: ghcr.io | ||
| username: ${{ github.actor }} | ||
| password: ${{ secrets.GITHUB_TOKEN }} | ||
| - name: Build and push | ||
| uses: docker/build-push-action@v6 | ||
| with: | ||
| context: packages/sandbox-image | ||
| file: packages/sandbox-image/Dockerfile | ||
| platforms: linux/amd64,linux/arm64 | ||
| push: true | ||
| tags: ghcr.io/superset-sh/sandbox:${{ env.IMAGE_TAG }} | ||
| cache-from: type=gha | ||
| cache-to: type=gha,mode=max | ||
| # NOTE: the GHCR package must be made PUBLIC once (Packages → sandbox → | ||
| # Package settings → Change visibility) so hosts can `docker pull` the default | ||
| # ghcr.io/superset-sh/sandbox:latest without a login. Until then, non-dev | ||
| # provisioning fails with "denied"; dev hosts use the local superset-sandbox:dev. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.