Pulumi — def-exsport-pulumi
AWS infrastructure as code. Each stack is its own Pulumi project under stacks/.
How this page was verified
Read on 2026-09-15 from stacks/*/Pulumi.yaml, stacks/*/index.ts and stacks/*/src/*.ts. Local checkout: /Volumes/xpro/erisristemena/pulumi/def-exsport-pulumi. Single-branch: main only.
Stack
Pulumi, TypeScript, @pulumi/aws + @pulumi/awsx, nodejs runtime (npm; the webhook stack uses yarn). There is no root Pulumi.yaml — every stack is a separate project.
The seven stacks
| Stack dir | Pulumi project | AWS resources |
|---|---|---|
webapp | exsport-webapp | The main tier: VPC; ECS cluster + 4 services + 4 task definitions; ALB with listeners, rules, 4 target groups; RDS instance; ElastiCache (Redis); autoscaling; CloudWatch log groups; IAM; a bastion EC2 |
webhook | exsport (yarn) | SNS — 3 topics + 3 subscriptions (WMS / delivery / payment), matching the webhook repo |
repo | exsport-repo | ECR — 4 repositories + lifecycle policies |
storage | exsport-storage | S3 — bucket + ACL, ownership, policy, public-access block, versioning |
params | exsport-params | SSM parameters (SMTP config and the like) |
cert | exsport-cert | ACM certificate |
webapp-ec2 | exsport-webapp-ec2 | An EC2-based deployment variant: VPC, 6 instances + security groups, EIP, key pair |
Per-env config is in Pulumi.<env>.yaml files (dev / stg / prod, varying by stack). The README only documents four stacks (repo, storage, webapp, webhook); cert, params and webapp-ec2 exist on disk too.
Note
This AWS setup (ECS/ALB/RDS) is not the same as the serving hosts the apps currently run on — see Environments. Read the stack before assuming it is the live path.