Experimentation with Rain - a CloudFormation workflow tool.
- Rain - install using
brew install rain
- NodeJS 20
- Python 3.12
- AWS CLI
Primary goals of the experimentation:
- Multi-module deployments with multiple CloudFormation Stacks
- Easy deployments of lambda functions
- Structure of lambdas for easy deployments
- TypeScript - correct
tsconfig
settings and bundling the code into a single file along with dependencies usingesbuild
- Python - Directory structure for installing dependencies and create a layer
- TypeScript - correct
Check the following main targets of the Makefile and their target dependencies for usage of various commands.
make deploy-multi-mod
: deploys multi-module stacksmake deploy-ts-lambda
: packages and deploys MiddyJS-based TypeScript NodeJS 20.x lambda. Test the lambda invocation usingmake test-ts-lambda
make deploy-py-lambda
: packages dependencies layers and deploys Python 3.12 lambda. Test the lambda invocation usingmake test-py-lambda
https://how.wtf/a-guide-for-deploying-cloudformation-with-cli-using-rain.html is a good introductory article on Rain.