dcontainer CLI
Installation
pip install dcontainer
Feature Generation:
Usage: python -m dcontainer generate devcontainer-feature [OPTIONS]
FEATURE_DEFINITION
OUTPUT_DIR
Arguments:
FEATURE_DEFINITION [required]
OUTPUT_DIR [required]
Options:
--help Show this message and exit.
Input for feature generation is a feature-definition.json
file
This is an extended version of the devcontainer-feature.json file with additional fields:
{
...
regular devcontainer-json fields like id, name, description etc
...
"dependencies": [
{
"feature": "ghcr.io/devcontainers-contrib/features/asdf-package:latest",
"options": {
"plugin": "act",
"version": "latest"
}
}
],
"install_command": "echo 'Done'",
"test_scenarios": [
{
"name": "test_defaults",
"image": "mcr.microsoft.com/devcontainers/base:debian",
"test_commands": [
"act --version"
],
"options": {}
}
]
}
redirect input
{
...
"options": {
"version": {
"type": "string",
"default": "latest",
"description": "Select the version of act to install2."
}
},
"dependencies": [
{
"feature": "ghcr.io/devcontainers-contrib/features/asdf-package:latest",
"options": {
"plugin": "act",
"version": "$options.version"
}
}
],
...
}
Usage example
this will generate the Elixir feature
It assumes you have the dcontainer cli already installed
git clone https://github.com/devcontainers-contrib/cli --depth 1
cd cli
dcontainer generate devcontainer-feature "./test/resources/test_feature_definitions/elixir-asdf/feature-definition.json" "./output_dir"