ritsource / scheduler-k8s

Kubernetes cluster configuration for the Scheduler web-app.

Home Page:https://scheduler.ritwiksaha.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kubernetes Configuration for Scheduler

Visit the App - https://scheduler.ritwiksaha.com (Currently hosted on AWS)

Services

The application has been hosted on a Kubernetes cluster. Here's a very simple design of the system. This contains an API-server, a Rendering-server (renders a react app), a MongoDB database (uses PVC to store data), and a Redis server (for data caching, excluded in v2).

Note: Currently hosted on AWS Elastic Beanstalk (Free Tier), as it has no commercial usage.

App Details

You can find the Source-code for this application in this Github Repository

The repository contains 3 main directories, client, server & nginx. The client contains necessary files to run a Docker container for the client side of the application, a server-side rendered React app that uses GraphQL for data-queries and communicates via docker-compose to the API-Server in development.

This brings us to the server directory. Here we are running a Node/Express/GraphQL server in a Docker container. It uses MongoDB for writing & reading data, and that also runs inside a container and uses persistent volumes (Kubernetes) to store data in production.

And, the nginx directory contains configuration for running an Nginx server in a container for mainly routing management in development. Though, in production (Kubernetes) nginx doesn't do anything. It's an ingress-service that takes care of routing.

View Source-code for the App - https://github.com/ritwik310/scheduler

About

Kubernetes cluster configuration for the Scheduler web-app.

https://scheduler.ritwiksaha.com


Languages

Language:Shell 100.0%