Repository navigation
feat: isolate Jupyter behind a private Unix socket - #343
Conversation
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 361f05573c
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
chore: add changeset for Jupyter Unix socket isolation (#343) Signed-off-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: mish@e2b.dev <mish@e2b.dev>
Summary
Move Jupyter HTTP, kernel WebSockets, interrupts, and health checks to
/run/e2b-jupyter/server.sock(0600, directory0700) instead of TCP port 8888. Loopback binding alone is insufficient because envd forwards loopback listeners onto the sandbox interface. Port 49999 remains the existing interpreter API; this PR does not add interpreter authentication.Independent of token authentication in #342: no envd or SDK rollout dependency. Both PRs target
main; only the server-test harness is shared.Verification: real Jupyter integration passes on Python 3.10 and 3.12 after the split, covering HTTP, WebSocket execution, interrupts, socket permissions, and refused TCP connections. Repository lint/format and Python compilation pass. Template CI is pending.
Link to Devin session: https://app.devin.ai/sessions/23861bced08343e59c14adf841498b12
Open in Devin Desktop: https://app.devin.ai/desktop/session/23861bced08343e59c14adf841498b12?variant=devin
Requested by: @mishushakov