Skip to content

jajera/features

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dev Container Features

Contents

This repository contains following features:

  • ag: Installs ag (The Silver Searcher), a fast grep-like text search tool
  • amazon-q-cli: Install Amazon Q CLI for AWS development
  • aws-sam-cli: Installs AWS SAM CLI for serverless application development
  • gcloud-cli: Installs Google Cloud CLI (gcloud) for Google Cloud Platform development
  • zip: Installs zip and unzip CLI tools for compression and extraction

Usage

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

These examples show how to use features from this repository in a devcontainer:

{
    "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
    "features": {
        "ghcr.io/jajera/features/ag:1": {},
        "ghcr.io/jajera/features/amazon-q-cli:1": {},
        "ghcr.io/jajera/features/aws-sam-cli:1": {},
        "ghcr.io/jajera/features/gcloud-cli:1": {},
        "ghcr.io/jajera/features/zip:1": {}
    }
}

Or use individual features:

{
    "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
    "features": {
        "ghcr.io/jajera/features/gcloud-cli:1": {}
    }
}

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
│   ├── ag
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
│   ├── amazon-q-cli
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
│   ├── aws-sam-cli
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
│   ├── gcloud-cli
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
│   ├── zip
│   │   ├── devcontainer-feature.json
│   │   ├── install.sh
│   │   └── README.md
├── test
│   ├── ag
│   ├── amazon-q-cli
│   ├── aws-sam-cli
│   ├── gcloud-cli
│   └── zip
...

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.

About

Lightweight, shareable features to enhance Dev Containers

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages