# kirkwat/aws-cdk architecture

> Architecture diagram of the GitHub repository kirkwat/aws-cdk, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kirkwat/aws-cdk
- Repository: https://github.com/kirkwat/aws-cdk

## Overview

AWS CDK is a multi-language infrastructure-as-code framework: developers define constructs, compose them into stacks and apps, then use the CDK CLI to synthesize CloudFormation artifacts, deploy, or compare changes. The repository also contains the Construct Library and higher-level deployment-pipeline APIs. The README documents the end-to-end app/CLI workflow; sampled sources show specific pipeline construction and HTTP route binding. Unsampled subsystem links below are included only where the README or SOURCE INDEX supports them.

Main entry points: [`packages/aws-cdk-lib/aws-codepipeline/lib/pipeline.ts`](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/aws-codepipeline/lib/pipeline.ts) (CodePipeline), [`packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts`](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts) (CDK Pipelines), [`packages/aws-cdk/lib`](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk/lib) (CDK CLI), [`packages/@aws-cdk/aws-apigatewayv2-alpha/lib/http/route.ts`](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-apigatewayv2-alpha/lib/http/route.ts) (HTTP Routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_framework["CDK Framework"]
  node_app["CDK App"]
  node_constructs_core["Constructs"]
  node_stacks["Stacks"]
  node_cloudformation["CloudFormation"]
end

subgraph group_constructs["Construct Library"]
  node_service_constructs["AWS Service Constructs"]
  node_http_api["HTTP API<br/>[api.ts]"]
  node_http_route["HTTP Routes<br/>[route.ts]"]
  node_http_integration["HTTP Integrations<br/>[integration.ts]"]
  node_appconfig["AppConfig<br/>[application.ts]"]
  node_redshift["Redshift<br/>[cluster.ts]"]
  node_redshift_query["Database Query<br/>[database-query.ts]"]
  node_rds_engines["RDS Engines<br/>[instance-engine.ts]"]
  node_glue["Glue Constructs"]
  node_flink["Flink Applications<br/>[application.ts]"]
end

subgraph group_delivery["Pipeline Delivery"]
  node_codepipeline["CodePipeline<br/>[pipeline.ts]"]
  node_cf_actions["CloudFormation Actions"]
  node_modern_pipeline["CDK Pipelines<br/>[codepipeline.ts]"]
  node_legacy_pipeline["Legacy Pipeline<br/>[pipeline.ts]"]
  node_pipeline_graph["Pipeline Graph<br/>[pipeline-graph.ts]"]
end

subgraph group_cli["CLI Operations"]
  node_cli_tool["CDK CLI"]
  node_synthesis["Synthesis"]
  node_deployment["Deploy and Diff"]
end

node_developer(("Developer"))
node_aws(("AWS Account"))

node_developer -.->|"defines infrastructure"| node_app
node_app -.->|"contains"| node_constructs_core
node_constructs_core -.->|"composes into"| node_stacks
node_stacks -.->|"synthesizes templates"| node_cloudformation
node_developer -.->|"invokes"| node_cli_tool
node_cli_tool -.->|"synthesizes app"| node_synthesis
node_cli_tool -.->|"deploys or diffs"| node_deployment
node_deployment -.->|"provisions stacks"| node_aws
node_http_route -->|"binds integration"| node_http_integration
node_http_route -->|"associates route"| node_http_api
node_redshift_query -->|"uses cluster"| node_redshift
node_modern_pipeline -->|"builds pipeline"| node_codepipeline
node_modern_pipeline -->|"consumes graph"| node_pipeline_graph
node_modern_pipeline -.->|"deploys templates"| node_cloudformation
node_legacy_pipeline -->|"adds stages"| node_codepipeline
node_codepipeline -.->|"binds actions"| node_cf_actions
node_codepipeline -.->|"emits pipeline resources"| node_aws

click node_app "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/core"
click node_constructs_core "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/core"
click node_stacks "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/core"
click node_cloudformation "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/aws-cloudformation"
click node_cli_tool "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk/lib"
click node_synthesis "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk/lib/api"
click node_deployment "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk/lib/api"
click node_service_constructs "https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib"
click node_http_api "https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-apigatewayv2-alpha/lib/http/api.ts"
click node_http_route "https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-apigatewayv2-alpha/lib/http/route.ts"
click node_http_integration "https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-apigatewayv2-alpha/lib/http/integration.ts"
click node_appconfig "https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-appconfig-alpha/lib/application.ts"
click node_redshift "https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-redshift-alpha/lib/cluster.ts"
click node_redshift_query "https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-redshift-alpha/lib/private/database-query.ts"
click node_rds_engines "https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/aws-rds/lib/instance-engine.ts"
click node_glue "https://github.com/kirkwat/aws-cdk/tree/main/packages/%40aws-cdk/aws-glue-alpha/lib"
click node_flink "https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-kinesisanalytics-flink-alpha/lib/application.ts"
click node_codepipeline "https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/aws-codepipeline/lib/pipeline.ts"
click node_cf_actions "https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.ts"
click node_modern_pipeline "https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts"
click node_legacy_pipeline "https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/lib/legacy/pipeline.ts"
click node_pipeline_graph "https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_constructs_core,node_stacks,node_cloudformation toneBlue
class node_service_constructs,node_http_api,node_http_route,node_http_integration,node_appconfig,node_redshift,node_redshift_query,node_rds_engines,node_glue,node_flink toneAmber
class node_codepipeline,node_cf_actions,node_modern_pipeline,node_legacy_pipeline,node_pipeline_graph toneMint
class node_cli_tool,node_synthesis,node_deployment toneRose
class node_developer,node_aws toneIndigo
```

## Components

### CDK Framework

- [CDK App](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/core): `packages/aws-cdk-lib/core`
- [Constructs](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/core): `packages/aws-cdk-lib/core`
- [Stacks](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/core): `packages/aws-cdk-lib/core`
- [CloudFormation](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib/aws-cloudformation): `packages/aws-cdk-lib/aws-cloudformation`

### Construct Library

- [AWS Service Constructs](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk-lib): `packages/aws-cdk-lib`
- [HTTP API](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-apigatewayv2-alpha/lib/http/api.ts): `packages/@aws-cdk/aws-apigatewayv2-alpha/lib/http/api.ts`
- [HTTP Routes](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-apigatewayv2-alpha/lib/http/route.ts): `packages/@aws-cdk/aws-apigatewayv2-alpha/lib/http/route.ts`
- [HTTP Integrations](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-apigatewayv2-alpha/lib/http/integration.ts): `packages/@aws-cdk/aws-apigatewayv2-alpha/lib/http/integration.ts`
- [AppConfig](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-appconfig-alpha/lib/application.ts): `packages/@aws-cdk/aws-appconfig-alpha/lib/application.ts`
- [Redshift](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-redshift-alpha/lib/cluster.ts): `packages/@aws-cdk/aws-redshift-alpha/lib/cluster.ts`
- [Database Query](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-redshift-alpha/lib/private/database-query.ts): `packages/@aws-cdk/aws-redshift-alpha/lib/private/database-query.ts`
- [RDS Engines](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/aws-rds/lib/instance-engine.ts): `packages/aws-cdk-lib/aws-rds/lib/instance-engine.ts`
- [Glue Constructs](https://github.com/kirkwat/aws-cdk/tree/main/packages/%40aws-cdk/aws-glue-alpha/lib): `packages/@aws-cdk/aws-glue-alpha/lib`
- [Flink Applications](https://github.com/kirkwat/aws-cdk/blob/main/packages/%40aws-cdk/aws-kinesisanalytics-flink-alpha/lib/application.ts): `packages/@aws-cdk/aws-kinesisanalytics-flink-alpha/lib/application.ts`

### Pipeline Delivery

- [CodePipeline](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/aws-codepipeline/lib/pipeline.ts): `packages/aws-cdk-lib/aws-codepipeline/lib/pipeline.ts`
- [CloudFormation Actions](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.ts): `packages/aws-cdk-lib/aws-codepipeline-actions/lib/cloudformation/pipeline-actions.ts`
- [CDK Pipelines](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts): `packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts`
- [Legacy Pipeline](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/lib/legacy/pipeline.ts): `packages/aws-cdk-lib/pipelines/lib/legacy/pipeline.ts`
- [Pipeline Graph](https://github.com/kirkwat/aws-cdk/blob/main/packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts): `packages/aws-cdk-lib/pipelines/lib/helpers-internal/pipeline-graph.ts`

### CLI Operations

- [CDK CLI](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk/lib): `packages/aws-cdk/lib`
- [Synthesis](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk/lib/api): `packages/aws-cdk/lib/api`
- [Deploy and Diff](https://github.com/kirkwat/aws-cdk/tree/main/packages/aws-cdk/lib/api): `packages/aws-cdk/lib/api`

### Other components

- **Developer**
- **AWS Account**

## Connections

- Developer → CDK App: defines infrastructure (evidence: `README.md`)
- CDK App → Constructs: contains (evidence: `README.md`)
- Constructs → Stacks: composes into (evidence: `README.md`)
- Stacks → CloudFormation: synthesizes templates (evidence: `README.md`)
- Developer → CDK CLI: invokes (evidence: `README.md`)
- CDK CLI → Synthesis: synthesizes app (evidence: `README.md`)
- CDK CLI → Deploy and Diff: deploys or diffs (evidence: `README.md`)
- Deploy and Diff → AWS Account: provisions stacks (evidence: `README.md`)
- HTTP Routes → HTTP Integrations: binds integration (evidence: `packages/@aws-cdk/aws-apigatewayv2-alpha/lib/http/route.ts`)
- HTTP Routes → HTTP API: associates route (evidence: `packages/@aws-cdk/aws-apigatewayv2-alpha/lib/http/route.ts`)
- Database Query → Redshift: uses cluster (evidence: `packages/@aws-cdk/aws-redshift-alpha/lib/private/database-query.ts`)
- CDK Pipelines → CodePipeline: builds pipeline (evidence: `packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts`)
- CDK Pipelines → Pipeline Graph: consumes graph (evidence: `packages/aws-cdk-lib/pipelines/lib/codepipeline/codepipeline.ts`)
- CDK Pipelines → CloudFormation: deploys templates
- Legacy Pipeline → CodePipeline: adds stages (evidence: `packages/aws-cdk-lib/pipelines/lib/legacy/pipeline.ts`)
- CodePipeline → CloudFormation Actions: binds actions
- CodePipeline → AWS Account: emits pipeline resources
