Sign inSign up

pkumaschow/cdk

By pkumaschow

•Updated 8 days ago

AWS Cloud Development Kit in an alpine container.. python only at this point v1.82.0 (build c445b89)

Image
0

3.3K

pkumaschow/cdk repository overview

⁠cdk

AWS CDK CLI in a container, ready to build, synthesise, and deploy both Python and TypeScript/JavaScript CDK apps — no local Node or Python install required.

Built on node:22-alpine with the AWS CDK CLI pinned to 2.1128.0, the aws-cdk-lib Python construct library, and the AWS CLI. Security-patched on every build (apk upgrade + targeted CVE fixes for npm-bundled deps).

A separate -java tag variant swaps in OpenJDK 21 + Maven for Java CDK apps.

⁠Pull

docker pull pkumaschow/cdk:latest docker pull pkumaschow/cdk:2.1128.0 # pinned CDK version docker pull pkumaschow/cdk:latest-java # Java (JDK 21 + Maven) variant

⁠Quick start

Add a bash alias so cdk runs transparently from the container, mounting your project directory and AWS credentials:

project_name=${PWD##*/}
alias cdk='docker run --rm -u "$(id -u):$(id -g)" \
  -w "/${project_name}" \
  -v "$(pwd)/:/${project_name}" \
  -v "$HOME/.aws:/home/node/.aws" \
  pkumaschow/cdk'

cdk names project classes, folders, and files after the current directory,
so always cd into your project first.

Examples

Python:
mkdir my-project && cd my-project
cdk init app --language python

TypeScript:
mkdir my-ts-project && cd my-ts-project
cdk init app --language typescript

Java (use the -java tag):
mkdir my-java-project && cd my-java-project
docker run --rm -u "$(id -u):$(id -g)" -w "/${PWD##*/}" \
  -v "$(pwd)/:/${PWD##*/}" -v "$HOME/.aws:/home/node/.aws" \
  pkumaschow/cdk:latest-java init app --language java

Full deploy/destroy cycle:
mkdir sample-app && cd sample-app
cdk init app --language python
cdk deploy --require-approval never
cdk destroy -f

Source: https://github.com/pkumaschow/cdk

Tag summary

Content type

Image

Digest

sha256:cacb97fff…

Size

250 MB

Last updated

8 days ago

docker pull pkumaschow/cdk