- With the power of GitHub Actions, many different services are powered by upstream sources of truth.
- When the upstream sources are updated, the downstream services are automatically updated.
- For example, when you update the images in the
holotable
repo, the images are updated inscomp
,holotable.exe
, andgemp
.
- The resources (res) s3 bucket hosts many assets used by many sites, such as scomp, vkit, www, and gemp.
- GitHub Actions automate upload from various Git repos to
res
. - Terraform controls the creation of infrastructure within AWS.
- Static websites are hosted on Amazon S3.
- Amazon S3 is fronted by Amazon CloudFront.
- SSL Certificates are generated, automatically, use Amazon Certificate Manager (ACM).
res.starwarsccg.org
stands for resources. The resources (res) are used by other sites, such as scomp, vkit, www, and gemp.- All S3+Cloudfront hosted websites are deployed automatically using GitHub Actions.
- Web applications that are not static and require an application server to operate, such as PHP or Java, run on top of Amazon EC2 instances.
- The ALB is protected by an Amazon WAF.
- The database backends are hosted in Amazon RDS (relational database service).
- The Decks website is hosted on EC2 while it is under development.
Decks is a NodeJS based application with DynamoDB as a backend.
Eventually Decks will be hosted on AWS Lambda.
- Containers are run on top of ECS (Elastic Container Service) Fargate.
- The Discord Card Linker app is a compiled .NET application that is bundled as a container and pushed to ECR (Elastic Container Registry). Images are pulled from ECR and deployed to ECS Fargate.
- The Trunk branches should always be named
main
. - The one exception to that is with
holotable
where the client code has a hard requirement on the namemaster
. Once the client code can be updated to supportmain
instead ofmaster
the git repo trunk branch will be renamed.
- Always fork the code base, create a new branch, and create a pull request from the fork.
- Never pull and push from the primary repo.
- Never create short lived branches on the primary repo.