AWS CDK
AWS Cloud Development Kit (CDK) is an Infrastructure-as-Code (IaC) system developed by Amazon Web Services that builds on top of CloudFormation.
See the PRs here.
Docker Ignore Features
CDK had a built-in support for processing .dockerignore
files for its Docker Image asset handling, but instead of processing it according to .dockerignore
’s own rules, it processed them using the minimatch library which aims to provide fnmatch(3)
pattern matching behavior. This led to certain behaviors commonly found in .dockerignore
files were not supported, such as writing it as a white-list. More confusingly, no error would be emitted, rather the rules would be processed in an unexpected way that would confuse the user.
To resolve this, I implemented support for native handling of .dockerignore
according to Docker’s rules and also implemented support for native handling of .gitignore
which is much more common.
See the PR.
Allow Configuring WorkDir
AWS Lambda resources defined with CDK had no way of overriding the WorkDir
CloudFormation property which allows overriding the working directory for a specified Docker image. I went ahead and exposed this property.
See the PR.