oslabs-beta / k8r

An innovative Kubernetes visualizer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

K8R visualizes real-time Kubernetes cluster and hardware metrics with an emphasis on customization.

Table of Contents
  1. K8R
  2. Tech Stack
  3. Setup
  4. Contribution
  5. License
  6. Creators

K8R

K8R is Purpose-built to deliver maximum out of the box productivity without the headaches of traditional solutions, K8R delivers at-a-glance insights into detailed and executive KPIs for your local and cloud based clusters. With K8Rs lightweight and unified user-experience, K8R works for you, not the other way around.

Tech Stack

TypeScript NodeJS Express.js MongoDB React React Router HTML5 CSS3 Vite Kubernetes Prometheus Grafana Jest Testing-Library

Setup

  1. Getting Started - Initialize a Cluster of Your Choice

  2. Installation

    • Fork and Clone the Project

    • Run node -v to confirm your version of node. K8R requires node 18 or later.

      • To install latest version of node, run nvm install --lts
    • Run npm i to install all package dependencies.

    • Create a MongoDB database and Google OAuth credentials to use within your app.

    • Create a .env file and assign the following environment variables according to your MongoDB and Google OAuth setup.

      // MONGO
      MONGO_URL=
      MONGO_PORT=
      MONGO_USERNAME=
      MONGO_PASSWORD=
      
      // Google OAuth
      GOOGLE_CLIENT_SECRET=
      GOOGLE_CLIENT_ID=
      GOOGLE_CALLBACKURL='http://localhost:8888/auth/google/callback'
      SESSION_SECRET=[Randomized String for Express Sessions]
      
    • Run npm run dev to initialize the application on http://localhost:8888/

  3. Usage

    • Log in from the landing page using Google OAuth.

      Log In Video


    • Use the Cluster Editor to add or remove clusters to your account.

      • Users can add additional clusters from any cluster source you prefer; including cloud hosted or local clusters.
      • K8R allows users to see all of your clusters in one place regardless of their source, without having to switch to different windows for each cluster.


      Cluster Editor Video


    • Use the Profile Editor to add or remove profiles.

      • Users can add additional profiles for individual use cases and switch between profiles from the Profile Selector view.
      • K8R allows users to create profiles with as few or as many cluster and hardware metrics as needed.


      Profile Editor Video

Contribution

Contributions are a great way to contribute to the open source community as a whole. If you'd like to contribute to K8R, please follow the steps below to get started.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/yourNewFeature)
  3. Commit your Changes (git commit -m 'Add some a fantastic new feature')
  4. Push to the Branch (git push origin feature/yourNewFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Creators

Developed By
Josh Howard Github LinkedIn
Brian Jaber Github LinkedIn
Anthony Cho Github LinkedIn
Chris Oakes Github LinkedIn

About

An innovative Kubernetes visualizer.

License:MIT License


Languages

Language:TypeScript 73.0%Language:CSS 26.6%Language:HTML 0.3%Language:JavaScript 0.1%