/dashboard

Web-based GUI for the Gardener.

Primary LanguageVueOtherNOASSERTION

Gardener Dashboard

Demo

Gardener Demo

Development Setup

Install

Install client dependencies

pushd frontend
npm install
popd

Install server dependencies

pushd backend
npm install
popd

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://minkube    # garden cluster kube-apiserver url
sessionSecret: c2VjcmV0          # symetric key used for encryption
cookieMaxAge: 1800
oidc:
  issuer: https://minikube:32001
  client_id: dashboard
  client_secret: c2VjcmV0       # oauth client secret
  redirect_uri: http://localhost:8080/auth/callback
  scope: 'openid email profile groups audience:server:client_id:dashboard audience:server:client_id:kube-kubectl'
  clockTolerance: 15
frontend:
  dashboardUrl:
    pathname: /api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy/
  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 local backend server with hot reload listening on port 3030.

cd backend
npm run dev

Run local frontend server with hot reload istening on port 8080.

cd frontend
npm run serve

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

Build

Build docker image locally.

make build

Push

Push docker image to Google Container Registry.

make push

This command expects a valid gcloud configuration named gardener.

gcloud config configurations describe gardener
is_active: true
name: gardener
properties:
  core:
    account: john.doe@example.org
    project: johndoe-1008

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