Skip to content
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

feat: Add docker_runtime based on EventStream #4588

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

qiangli
Copy link
Contributor

@qiangli qiangli commented Oct 28, 2024

End-user friendly description of the problem this fixes or functionality that this introduces

Add a new DockerRuntime adapted from the existing EventStream (internal docker runtime)
Provided working example files for building and running custom sandbox using the DockerRuntime.

  • Include this change in the Release Notes. If checked, you must provide an end-user friendly description for your change below

Give a summary of what the PR does, explaining any non-trivial design decisions

This PR introduces a new DockerRuntime with minimal modification to the existing code base for building custom sandboxes.

The new runtime could empower developers to build sandbox with any features that Docker supports without constraints and it would better fit developers' daily workflows.

The docker runtime supports local or remote sandbox over tcp (this is an out of the box feature of docker)

The code is adapted from the existing EventStream runtime. Although with much duplication, I see a different path for the future use cases, it is better to keep them separate/independent. This could evolve into a more generic solution for building custom sandboxes.

Instead of writing a new adapter for every possible cloud/remote services in the world such as E2b. Model ..., OpenHands could consider the approaches similar to AWS Lambda (or any FAAS), that is to provide a standard runtime that can be included in building custom images. https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html


Link of any specific issues this addresses

Provided working example files for building and running custom sandbox
using the DockerRuntime.
@rbren
Copy link
Collaborator

rbren commented Oct 28, 2024

@qiangli I'm unclear about how this is different from the EventStreamRuntime, which runs inside of docker, using the same server. Can you explain what the goal is here, and why the current solutions don't meet your needs?

Copy link
Collaborator

@rbren rbren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comment above

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.

2 participants