This repository contains following features:
- ansible-lint: Ansible Lint
- django-upgrade: Django-upgrade
- pyadr: Python ADR
- pycqa: PyCQA tools bundle
- pytest: Pytest
- pymarkdownlnt: PyMarkdownLinter
- pyupgrade: Pyupgrade
- rstcheck: rstcheck
- sshpass: SSH Pass for Ansible
To use the features from this repository, add the desired features to devcontainer.json.
This example use ansible-lint feature on devcontainer.
{
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"features": {
"ghcr.io/hspaans/devcontainer-features/ansible-lint:1": {}
}
}
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
│ ├── ansible-lint
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
│ ├── pyadr
│ │ ├── devcontainer-feature.json
│ │ └── install.sh
| └── ...
│ ├── devcontainer-feature.json
│ └── install.sh
| ...
├── test
│ ├── ansible-lint
│ │ ├── scenarios.json
│ │ └── test.sh
│ ├── pyadr
│ │ ├── scenarios.json
│ │ └── test.sh
| └── ...
│ ├── scenarios.json
│ └── test.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.