The Rancher UI
Go to file
Catherine Luse 0011efd896
Merge pull request #7690 from catherineluse/ip
IP addresses render properly in Cluster Management
2022-12-13 12:23:03 -07:00
.github Add pr to docs workflow trigger (#7373) 2022-12-08 12:16:14 -05:00
.vscode Add unit tests for Namespace filtering in resources (#7465) 2022-11-18 00:05:42 +01:00
cypress Apply linter auto-fixes 2022-11-16 18:38:20 -07:00
docusaurus Merge pull request #7463 from rancher/dependabot/npm_and_yarn/docusaurus/loader-utils-2.0.4 2022-12-12 19:36:36 -07:00
pkg Merge pull request #7642 from torchiaf/fix/7596 2022-12-12 09:48:24 +01:00
scripts Move storybook (#7611) 2022-12-07 18:07:48 +00:00
shell Merge pull request #7690 from catherineluse/ip 2022-12-13 12:23:03 -07:00
storybook Fixed icon size (#7557) 2022-12-08 16:52:53 +01:00
.ackrc Fleet list & details 2020-09-30 05:05:53 -07:00
.dockerignore Service Networking and HealthCheck 2019-10-23 16:10:18 -07:00
.drone.yml [Clone] Set initial endpoint radio group for azuread (#6954) 2022-09-26 09:10:03 -04:00
.eslintignore Fix plugin pkg tsconfig (#6930) 2022-11-24 10:03:42 +00:00
.eslintrc.js Apply linter auto-fixes 2022-11-16 18:38:20 -07:00
.gitignore Fix plugin pkg tsconfig (#6930) 2022-11-24 10:03:42 +00:00
.nycrc Generate coverage value for both unit and E2E tests (#6690) 2022-09-30 10:36:36 +02:00
Dockerfile HARVESTER: cloud-init enhancement 2022-07-08 18:34:50 +08:00
Dockerfile.dev More node 10->12 2021-02-26 09:32:02 -07:00
LICENSE License 2019-12-31 15:21:43 -07:00
README.md Merge pull request #7116 from rancher/rak-phillip-patch-1 2022-11-28 14:20:15 -07:00
babel.config.js Unit test jest (#3405) 2022-03-23 11:35:26 +01:00
cypress.config.ts Restrict retry on run mode and allow to change test timeout by env var (#7592) 2022-12-01 17:17:26 +01:00
env.template E2E: Create dashboard access for reviewing tests results (#6576) 2022-08-04 17:10:02 +02:00
jest.config.js Apply linter auto-fixes 2022-11-16 18:38:20 -07:00
jest.setup.js Add unit tests for Namespace filtering in resources (#7465) 2022-11-18 00:05:42 +01:00
jsconfig.json Github auth config, pluggable login component 2020-12-22 14:43:26 -07:00
nuxt.config.js Optimise build process for standalone harvester 2022-09-08 16:51:38 +01:00
package.json Bump jsrsasign from 10.2.0 to 10.5.25 (#6233) 2022-12-09 09:15:25 -08:00
tsconfig.default.json Plugins: Initial codebase refactor and plugin support (#4779) 2022-05-10 10:00:39 +01:00
tsconfig.json Generate coverage value for both unit and E2E tests (#6690) 2022-09-30 10:36:36 +02:00
vue-shim.d.ts Fix build issues 2022-05-10 10:04:04 +01:00
yarn.lock Merge pull request #7610 from rancher/dependabot/npm_and_yarn/decode-uri-component-0.2.2 2022-12-13 08:53:28 -07:00

README.md

Rancher Dashboard

Build Status

Rancher Dashboard UI, a.k.a Cluster Explorer. For the other Rancher UI (Cluster Manager) see rancher/ui.

Plugins

During the transition to the new folder structured in 2.6.5 required by the plugin work ...

  • Run the script ./scripts/rejig to move folders to their new location in the shell folder and update the appropriate import statements Use this to convert older PRs to the new format
  • Run the script ./scripts/rejig -d to move folders to their old location and update imports again Use this to convert newer branches to the old format (possibly useful for branches)

For more information on plugins see Plugins.

Running for Development

This is what you probably want to get started.

# Install dependencies
yarn install

# For development, serve with hot reload at https://localhost:8005
# using the endpoint for your Rancher API
API=https://your-rancher yarn dev
# or put the variable into a .env file
# Goto https://localhost:8005

Other Building Modes

# Build for standalone use within Rancher
# (These are done on commit/tag via Drone)
./scripts/build-embedded # for embedding into rancher builds
./scripts/build-hosted # for hosting on a static file webserver and pointing Rancher's ui-dashboard-index at it
# Output in dist/

# Build and run with server-side-rendering
# (This method and SSR are not currently used, but should be maintained for future)
yarn build
yarn start

# Develop via Docker instead of a local nodejs
docker build -f Dockerfile.dev -t dashboard:dev .
docker run -v $(pwd):/src \
  -v dashboard_node:/src/node_modules \
  -p 8005:8005 \
  -e API=https://your-rancher \
  dashboard:dev
# The first time will take *forever* installing node_modules into the volume; it will be faster next time.
# Goto https://localhost:8005

# Developing against a standalone "Steve" API on a Mac
git clone https://github.com/rancher/steve.git
cd steve
make run-host

cd dashboard
docker build -f Dockerfile.dev -t rancher/dashboard:dev .
docker run -v $(pwd):/src \
  -v dashboard_node:/src/node_modules \
  -p 8005:8005 \
  -e API=http://172.17.0.1:8989 \
  rancher/dashboard:dev
# The first time will take *forever* installing node_modules into the volume; it will be faster next time.
# Goto https://localhost:8005

What is it?

Dashboard is "stateless" client for the Rancher APIs built with Vue.js and NuxtJS. It is normally built and packaged as a folder of static HTML/CSS/JS files which are bundled into a Rancher release, with the index.html returned by the API server as the "fallback" case for any request that looks like it came from a browser and does not match an API URL.

Every k8s type, namespace, and operation that the logged in user has been granted access to is shown to them. The default view for everything is the raw YAML from the k8s API for detail pages, and the Table view column data for list pages (i.e. what you get from kubectl get <type> -o wide).

From there we can customize anything from what columns are shown and in what format to complete custom forms for graphically editing that resource instead of editing YAML.

Developer Docs

For information on APIs, the layout of the codebase, Vuex stores, localization and more, see the developer docs.

Contributing

For developers, after reading through the introduction on this page, head over to our Getting Started guide to learn more.

License

Copyright (c) 2014-2021 Rancher Labs, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.