This project will be the foundation to future work - so we're going to focus on the initial framework that will enable us to get the project up and running and enable us to iterate our automation and code quickly
Tech Stack: Node.js with express, containers, a github actions workflow, and Amazon ECR
The Node.js application is a simple express server that will eventually do more, but for now it's our guinea pig
The dockerfile builds a lightweight alpine linux container that will run the node.js application. We'll build and test our code and create our container then ship it up to ECS
The github actions workflow is a simple workflow that will run our tests and build our container. Once the container is built, it will be pushed to Amazon ECR.
A note on security - It's vital that we do not store secrets within our repository. To facilitate this we can store our secrets as a variable in GitHub
In our case, we're storing our AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, as secrets in our repository. We'll use these secrets in our workflow to authenticate with AWS ECR and ECS.