Skip to content

Bootstrap Stack⚓︎

Overview⚓︎

The Bootstrap stack sets up the CDK infrastructure required for deploying all subsequent stacks. It creates deployment roles, S3 asset buckets, and KMS keys in every account and region.

Deployment Scope⚓︎

  • Stage: bootstrap
  • Deployed to: All accounts, all enabled regions
  • Config files consumed: global-config.yaml

What It Deploys⚓︎

CDK Deployment Roles⚓︎

  • Deployment Role (<prefix>-Deployment-Role) — Used by CDK to deploy stacks. Configurable via cdkOptions.customDeploymentRole.
  • Management Deployment Role (<prefix>-Management-Deployment-Role) — Additional role for management account operations.

S3 Asset Bucket⚓︎

  • cdk-accel-assets-<accountId>-<region> — Stores CDK synthesized assets (Lambda code, CloudFormation templates)
  • Encrypted with a dedicated CMK
  • When cdkOptions.centralizeBuckets is enabled, only created in the management account

S3 Bucket CMK⚓︎

  • KMS key for encrypting the CDK asset bucket
  • Key policy grants access to deployment roles

CDK Bootstrap Version Parameter⚓︎

  • SSM parameter /cdk-bootstrap/accel/version — Tracks the bootstrap version

Key Code Paths⚓︎

Component File
Stack class accelerator/lib/stacks/bootstrap-stack.ts

Config-to-Resource Mapping⚓︎

Config Property Resource Created
global-config.yaml → cdkOptions.customDeploymentRole Custom-named deployment IAM role
global-config.yaml → cdkOptions.centralizeBuckets Centralized S3 bucket in management account

Cross-Stack Dependencies⚓︎

Writes⚓︎

  • CDK bootstrap version SSM parameter
  • S3 bucket and KMS key used by all subsequent stack deployments

Read By⚓︎

  • Every subsequent stack uses the deployment role and asset bucket created here