dhoeric / features

MIT License
14 stars 11 forks source link
devcontainer-feature

Dev Container Features

Contents

This repository contains following features:

Usage

To use the features from this repository, add the desired features to devcontainer.json.

This example use google-cloud-cli feature on devcontainer.

{
    "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
    "features": {
        "ghcr.io/dhoeric/features/google-cloud-cli:1": {
            "version": "latest"
        }
    }
}

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
│   ├── hello
│   │   ├── devcontainer-feature.json
│   │   └── install.sh
│   ├── color
│   │   ├── 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.