-
Notifications
You must be signed in to change notification settings - Fork 38
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
Add container filesystem API for sandboxes #2414
Open
azliu0
wants to merge
41
commits into
main
Choose a base branch
from
azliu/sandbox-fs
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
+699
−0
Conversation
This file contains 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
azliu0
changed the title
Add container filesystem for sandboxes
Add container filesystem API for sandboxes
Oct 28, 2024
@azliu0 can you convert this to draft until we have worker & server support? Also this will need to be tested somehow. Need to mock the underlying RPCs. |
azliu0
force-pushed
the
azliu/sandbox-fs
branch
from
October 28, 2024 14:29
78b032c
to
cb52f89
Compare
azliu0
force-pushed
the
azliu/sandbox-fs
branch
from
October 29, 2024 22:07
1a4493b
to
c0a8dfc
Compare
Can we improve the changelog a bit here? |
pawalt
reviewed
Oct 31, 2024
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.
Describe your changes
Resolves WRK-414 by adding a new container filesystem API.
This API is designed to closely follow
io.FileIO
, supporting most of the major functions (open
,read
,readline
,readlines
,write
,seek
,flush
,close
) along with a few higher-level functions (delete_bytes
,write_replace_bytes
) to help make Sandboxes a bit easier to use.All file modes (e.g. text, bytes, r/w/a/x, etc.) are supported, as well as most common errors/exceptions. If an unknown exception is thrown, then a
modal.exception.FilesystemExecutionError
is thrown instead.Example usage:
Backward/forward compatibility checks
Check these boxes or delete any item (or this section) if not relevant for this PR.
Note on protobuf: protobuf message changes in one place may have impact to
multiple entities (client, server, worker, database). See points above.
Changelog
Sandboxes now support a new filesystem API. The
open()
method returns aFileIO
handle for native file handling in sandboxes.