Project Griffin - Node.js + Github Actions + Containers + ECR + AWS ECS

Check out the most recent source code

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

Griffin Tech Stack

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

Griffin Dockerfile

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.

Griffin Github Actions

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.

Griffin Github Actions