Repository navigation
feat: authenticate interpreter requests through envd - #346
Draft
devin-ai-integration[bot] wants to merge 2 commits into
Draft
devin-ai-integration[bot] wants to merge 2 commits into
devin-ai-integration[bot] wants to merge 2 commits into
Conversation
Co-Authored-By: mish@e2b.dev <mish@e2b.dev>
Contributor
Author
|
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>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Authenticate every protected interpreter request through envd
GET /auth, replacing closed #342 with a fresh implementation on main. Reuse the HTTP client connection pool, but do not cache validation results: token changes and envd failures are checked on the next request. Health and CORS preflight remain public,E2B_LOCAL=trueis the explicit development bypass, and merged Jupyter isolation is unchanged.Requires https://github.com/e2b-dev/belt/pull/4374 and e2b-dev/E2B#1955 deployed before the template. Breaking: existing SDK installations must upgrade to the header-forwarding release before using the new template; publishing the SDK alone does not prevent older clients' context operations from returning
401. Tokenless sandboxes are rejected. Health checks alone do not verify envd supports authentication. Related: SDK-363.Verification: 19 server tests pass on Python 3.10 and 3.12 (including real Jupyter transport); lint, formatting, and compilation pass. Nine updated regression cases fail with the old cache, proving repeated/concurrent requests revalidate and token changes/upstream failures take effect without a cache delay. Removing middleware makes the unauthenticated-context regression fail (
200instead of401). Actual Firecracker lifecycle testing and latency measurements remain outstanding.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