{"id":26267628,"url":"https://github.com/oslabs-beta/poseidon","last_synced_at":"2025-04-30T19:09:23.316Z","repository":{"id":65402381,"uuid":"590224764","full_name":"oslabs-beta/poseidon","owner":"oslabs-beta","description":"This product was created specifically for developers that strongly desire a harmonious integration of various technologies into a single, one-stop-shop for managing your Kubernetes clusters!","archived":false,"fork":false,"pushed_at":"2023-04-26T17:43:34.000Z","size":1479,"stargazers_count":87,"open_issues_count":1,"forks_count":5,"subscribers_count":4,"default_branch":"dev","last_synced_at":"2025-04-30T19:09:06.901Z","etag":null,"topics":["cypress-tests","docker","e2e-testing","formik-yup","grafana","grafana-plugin","helm","kubecost","kubernetes","nextjs","nosql-database","prometheus-metrics","react","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"https://www.os-poseidon.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":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2023-01-17T23:14:26.000Z","updated_at":"2024-12-29T21:22:12.000Z","dependencies_parsed_at":"2023-02-13T01:01:06.972Z","dependency_job_id":null,"html_url":"https://github.com/oslabs-beta/poseidon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fposeidon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fposeidon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fposeidon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oslabs-beta%2Fposeidon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oslabs-beta","download_url":"https://codeload.github.com/oslabs-beta/poseidon/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251767186,"owners_count":21640469,"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","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":["cypress-tests","docker","e2e-testing","formik-yup","grafana","grafana-plugin","helm","kubecost","kubernetes","nextjs","nosql-database","prometheus-metrics","react","tailwindcss","typescript"],"created_at":"2025-03-14T04:17:37.566Z","updated_at":"2025-04-30T19:09:23.293Z","avatar_url":"https://github.com/oslabs-beta.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n\n  ## [![banner](/public/assets/banner.png)](https://www.os-poseidon.com/)\n  \u003c!-- h2 tagline here --\u003e\n  \u003c!-- https://ileriayo.github.io/markdown-badges/#markdown-badges --\u003e\n  [![Next JS](https://img.shields.io/badge/Next-black?style=for-the-badge\u0026logo=next.js\u0026logoColor=white)](https://nextjs.org/)\n  [![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)](https://reactjs.org/)\n  [![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n  [![Grafana](https://img.shields.io/badge/grafana-%23F46800.svg?style=for-the-badge\u0026logo=grafana\u0026logoColor=white)](https://grafana.com/)\n  [![Kubernetes](https://img.shields.io/badge/kubernetes-%23326ce5.svg?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white)](https://kubernetes.io/)\n  [![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)](https://www.docker.com/)\n  [![Prometheus](https://img.shields.io/badge/Prometheus-E6522C?style=for-the-badge\u0026logo=Prometheus\u0026logoColor=white)](https://prometheus.io/)\n  [![TailwindCSS](https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)](https://tailwindcss.com/)\n  [![MongoDB](https://img.shields.io/badge/MongoDB-%234ea94b.svg?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white)](https://www.mongodb.com/)\n  [![Cypress](https://img.shields.io/badge/-cypress-%23E5E5E5?style=for-the-badge\u0026logo=cypress\u0026logoColor=058a5e)](https://www.cypress.io/)\n  [![License](https://img.shields.io/github/license/Ileriayo/markdown-badges?style=for-the-badge)](public/LICENSE)\n  \u003c!-- short description --\u003e\n  ### This Cluster Data Visualizer and Cost Analysis app delivers cost estimates, stunning visualizations, and crucial insights to optimize deployments and stay within budget.\n   \u003c!-- Its user-friendly interface empowers organizations to make informed decisions with ease. A must-have for any Kubernetes pro. --\u003e\n  \u003c!-- quick links --\u003e\n\n\n\n  [![Medium](https://img.shields.io/badge/Medium-12100E?style=for-the-badge\u0026logo=medium\u0026logoColor=white)](https://medium.com/@drjoshdpt/poseidon-a-kubernetes-cluster-visualization-cost-analysis-tool-d0fb55c2858c)\n  [![YouTube](https://img.shields.io/badge/YouTube-%23FF0000.svg?style=for-the-badge\u0026logo=YouTube\u0026logoColor=white)](https://youtu.be/hqeGqh0ksPg)\n  [![LinkedIn](https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/company/osposeidon/)\n\u003c/div\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ch2 style=\"display: inline;\"\u003eQuick Start\u003c/h2\u003e\u003c/summary\u003e\n\n  1. Fork this repository to your profile, clone it to your local machine, navigate into the directory, then run `npm install`.\n  2. Ensure your local and/or cloud clusters are deployed, then within the root directory, create a `.env.local` file and paste in the following:\n      ```\n      NODE_ENV = development\n      MONGO_URI = \"[REPLACE THIS WITH YOUR MONGODB CONNECTION STRING]\"\n      NEXTAUTH_URL = http://localhost:3500\n      BCRYPT_SALT = 10\n      NEXTAUTH_SECRET = 12345678910\n      KUBECOST_IP = \"[REPLACE THIS WITH YOUR DEPLOYED KUBECOST IP ADDRESS]\"\n      LOCAL_KUBECOST_IP = \"[REPLACE THIS WITH YOUR LOCAL KUBECOST IP ADDRESS]\"\n      LOCAL_CLUSTER_IP = \"localhost:3300\"\n      LOCAL_CLUSTER_NAME = \"[REPLACE THIS WITH THE UNIQUE EMBED ID FROM YOUR LOCAL CLUSTER'S GRAFANA SHARE LINK]\"\n      DEPLOYED_CLUSTER_IP = \"[REPLACE THIS WITH YOUR DEPLOYED* CLUSTER IP ADDRESS]\"\n      DEPLOYED_CLUSTER_NAME = \"[REPLACE THIS WITH THE UNIQUE EMBED ID FROM YOUR CLOUD HOSTED GRAFANA SHARE LINK]\"\n      DEPLOYED_CLUSTER_NAME_2 = \"[OPTIONAL: REPLACE THIS WITH THE UNIQUE EMBED ID FROM YOUR CLOUD HOSTED GRAFANA SHARE LINK]\"\n      ```\n      - Be sure to replace the areas of all caps text including the enclosing square brackets with the specified information, then save the file.\n        - *Functions for both depolyments on AWS and/or Google.\n      - For more detailed instructions, please visit our website [os-poseidon.com/setup](https://www.os-poseidon.com/setup).\n  3. Regarding your command options:\n      - `npm run port` runs the application on port 3500 specifically for cloud deployments.\n      - `npm run forward` runs the application on port 3500 for both local and cloud deployments.\n      - `npm run test` assures that any processes on port 3500 is killed then in parallel runs the application on that port and opens Cypress.\n\u003c/details\u003e\n\n\n## Current Features\n- Cloud and local K8s cluster support\n- Cluster metric visualization\n- Cost-analysis via Kubecost\n\n## Iteration Plans\n- [ ] Apply a regex functionality to identify the id name from embed urls and provide an input field in the registration form to store cluster IP addresses for the client's ease of use.\n- [ ] Connect a feature to directly customize cluster specifics\n- [ ] Implement an authentication hierarchy to allow for role and privilege assignments. This secures and regulates any manipulations to an organization's clusters.\n- [ ] Create a filter for the graphs on the dashboard for cluster and data types.\n- [ ] Integrate D3.js for graph styling.\n- [ ] Move forward with AWS hosting for online deployment of the app which allows for greater scalability and dependability.\n- [ ] Develop a notification system within the application to enable users to receive notifications, such as through the Slack API, in case their clusters experiences downtime.\n- [ ] Improve visual comfort and reduce eye strain by implementing dark mode and including dynamic display scaling.\n\n\n\n\u003c!-- https://github.com/tandpfun/skill-icons#icons-per-line\nhttps://github.com/JoshDPT\nhttps://www.linkedin.com/in/joshuah-edwards/\nhttps://github.com/xtchow\nhttps://www.linkedin.com/in/xtchow/\nhttps://github.com/alyagraf\nhttps://www.linkedin.com/in/alina-grafkina-955a56179/\nhttps://github.com/wmoody6293\nhttps://www.linkedin.com/in/william-moody/\n --\u003e\n \u003c!-- Meet the Team! --\u003e\n## Connect with the Team!\n| Joshuah Edwards | Sarah Chow | Alina Grafkina | Will Moody |\n| :---: | :---: | :---: | :---: |\n| [![GitHub](https://skillicons.dev/icons?i=github)](https://github.com/JoshDPT) [![LinkedIn](https://skillicons.dev/icons?i=linkedin)](https://www.linkedin.com/in/joshuah-edwards/) | [![GitHub](https://skillicons.dev/icons?i=github)](https://github.com/xtchow) [![LinkedIn](https://skillicons.dev/icons?i=linkedin)](https://www.linkedin.com/in/xtchow/) | [![GitHub](https://skillicons.dev/icons?i=github)](https://github.com/alyagraf) [![LinkedIn](https://skillicons.dev/icons?i=linkedin)](https://www.linkedin.com/in/alina-grafkina-955a56179/) | [![GitHub](https://skillicons.dev/icons?i=github)](https://github.com/wmoody6293) [![LinkedIn](https://skillicons.dev/icons?i=linkedin)](https://www.linkedin.com/in/william-moody/) |\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fposeidon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foslabs-beta%2Fposeidon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foslabs-beta%2Fposeidon/lists"}