- Deploy Route53 Hosted Zone CF (dns.cf.json)
- Get the NS servers from the deployed R53 zone, and then create a new record set on the root account with an NS record pointing to those NS servers
- Deploy FE CF (spa-cert.cf.yaml & spa.cf.yaml)
- The cert stack must be deployed in
us-east-1, while the other main spa stack can be in any region - As the cert stack deploying, add FE DNS records from SSL certificate to Route53 Hosted Zone
- The cert stack must be deployed in
- Deploy API CF (api-s3.cf.yaml & api.cf.yaml)
- First deploy the S3 template, and upload a
deployment.zipfile to it - As it's deploying, Add BE DNS records from SSL certification to Route53 Hosted Zone
- First deploy the S3 template, and upload a
- Deploy deployment user CF (deployment-user.cf.yaml)
- Update GitHub Actions secrets
secrets.STAGE_AWS_ACCESS_KEY_ID&secrets.STAGE_AWS_SECRET_ACCESS_KEY- Output from deployment-user stack
secrets.STAGE_S3_BUCKET&secrets.STAGE_CF_DISTRIBUTION_ID- Name of bucket from spa stack
secrets.STAGE_S3_CODE_BUCKET&secrets.STAGE_API_CF_NAME- Name of the api stack, and output from that stack
- Run a stage deploy through GitHub Actions
- Before code is deployed to the infra, you might see permission errors
- Delete all manually created HostedZone DNS record for SSL certificates
- Delete all objects in S3 buckets (inc. all version)
- Delete all CF stacks