Standalone devcontainers for all MAS projects
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13
- Forks
- 13
- Avg merge
- 9h 13m
- Merged PRs (30d)
- 10
Description
Currently devcontainers are not working properly (see also https://github.com/OWASP/mas-website/pull/79).
mas-website is the only repo that has a devcontainer, and it requires that the sibling projects masvs, maswe and mastg be manually checked out previously. But they are not mounted into the container.
I propose a stable environment based on the image mcr.microsoft.com/devcontainers/base:trixie which uses mounted images for the sibling projects.
This works for four MAS projects. So it is not relevant which one the developer is working on. And since we use mounted images, we can reuse the checkouts.
Examples:
- If I work on
mas-website, devcontainer will mountmasvs,masweandmastgas an image and mount the source into/workspace/mas-website - If I work on
mastg, devontainer will mountmasvs,masweandmas-websiteas an image and mount the source into/workspace/mastg.
In both cases, the server is started from the /workspace/mas-website.
I tried to reuse as much code as possible in the mas-website project, since it is required by all, but the Dockerfile, which contains the requirements for pip install, is shared across all four projects.
There are four PRs, one in each project. They should be merged simultaneously since they depend on each other.
Please let me know if you have suggestions.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing devcontainer in mas-website and the shared Dockerfile requirements, then compare the corresponding setup across masvs, maswe, and mastg. Done means each of the four projects can use the stable base image, mount sibling checkouts, and start the server from /workspace/mas-website.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, dockerfile, python, typescript
- Domain
- developer-experience, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100