Skip to content

CDK Applications

CDK Applications define complete deployments of one or more Runtime Elements. They are defined in src/cdk/apps/, with one subdirectory per concrete environment group (e.g., Al1x/).

Applications orchestrate Stacks — they do not use low-level constructs directly. Their responsibilities:

  1. Instantiate the Stacks needed for the target Infrastructure and Partition
  2. Retrieve runtime values: CloudFormation Outputs from previously deployed stacks, or AWS SDK calls where needed
  3. Pass those values as Props to the stacks they deploy

Applications are not designed to be configurable beyond the naming and identifiers of the elements to deploy and the AWS credentials for deployment.

Each application lives in its own subdirectory:

src/cdk/apps/
└── Al1x/
└── app.ts # CDK Application entry point
└── (support files)

The app.ts file contains the cdk.App instantiation and the stack invocations. Each application has a dedicated CI/CD configuration that deploys it to the correct AWS account and region.

ConceptGranularityReusabilityConfigurability
ConstructSingle resource groupFully reusableHigh (via Props)
StackComplete Runtime Element (Infra/Partition/Component)Reusable with parametrizationMedium
AppFull deployment (one or more Elements)One per concrete environment groupLow (mostly hardcoded)

Applications primarily deploy Infrastructure and Partition elements. Deploying Component elements is possible for utility or testing components, or temporarily when sharing construct code across repositories is impractical.