{"id":26267640,"url":"https://github.com/oslabs-beta/prism","last_synced_at":"2025-07-22T21:05:16.730Z","repository":{"id":182170158,"uuid":"666576969","full_name":"oslabs-beta/Prism","owner":"oslabs-beta","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-08T22:53:30.000Z","size":24057,"stargazers_count":45,"open_issues_count":1,"forks_count":15,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-30T19:09:34.883Z","etag":null,"topics":["docker","grafana","kubernetes","prometheus"],"latest_commit_sha":null,"homepage":"https://k8prism.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oslabs-beta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"open-source-labs","custom":["https://donorbox.org/donations-to-oslabs-inc"]}},"created_at":"2023-07-14T22:18:55.000Z","updated_at":"2024-07-11T20:21:06.000Z","dependencies_parsed_at":"2025-04-30T19:19:35.613Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/Prism","commit_stats":null,"previous_names":["oslabs-beta/prism"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oslabs-beta/Prism","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPrism","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPrism/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPrism/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPrism/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/Prism/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2FPrism/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266572414,"owners_count":23950017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","grafana","kubernetes","prometheus"],"created_at":"2025-03-14T04:17:38.452Z","updated_at":"2025-07-22T21:05:16.709Z","avatar_url":"https://github.com/oslabs-beta.png","language":"TypeScript","funding_links":["https://github.com/sponsors/open-source-labs","https://donorbox.org/donations-to-oslabs-inc"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align='center'\u003e \u003cimg width=\"500px\" height=\"250px\" src='./Prism logo 1.png'/\u003e\n\n![Kubernetes](https://img.shields.io/badge/Kubernetes-326ce5?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/Docker-0db7ed?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![Prometheus](https://img.shields.io/badge/Prometheus-E7532D?style=for-the-badge\u0026logo=prometheus\u0026logoColor=white)\n![Prometheus](https://img.shields.io/badge/Grafana-F69920?style=for-the-badge\u0026logo=grafana\u0026logoColor=white)\n![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge\u0026logo=javascript\u0026logoColor=%23F7DF1E)\n![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)\n![ReactRouter](https://img.shields.io/badge/React_Router-CA4245?style=for-the-badge\u0026logo=react-router\u0026logoColor=white)\n![Sass](https://img.shields.io/badge/Sass-CC6699?style=for-the-badge\u0026logo=sass\u0026logoColor=white)\n![Node](https://img.shields.io/badge/-node-339933?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\n![Express](https://img.shields.io/badge/express-%23404d59.svg?style=for-the-badge\u0026logo=express\u0026logoColor=%2361DAFB)\n![Mongo](https://img.shields.io/badge/MongoDB-4EA94B?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white)\n![Tailwind](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)\n![Jest](https://img.shields.io/badge/Jest-323330?style=for-the-badge\u0026logo=Jest\u0026logoColor=white)\n![Testing Library](https://img.shields.io/badge/testing%20library-323330?style=for-the-badge\u0026logo=testing-library\u0026logoColor=red)\n\n\u003c/div\u003e\n\n# Introducing Prism!\n\nPrism 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.\nOur 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).\n\n## Get insights into your Kubernetes clusters and Docker containers\n\n\u003cimg alt=\"Demo\" src=\"./readme-gifs/demo_views.gif\"\u003e\n\n## Secure, and built for you!\n\nLogin to Prism to see your clusters, nodes, and pods automatically. And with a dark/light mode, you can enjoy it how you want.\n\n\u003cimg alt=\"Demo\" src=\"./readme-gifs/demo_darkmode.gif\"\u003e\n\n## Features\n\n| Feature                                                           | Status |\n| ----------------------------------------------------------------- | ------ |\n| Prometheus and Grafana Intergration                               | ✅     |\n| Custom Dashboard                                                  | ✅     |\n| an Overview, Pods view and Node view of metrics                   | ✅     |\n| SASS and Tailwind CSS                                             | ✅     |\n| Typescript conversion                                             | ✅     |\n| Testing (React Testing Library/Jest front-end, Supertest backend) | ⏳     |\n| Fully intergrated OAuth/User authentication                       | ⏳     |\n| Customizable Dashboards                                           | 🙏🏻     |\n| Historcial Data and Trends                                        | 🙏🏻     |\n\nDone = ✅\n\u003cbr\u003e\nIn Progress = ⏳\n\u003cbr\u003e\nLooking for contributors = 🙏🏻\n\n## Getting Started\n\n### Requirements\n\n- [ ] Running cluster in Kubernetes/ Minikube\n- [ ] The following ports must be free:\n  - [ ] 8080 ( where the application will be located)\n  - [ ] 3333 (used by the backend of the application)\n  - [ ] 3000 (used by Grafana)\n\n### Steps :\n\n- [ ] Fork the repository and clone to your local machine\n- [ ] Set up authentication: Create a `.env` file in the root directory with the following:\n  - [ ] (optional) Private auth database: Your MongoDB URI (key `MONGO_URI`)\n  - [ ] (optional) GitHub OAuth: A client ID and secret key (keys `CLIENT_ID`, `CLIENT_SECRET`)\n    - [Read more from GitHub about setting up oAuth in your settings](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app)\n  - [ ] A secret of your choice for json web tokens (key `JWT_SECRET`)\n- [ ] Execute the startup shell script (run `./startup.zsh`) - this will:\n\n  - [ ] Install necessary dependencies for the web application\n  - [ ] Install Prometheus 🔥 and Grafana 📊 onto your cluster with our custom configuration\n  - [ ] Start up the web application\n\n- [ ] Go to `http://localhost:8080` and view metrics to your heart's desire 🤩\n\n### Enjoy Prism!\n\nOnce you've done the steps above you'll be able to quickly view live metrics and pod health statistics with ease.\n\n\u003cimg alt=\"Demo\" src=\"./readme-gifs/demo_login.gif\"\u003e\n\n## Contribute to the project\n\n- View our [Contributor README](/DEV_README.md)\n\n## Read More\n\n[Check out our article on Medium!](https://medium.com/@k8s.prism/prism-all-in-one-kubernetes-visualizer-7338b56f8de2)\n\n## Authors\n\n- list of all people and our links\n- [Beserat Tafesse](https://github.com/BeseratT)\n- [Dawit Merid](https://github.com/dawitmerid)\n- [James Li](https://github.com/Jxmes-Li)\n- [Josh Hall](https://github.com/joshuarhall)\n- [Paul Glenn](https://github.com/paglenn)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fprism","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Fprism","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fprism/lists"}