CDK Applications

Applications define complete deployments of one or more Runtime Elements. They are defined in src/cdk/apps

Applications should minimize the use of low level constructs and use only stacks to execute the deployment. Their job is to orchestrate the deployment of the stacks and access Runtime values like CloudFormation Outputs, or when necessary use the AWS SDK to obtain the values defined in the Props types of the stacks it deploys.

This directory will contain mostly applications deploying Infrastructure and Purpose elements, although deploying components is possible for utility or testing components, or temporarily to avoid duplicating/copying Construct Code in multiple repositories.

Applications are not intended to be configurable beyond providing the naming and identifiers of the elements to be deployed or the credentials to perform the deployment. There will be an App per concrete group of elements deployed together and will be coupled with dedicated CI/CD configuration for their deployment.

Each application should be defined in its own subdirectory under src/cdk/apps. The subdirectory should contain a file called app.ts that contains the definition of the application. It can contain other typescript files or other resources to support the deployment process.

Comments