OWASP / OWASP/mas-website

Standalone devcontainers for all MAS projects

Open
#97 0 comments 0 reactions 0 assignees View on GitHub

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 mount masvs, maswe and mastg as an image and mount the source into /workspace/mas-website
  • If I work on mastg, devontainer will mount masvs, maswe and mas-website as 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

Open the contributing guide

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.