Full ECS Deploy
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.