luc99hen / yurt-dashboard-fork

dashboard of OpenYurt

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

yurt-dashboard is the web console for OpenYurt Novice Trial Platform.

|- backend              // Golang backend
    |-- k8s_client      // backend lib for requesting k8s
    |-- proxy_server    // backend api service
|- config               // user controller setting files
|- doc
    |-- design          // project design doc
    |-- help            // how to use yurt-dashboard doc
|- frontend             // React frontend
    |-- public
    |-- src
|- scripts              // cluster setup scripts

Get Started

Note: Since yurt-dashboard is essentially a web interface of an customized OpenYurt cluster, you need some extra work to run this project locally.

  1. Prepare local development environment
    1. Create an OpenYurt Cluster. (You can setup the OpenYurt cluster manually, but we recommend to start OpenYurt by using the yurtctl CLI tool.)
      • OpenYurt version needs to be 0.6.0+
    2. Install User Controller. (yurt-dashboard's user management module depends on this User Controller)
      1. install User CRD, cd ./config && kubectl apply -f ./user_crd.yaml
      2. install yurt-user-controller, cd ./config && kubectl apply -f ./user_controller.yaml (Note: the yurt-user-controller image is still in progress, will be updated at any time, mainly for the convenience of daily debugging.)
      3. you can run cd ./config && kubectl apply -f user_test.yaml to test if your user CRD has been set up properly
    3. install yurt-dashboard dependencies
  2. Install
    1. Start the backend server
      • The backend server needs a kubeconfig with admin privileges of your cluster set up in the last step, you need to provide it as a file located at ./backend/config/kubeconfig.conf.
      • Start the backend server with cd ./backend/proxy_server && go run .
    2. How to play with the frontend
      • install frontend dependencies cd ./frontend && npm install
      • develop
        • if you want to modify frontend behavior
          • define environment variable BASE_URL (e.g. http://ip:port) for the backend service
          • (start a frontend dev server) npm run start
        • if you just want a web interface (don't need to debug frontend code), use npm run build to generate frontend files

If you want to change the GitHub OAuth behavior, we recommend you to set up your own OAuth App with your account, and replace the configurations in both backend and frontend.

Documentation

Todo List

The features which will be added into the yurt-dashboard are outlined here. Welcome to claim any of these!

Task Description Assigned to Current Status priority (1-3)
Node status monitor display mem/CPU status of the node in the web interface Node panel not assigned 1
Delete & Create resource from web console not assigned 2
User experience optimization e.g. display information about how many users or nodes are active not assigned 2
Lab page refactor organize this page with OpenYurt's feature, e.g. Node autonomy; nodepool and united deployment not assigned 3

Contribute

You can pick any unassigned task in which you are interested and find the corresponding issue in this repository to let us know your interests. After that, you can follow the instructions from Get Started section to set up your local development environment.

By the way, we highly recommend to read the contributing guide through before making contributions.

Contact

You can directly create an issue here or find the developer in the following group:

About

dashboard of OpenYurt


Languages

Language:JavaScript 55.6%Language:Go 35.9%Language:Shell 3.6%Language:CSS 1.9%Language:HTML 1.1%Language:Mustache 1.0%Language:Dockerfile 0.5%Language:Makefile 0.4%