The Projenator:
I'll be back!
Description
This is a CDKv2 project that takes the grind out of setting up new cdk projects/implementations by using automation
When deployed this project will create for each 'template' a set of resources;
- a ssm automation document which 'kicks' off the process of creating a new 'instance' of your template
- a lambda which acts as 'glue' between the ssm automation document and a
- codebuild project which
- creates a cdk project based on the parameters you pass into the ssm automation document
- synths the cdk project
- deploys the cdk project
Prerequisites:
- AWS account
- cdkv2 and aws cli tools installed.
Assumptions:
- A resonable level of understanding of cdk.
UseCases:
python
cd python
cdk synth
cdk deploy
Note: the demo template is environment agnostic. If you need to deploy this to a specific account, then use a cdk deploy --profile
typescript
Typescripters, its coming. Every so often the Pythonists do something first.
Extending the Templates:
This stack will deploy a set of automation resources for each template that you create. Use the demo templates as a guide you need to edit/modify the ssmdocument, potentially the lambda, and also the templates them selves. The magic is in the .projenrc.js
You also can modify the codebuildproject to change how it deploys the project. You may want it NOT to deploy a cdk project at all, but just create a repo, and place the files in there. The choice is entirely up to you. (PR's for example templates welcome)
References:
(1) projen
(2) Amazon Cloud Development Kit
(3) The CDK Book
Acknowldgements:
Matthew Boing
Matt Coulter
Elad Ben-Israel