Scenario
Full ECS Deploy
Scaffold a new project AND provision the complete AWS ECS infrastructure in a single workflow. This creates the app locally, pushes it to a new GitHub repository, and deploys it to AWS Fargate with RDS, ALB, VPC, and CI/CD via GitHub Actions.
Prerequisites
- Node.js >= 22 installed
- Yarn >= 1.22 installed
- Docker Desktop running
- OpenTofu >= 1.8 installed (brew install opentofu)
- AWS account with IAM user that has Administrator access
- GitHub personal access token with repo and admin:repo_hook scopes
- ACM SSL certificate ARN for your domain
- FUEL CLI installed: npm install -g @swovohq/fuel
Run the interactive setup to generate your fuel.yml configuration file and .fuel-credentials. You will be prompted for AWS credentials, GitHub token, domain names, and app configuration.
fuel infra:init
$
Notes
- •The .fuel-credentials file is automatically added to .gitignore.
- •You can use --template to get a fuel.yml stub and edit it manually.
Before provisioning, verify that fuel.yml is valid and all credentials are working.
fuel config:verify fuel.yml
$
Pass --config fuel.yml to fuel create:app to scaffold the project AND provision the full AWS ECS infrastructure in one step.
fuel create:app my-app --config fuel.yml
$
Notes
- •If provisioning fails midway, run fuel infra:deploy from the project directory to resume.
- •Use --destroy-on-failure to automatically clean up AWS resources on failure.
- •The first GitHub Actions deployment may take 5–10 minutes to complete.