Skip to content

localstack/devcontainer-feature

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevContainer Feature(s)

A collection of LocalStack related and managed Devcontainer Feature(s).

Features are self-contained units of installation code and development container configuration. Features are designed to install atop a wide-range of base container images (this repo focuses on debian based images).

Warning

This repo currently a work in progress which might introduce breaking changes without notification.

List of features

  • LocalStack: install the LocalStack CLI tool and any of the related Local™ tools for:
    • AWS CLI
    • AWS CDK
    • AWS SAM CLI
    • Terraform
    • Pulumi

Usage

To reference a feature from this repository, add the desired features to a devcontainer.json. Each feature has a README.md that shows how to reference the feature and which options are available for that feature.

The example below installs the LocalStack CLI declared in the ./src directory of this repository.

See the relevant feature's README for supported options.

{
    "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
    "features": {
        "ghcr.io/localstack/devcontainer-feature/localstack-cli": {}
    }
}

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.