-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
🚀 Description
Mist will need to support two different types of user workflows:
- The user receives a dev. container for them to develop with and have the freedom to download packages they need
- The user submits a job to Mist to do either:
- ML Model Training
- Hosting a Flask Server (For GenAI Genesis)
For this issue, you will ONLY focus on the first workflow.
✅ Objectives
🧑💻 Development Container Workflow
- Provide a Docker Container where:
- Container is provisioned per user session
- Runs as an unprivileged user
- No sudo access or ability to modify system directories
- Only user-space installs allowed:
- Python packages via pip install --user
- Conda packages (if Conda is included)
- Binaries in home directory or workspace
- Preinstalled Stack:
- Python 3.10+
- Libraries: torch, transformers, datasets, pandas, scikit-learn, etc.
- Tools: git, curl, vim, wget, jupyter
- Persistent Storage
- Per-User Volume:
- Each user is provisioned a dedicated persistent volume
- Data survives container shutdowns or restarts
- Isolation:
- Only accessible by the owning user
- No cross-user access permitted
- Per-User Volume:
🎯 Acceptance Criteria
- Environment Behaviour
- Persistent volume
- Preinstalled packages and tools available
- User can install packages to their user space
- All system-level modification attempts (e.g., apt install) are blocked
- Testing
- Unit tests for container provisioning logic
- Integration test for user package install (e.g., pip install --user matplotlib)
- Integration test for persistent file write/read
- Security test: confirm restricted access to system directories
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request