Development Containers Plugin
This plugin allows users to automatically launch fully-contained development environments with development containers (dev containers).
The Dev Containers plugin is permanently enabled in a customer’s Venue.
Configuration
There are no required or optional configuration values for this plugin. It is enabled permanently and cannot be disabled.
Using the plugin is as simple as importing an entity (repository) that contains a devcontainers.json
file. Once imported, a notice appears on the Entity Overview page.
And the plugin automatically adds the dev-containers tag to the entity, if applicable.
The Venue.sh team recommends using Dev Containers with VS Code's Dev Containers extension.
Limitations
- The repository URL must end in
catalog-info.yaml
- The
devcontainers.json
file must be located in one of the directories specified by the official Dev Containers documentation, which include the following:.devcontainer/devcontainer.json
.devcontainer.json
.devcontainer/folder/devcontainer.json
(sub folder, one level deep)
Example
The example that follows is a devcontainer.json
used to start a development environment with the terraform:1.9
container. View the full specification.
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src
{
"name": "terraform:1.9",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "public.ecr.aws/hashicorp/terraform:1.9",
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [3000],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",
// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": ["hashicorp.terraform", "redhat.vscode-yaml"]
}
}
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}