Udagram is a simple cloud application developed alongside the Udacity Cloud Engineering Nanodegree. It allows users to register and log into a web client, post photos to the feed, and process photos using an image filtering microservice.
This project depends on Nodejs and Node Package Manager (NPM). Before continuing, you must download and install Node (NPM is included) from https://nodejs.com/en/download.
You'll need to install docker https://docs.docker.com/install/. Open a new terminal within the project directory and run:
- Build the images:
docker-compose -f docker-compose-build.yaml build --parallel
- Push the images:
docker-compose -f docker-compose-build.yaml push
- Run the containers:
docker-compose up
- Install Terraform
- Install KubeOne and follow the instructions to create the needed infrastructure to deploy the project.
- Create k8s resources:
kubectl apply -f env-config.yml
kubectl apply -f env-secret.yml
kubectl apply -f aws-secret.yml
kubectl apply -f feed-deployment.yml
kubectl apply -f backend-feed-service.yaml
kubectl apply -f user-deployment.yml
kubectl apply -f backend-user-service.yaml
kubectl apply -f reverseproxy-deployment.yml
kubectl apply -f reverseproxy-service.yaml
kubectl apply -f frontend-deployment.yml
kubectl apply -f frontend-service.yaml