KyEBell / Prism

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kubernetes Docker Prometheus Prometheus TypeScript JavaScript React ReactRouter Sass Node Express Mongo Tailwind Jest Testing Library

Introducing Prism!

Prism is a Kubernetes and Docker visualizer that helps users understand the status of and relationships between their nodes, pods, services, and containers. It will help developers quickly view their server status and identify problem areas with live metrics and pod health statistics. Our goal for this project was to provide the best possible user experience while minimizing the code a user has to write (everything launches with a single command).

Demo

Features

Feature Status
Prometheus and Grafana Intergration
Custom Dashboard
an Overview, Pods view and Node view of metrics
SASS and Tailwind CSS
Typescript conversion
Testing (React Testing Library/Jest front-end, Supertest backend)
Fully intergrated OAuth/User authentication
Customizable Dashboards 🙏🏻
Historcial Data and Trends 🙏🏻

Done = ✅
In Progress = ⏳
Looking for contributors = 🙏🏻

Getting Started

Requirements

  • Running cluster in Kubernetes/ Minikube
  • The following ports must be free:
    • 8080 ( where the application will be located)
    • 3333 (used by the backend of the application)
    • 3000 (used by Grafana)

Steps :

  • Fork and clone into the repository

  • Create a .env file in the root directory with the following:

    • Your MongoDB URI (key MONGO_URI) OR:
    • A client ID and secret for Github Oauth (keys CLIENT_ID, CLIENT_SECRET)
    • A secret of your choice for json web tokens (key JWT_SECRET)
  • Execute the startup shell script (run ./startup.zsh) - this will:

    • Install necessary dependencies for the web application
    • Install Prometheus 🔥 and Grafana 📊 onto your cluster with our custom configuration
    • Start up the web application
  • Go to http://localhost:8080 and view metrics to your heart's desire 🤩

Contribute to the project

Read More

Check out our article on Medium!

Authors

About


Languages

Language:TypeScript 67.5%Language:CSS 22.3%Language:JavaScript 7.6%Language:Shell 2.1%Language:HTML 0.5%