Code Monkey home page Code Monkey logo

dashboard's Introduction

Gardener Dashboard

Demo

Gardener Demo

Development Setup

Install

Install client and server dependencies

npm install --prefix frontend
npm install --prefix backend

Configuration

KUBECONFIG

If the dashboard is not running in the Garden Cluster you have to point the kubeconfig to Garden Cluster. This can be done in the default kubeconfig file in ${HOME}/.kube/config or by the KUBECONFIG environment variable.

GARDENER_CONFIG

The configuration file of the Gardener Dashboard can be specified as first command line argument or as environment variable GARDENER_CONFIG at the server process. If nothing is specified the default location is ${HOME}/.gardener/config.yaml.

A local configuration example for minikube and dex could look like follows:

port: 3030
logLevel: debug
logFormat: text
apiServerUrl: https://minikube # garden cluster kube-apiserver url
jwt:
  audience: dashboard
  issuer: &issuer https://minikube:32001
  algorithms: [ RS256 ]
jwks:
  ca: |
    -----BEGIN CERTIFICATE-----
    MIIC5z...
    -----END CERTIFICATE-----
  rejectUnauthorized: true
  cache: false
  rateLimit: false
  jwksRequestsPerMinute: 5
  jwksUri: https://minikube:32001/keys
frontend:
  dashboardUrl:
    pathname: /api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/
  oidc:
    authority: *issuer
    client_id: dashboard
    redirect_uri: http://localhost:8080/callback
    response_type: 'token id_token'
    scope: 'openid email profile groups audience:server:client_id:dashboard audience:server:client_id:kube-kubectl'
    loadUserInfo: false
  defaultHibernationSchedule:
    evaluation:
    - start: 00 17 * * 1,2,3,4,5
    development:
    - start: 00 17 * * 1,2,3,4,5
      end: 00 08 * * 1,2,3,4,5
    production: ~

Run locally (during development)

Run the backend server with hot reload under localhost:3030.

npm run dev --prefix backend

Run the frontend server with hot reload under localhost:8080.

npm run serve --prefix frontend

All request to /api and /config.json with be proxied by default to the backend server.

Build

Build frontend artifacts for production with minification

make build

The build results will be written to frontend/dist. The static resource path public of the backend server is symlinked to this directory.

Release

Publish a new container image and publish to Google Container Registry.

npm run build --prefix frontend

This expects valid GCR credentials located at ${HOME}/.config/gcloud/gcr-readwrite.json. It will build a new image and pushes it to the container registry.

People

The following SAP developers contributed to this project until this initial contribution was published as open source.

contributor commits (%) +lines -lines first commit last commit
Holger Koser 313 (42%) 57878 18562 2017-07-13 2018-01-23
Andreas Herz 307 (41%) 13666 11099 2017-07-14 2017-10-27
Peter Sutter 99 (13%) 4838 3967 2017-11-07 2018-01-23
Gross, Lukas 31 (4%) 400 267 2018-01-10 2018-01-23

It is derived from the historical, internal gardener-ui repository at commit eeb623d60c86e6037c0e1dc2bdd9e54663bf41a8.

License

Apache License 2.0

Copyright 2019 The Gardener Authors

dashboard's People

Contributors

petersutter avatar grolu avatar holgerkoser avatar gardener-robot-ci-1 avatar ccwienk avatar rfranzke avatar msohn avatar dr1fter avatar eaterm avatar jia-jerry avatar martinweindel avatar schu avatar raphael-vogel avatar ialidzhikov avatar wyb1 avatar

Watchers

James Cloos avatar Kristian Zhelyazkov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.