Dev Container Features
Dev Container Features by Iván Szkiba
Contents
This repository contains a collection of Dev Container Features:
mdcode- Markdown code block authoring toolcdo- Markdown-based task runner for contributorsbats- Bash Automated Testing Systemgosec- Go security checkergovulncheck- Go vulnerability scanner
Repo and Feature Structure
Similar to the devcontainers/features repo, this repository has a src folder. Each Feature has its own sub-folder, containing at least a devcontainer-feature.json and an entrypoint script install.sh.
├── src
│ ├── mdcode
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
│ ├── cdo
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
| ├── ...
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
...
An implementing tool will composite the documented dev container properties from the feature's devcontainer-feature.json file, and execute in the install.sh entrypoint script in the container during build time. Implementing tools are also free to process attributes under the customizations property as desired.
Distributing Features
Versioning
Features are individually versioned by the version attribute in a Feature's devcontainer-feature.json. Features are versioned according to the semver specification. More details can be found in the dev container Feature specification.
Publishing
This repo contains a GitHub Action workflow that will publish each Feature to GHCR.