Install client and server dependencies
npm install --prefix frontend
npm install --prefix backend
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.
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 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 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.
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.
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.
Copyright 2019 The Gardener Authors