Skip to content

Latest commit

 

History

History
85 lines (72 loc) · 3.17 KB

File metadata and controls

85 lines (72 loc) · 3.17 KB

Dev Container Features

Contents

This repository contains following features:

  • ag: Installs ag (The Silver Searcher), a fast grep-like text search tool
  • agentcore-cli: Installs the Amazon Bedrock AgentCore CLI (@aws/agentcore) from npm
  • 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/agentcore-cli: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
│   ├── agentcore-cli
│   │   ├── 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
│   ├── agentcore-cli
│   ├── 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.