Sign inSign up

mejatos/aws-cdk

By mejatos

•Updated 18 days ago

This repository contains a AWS CDK devcontainer for use with PyCharm projects.

Image
Developer tools
0

1.6K

mejatos/aws-cdk repository overview

⁠mejatos/aws-cdk repository overview

This repository contains a Docker image designed for development environments that require AWS CDK, Python 3, AWS CLI v2, and Node.js, with support for both ARM64 and AMD64 architectures. It provides a clean, minimal environment well suited for cloud-based development.

The image is optimized for developers working with PyCharm and is intended to be used as a Dev Container to streamline AWS Cloud Development Kit (CDK) work in a Python-based environment.

This Docker image is ideal for developers who need:

  • Multi-architecture support for both ARM64 (e.g., M1/M2/M3 Macs) and AMD64.
  • AWS CLI v2 for seamless interaction with AWS services.
  • Python 3 with venv support for Python-based development.
  • Node.js 24 (current AWS CDK-supported LTS) installed via NodeSource.
  • Pre-installed global dependencies like aws-cdk.

⁠Included Software and Tools

  • Base Image: Ubuntu 26.04 LTS
  • Python 3: With venv and pip for Python-based development.
  • AWS CLI v2: Installed with architecture-specific binaries (x86_64 / aarch64).
  • Node.js 24: Installed via NodeSource (no NVM — versions are fixed at build time).
  • AWS CDK: Globally installed to support infrastructure-as-code (IaC) development.
  • Utilities: git, curl, unzip, nano, procps, sudo, bash, and other essentials.
  • Non-root user: Runs as appuser with passwordless sudo; working directory /app.

⁠Intended Purpose

This image is designed for use with PyCharm as a development container (dev container). It provides a pre-configured, architecture-portable environment so you can focus on building and deploying AWS infrastructure with CDK instead of managing local dependencies.

⁠How to Use

Pull the Docker Image:

docker pull mejatos/aws-cdk:latest

Run the Container:

docker run -it mejatos/aws-cdk:latest bash

Sample devcontainer.json Configuration:

{
  "name": "DEVCONTAINER-NAME",
  "image": "mejatos/aws-cdk:latest",
  "customizations": {
    "jetbrains": {},
    "vscode": {
      "settings": {
        "terminal.integrated.defaultProfile.linux": "bash"
      },
      "extensions": []
    }
  },
  "forwardPorts": [],
  "mounts": [],
  "postCreateCommand": "echo 'Container ready!'",
  "remoteUser": "appuser"
}

Note: the image runs as the non-root user appuser (with passwordless sudo). Set remoteUser accordingly. Use root only if your workflow specifically requires it.

Run JetBrains Gateway DevContainer Setup:

  1. Use PyCharm to clone your project from your VCS (e.g., GitHub, GitLab).
  2. Create a .devcontainer folder in the project root and add the devcontainer.json configuration file (sample above).
  3. Commit the .devcontainer folder to your VCS.
  4. Launch JetBrains Gateway and use the New Dev Container wizard (works with HTTPS and SSH endpoints).
  5. Gateway uses the image and configuration from devcontainer.json to build the development container.
  6. Once setup completes, you're ready to code in the pre-configured AWS CDK + Python environment.

AWS Configuration and Authentication:

  • Run aws configure from the container CLI to set up credentials, or
  • Use environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN) to authenticate.

⁠Supported Architectures

  • linux/arm64
  • linux/amd64

⁠Maintainer

Maintained at https://github.com/flyingsquirrelcloud/awscdk-devcontainer⁠

Tag summary

Content type

Image

Digest

sha256:c462085bf…

Size

232.8 MB

Last updated

18 days ago

docker pull mejatos/aws-cdk