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

SSHBox should be able to run with custom images #1387

Open
rbren opened this issue Apr 26, 2024 · 7 comments
Open

SSHBox should be able to run with custom images #1387

rbren opened this issue Apr 26, 2024 · 7 comments
Labels
enhancement New feature or request severity:medium Problems that affect many users
Milestone

Comments

@rbren
Copy link
Collaborator

rbren commented Apr 26, 2024

What problem or use case are you trying to solve?
We provide a default sandbox container image with lots of software pre-installed. But we also want users to be able to bring their own sandbox. This is important for users working in languages/tools that aren't pre-installed on the sandbox

SSHBox assumes that sshd is available in the sandbox, which often isn't true for default language images like node and go.

Do you have thoughts on the technical implementation?
We should probably make ssh a "plugin" that can be installed at runtime. I have a draft going for this

@rbren rbren added the enhancement New feature or request label Apr 26, 2024
@rbren
Copy link
Collaborator Author

rbren commented Apr 26, 2024

CC @xingyaoww

@xingyaoww
Copy link
Collaborator

Another route could be user provide an image, we have a Dockerfile or smth that adds OpenDevin dependencies on top of that images and built it for the user locally.
Though we might need different package manager like yum or apt for different Linux distribution.

@rbren
Copy link
Collaborator Author

rbren commented Apr 26, 2024

Yeah I'm working on the package manager aspect--not too hard to have an if/else to find the right manager.

I really want users to be able to use off-the-shelf images like node rather than maintaining their own images

@xingyaoww
Copy link
Collaborator

Side note: it'd also be super great if, say, the user can just provide an SSH login and credentials, and OpenDevin can SSH into that machine and have everything set up automatically, though I think it will be a longer goal.
But I can't wait to let OpenDevin debug my GPU jobs.

@xingyaoww xingyaoww added this to the 2024-05 milestone Apr 26, 2024
@rbren rbren added the severity:medium Problems that affect many users label May 2, 2024
@jpshack-at-palomar
Copy link

@rbren You mentioned you have a draft going. Could you post a WIP pull request so we can see your approach and perhaps contribute?

@jpshack-at-palomar
Copy link

As a short term hack, I am wondering if there is a way to pass in my image. I can see there is a variable for this in the make file but I am missing where the image is referenced when opendevin starts from the app container image...

@jpshack-at-palomar
Copy link

@rbren shared at https://opendevin.slack.com/archives/C06P5NCGSFP/p1715441034518169 that SANDBOX_CONTAINER_IMAGE env var is defined in core/schema/config.py. This value also appears in core/config.py, and eferenced in exec_box.py and ssh_box.py.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request severity:medium Problems that affect many users
Projects
Development

No branches or pull requests

3 participants