AWS CDK infrastructure for the Karabast Star Wars Unlimited online card game.
We have a Discord server for updates, bug reports, and coordinating dev work.
- forceteki — Game engine and backend server
- forceteki-client — Web frontend
This project defines three AWS CloudFormation stacks via CDK:
- KarabastMainStack — Production ECS Fargate service behind an ALB (
api.karabast.net) - KarabastDevStack — Development ECS Fargate service (
api-dev.karabast.net) - DynamoDbStack — DynamoDB global table for data persistence
- ECS Fargate — Containerized backend deployment
- Application Load Balancer — HTTPS termination and routing
- DynamoDB — NoSQL database
- ECR — Docker image storage
- Route53 — DNS management
- ACM — SSL/TLS certificates
- Secrets Manager — Credentials and API keys
- Node.js v22.x
- AWS CDK CLI (
npm install -g aws-cdk) - AWS credentials configured
npm run buildcompile typescript to jsnpm run watchwatch for changes and compilenpm run testperform the jest unit testscdk deploydeploy this stack to your default AWS account/regioncdk diffcompare deployed stack with current statecdk synthemits the synthesized CloudFormation template