Switchboard
  • Understand Switchboard
  • Build for Switchboard
  • Operate
  • API reference
The manifestShared CloudFormation stacksBuild and publishConsume a packageResolved at buildEndpointsIdentity
powered by Zuplo
Build for Switchboard

Shared CloudFormation stacks

Apps do not write their own infrastructure from scratch. They pick an archetype — the deployment policy envelope defined in aws-bootstrap that bounds what the deployer may provision in the account — and compose fragments, the published templates in Switchboard's catalog, shipping artifacts into their shape. Archetype and fragment are different axes and are never used for each other.

StackOwnerWhat it provides
connection templateSwitchboardper-account access: SwitchboardAccess, the permission boundary, the event forwarder, a conditional GitHub OIDC provider, and — in a devops account — the artifact buckets
data-plane-coreSwitchboardper-environment plumbing: config store, event bus, KMS — installed when the environment is provisioned
archetypes (api-lambda-dynamo, s3-cdn, stackset, atlas-lakehouse, …)aws-bootstrapthe policy envelope the deploy runs under: its carrier fragment creates the cfn-svc-{archetype}-{env} stack role the deploy is passed

Conventions your stack must follow:

  • Tags are the interface. Instance resources carry awsApplication (so they group in myApplications) and the swb:tenant / swb:env / swb:app / swb:scope tags on exec roles (workload identity scope comes from tags). Public surfaces carry swb:endpoint — see endpoints.
  • Outputs are read back. Component versions (landedPins) and anything a custom resource produces surface as stack outputs; the deploy read-back records them on the instance.
  • Custom resources carry the odd jobs. Anything the old deploy workflows did that is not CloudFormation belongs in a custom resource — the Zuplo gateway and dev portal deploy through Custom::ZuploProject in the app's own CDK.

Templates and their locations are catalogued per repo in the console's Repositories page; the construction-phase plugin will carry the per-archetype how-to.

Last modified on September 10, 2026
The manifestBuild and publish