rust-lang / rust-lang/rustwide

Interest in PR(s) for extracting Container behaviour into a trait?

Open
#118 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
198
Forks
45
Avg merge
18h 46m
Merged PRs (30d)
7

Description

Thanks for open-sourcing this super useful project. I've recently been using a fork of rustwide at work which I use for building several of our in-house crates.

Currently, rustwide is coupled to docker, and a downstream change I have found useful is extracting the Container logic into a separate trait so that users can 'bring-your-own-container' (VM / LXC / bare-metal etc). This flexibility has made integrating rustwide with our existing infrastructure much easier.

Would this work be of benefit to the greater community? I'd be happy to raise a PR for this if so, or even make this change somewhere else if rustwide folks are keen - you will have better understanding than me of where the right abstraction boundary lies! I don't expect rustwide to support non-docker containers, but this change may allow others to do so without having to fork?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the Container logic linked in src/cmd/sandbox.rs and review how rustwide is currently coupled to Docker. Compare that boundary with the proposed trait approach and determine what abstraction would let users provide VM, LXC, or bare-metal behavior without requiring rustwide to support those containers directly. Done means the design is agreed and the default Docker behavior remains usable.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, rust
Domain
infrastructure
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.