Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/SlashGordon/docker-aws-cdk

UpToDate Docker aws cdk image with all python packages.
https://github.com/SlashGordon/docker-aws-cdk

aws cdk docker docker-image

Last synced: 3 months ago
JSON representation

UpToDate Docker aws cdk image with all python packages.

Awesome Lists containing this project

README

        

[![Release](https://github.com/SlashGordon/docker-aws-cdk/actions/workflows/release.yaml/badge.svg)](https://github.com/SlashGordon/docker-aws-cdk/actions/workflows/release.yaml)

# Docker AWS CDK
Containerised AWS CDK to ensure consistent local development and simple CD pipelines.

## Usage
Run as a command using `cdk` as entrypoint:

docker run --rm --entrypoint cdk slashgordon/aws-cdk --version

Run as a shell and mount `.aws` folder and current directory as volumes:

docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/opt/app slashgordon/aws-cdk bash

Using docker-compose:

cdk:
image: slashgordon/aws-cdk
env_file: .env
entrypoint: aws
working_dir: /opt/app
volumes:
- ~/.aws:/root/.aws
- .:/opt/app:rw

And run `docker-compose run cdk --version`

## Language Support

CDK Supports different languages to define your (re)usable assets.

### JavaScript/TypeScript

This should work out of the box through `package.json` and `node_modules`, which
are automatically _cached_ in your working directory.

### Python

This image ships with Python 3 installed. To cache installed cdk python packages,
`site-packages` is exposed as a volume. This allows you to cache packages between
invocations:

cdk:
...
volumes:
- cdk-python:/usr/lib/python3.7/site-packages/
- ...
volumes:
cdk-python

Then, if you install e.g. `aws-cdk.core` through pip (`pip3 install aws-cdk.core`)
in a container, you won't have to install it again next time you start a new
container.

## Related Projects

- [docker-aws-cli](https://github.com/slashgordon/docker-aws-cli)
- [docker-terraform](https://github.com/slashgordon/docker-terraform)

## Credits

Strongly inspired by[contino/docker-aws-cdk](https://github.com/contino/docker-aws-cdk) project.