To build both the Acceptance and Production platforms, the only code we maintain ourselves is found in mu.yml
--- environments: - name: acceptance provider: ecs-fargate - name: production provider: ecs-fargate service: acceptance: disabled: true production: disabled: true extensions: - url: backend-service
In this file, we define that we want two environments, each using Amazon ECS and AWS Fargate for ECS. We disable any service deploys, since this repo is only used to build and maintain infrastructure.
We also include the extension backend-service. This is custom CloudFormation used to build a private DNS zone internal.service and private ALB for handling our backend api traffic.
Because we’re using Mu and it’s built-in best practice defaults, the amount of code we have to maintain remains simple.