Rancher UI
Go to file
Westly Wright 139cfcd960
Remove valueIsPatchVersion check as its not needed here
rancher/rancher#25335
2020-03-10 10:58:39 -07:00
.github update headers 2018-10-01 15:33:02 -07:00
app Merge pull request #3818 from westlywright/helm3.icon 2020-03-09 16:58:31 -07:00
blueprints Switch to @rancher/ember-api-store 2019-01-10 16:44:35 -07:00
config Upgrade ember-intl to latest version 2019-10-02 13:46:37 -07:00
lib Remove valueIsPatchVersion check as its not needed here 2020-03-10 10:58:39 -07:00
public remove background on helm logo 2020-03-05 16:22:55 -07:00
scripts update drone syntax for 1.x 2019-03-21 14:06:29 -07:00
server add k3s version api to proxy 2020-02-27 11:11:52 -07:00
ssl New cert with SAN for Chrome 58+ 2018-10-26 12:19:48 -07:00
tests First run on Feature Flags ui 2019-10-17 10:15:04 -07:00
translations Make CIS visual tweaks 2020-03-09 16:19:21 -07:00
vendor Fix bug in ember-shortcuts and use new api instead of removed one 2019-10-09 12:11:36 -07:00
.ackrc chore(config): remove bower 2019-06-20 16:51:52 -06:00
.dockerignore Dockerfile, pool refresh 2017-02-10 14:59:03 -07:00
.drone.yml Create dist folder instead of conditionally setting DAPPER_OUTPUT 2019-03-25 10:27:45 -07:00
.editorconfig Ember 1.12 updates 2015-06-26 01:37:39 -07:00
.ember-cli Improve vsphere driver UX 2019-10-21 13:19:14 -07:00
.eslintignore chore(config): remove bower 2019-06-20 16:51:52 -06:00
.eslintrc.js Upgrade Ember to 3.12 2019-10-02 13:33:15 -07:00
.gitignore git ignore 2019-10-10 09:51:53 -07:00
.gitmodules term.js -> xterm.js (rancher/rancher#5049) 2016-07-08 13:50:33 -07:00
.ignore chore(config): remove bower 2019-06-20 16:51:52 -06:00
.template-lintrc.js Upgrade Ember to latest stable release 2019-03-25 13:22:38 -07:00
.watchmanconfig Webhooks (#954) 2016-12-27 16:33:04 -07:00
Dockerfile Update build/test to use docker build image 2018-10-30 14:34:54 -07:00
Dockerfile.dapper Remove unneeded npm install yarn since its installed by apt 2019-12-19 14:49:52 -07:00
LICENSE Remove notice from license 2015-02-25 15:23:22 -07:00
README.md wording 2019-08-09 16:32:17 -07:00
crowdin.yml Add the script for updating i18n files 2017-10-13 20:38:04 +08:00
ember-cli-build.js Add back source maps for dev and fix tests flag to reduce build time 2019-10-04 15:53:45 -07:00
jsconfig.json Edit clusters using node templates you can't see (rancher/rancher#22080) 2019-08-30 14:15:24 -07:00
package.json Add yarn dev for consistency with dashboard 2020-02-20 10:54:35 -07:00
testem.js Merge pull request #3391 from codyrancher/unit-test-poc 2019-10-02 13:43:55 -07:00
yarn.lock Implement the list and detail views for CIS scan 2019-12-02 14:45:56 -07:00

README.md

Rancher UI

Perhaps you like managing Cattle.

Usage

Prerequisites:

If you're on a Mac and use Homebrew, you can follow these steps:

  brew install node watchman yarn

Setup:

  git clone 'https://github.com/rancher/ui'
  cd 'ui'
  ./scripts/update-dependencies

Run development server:

  yarn start

Connect to UI at https://localhost:8000/ . The server automatically picks up file changes, restarts itself, and reloads the web browser. This is intended only for development, see below for distributing customizations.

Run development server pointed at another instance of the Rancher API

  RANCHER="https://rancher-server" yarn start

RANCHER can also be hostname[:port] or ip[:port].

Compiling for distribution

Rancher releases include a static copy of the UI passed in during build as a tarball. To generate that, run:

  ./scripts/build-static

Customizing

We highly suggest making customizations as an ember-cli addon rather than forking this repo, making a bunch of changes and then fighting conflicts to keep it up to date with upstream forever. ui-example-addon-machine is an example addon that adds a custom screen for a docker-machine driver. If there is no way for you to get to what you want to change from an addon, PRs to this repo that add generalized hooks so that you can are accepted.

Project Structure

Rancher UI uses Ember CLI Pods for its project structure. We suggest reading the documentation if you have questions about the layout of the Rancher UI project.

Engines and In-repo Addons

Rancher UI uses Ember Engines to break the deliverable code into smaller chunks and only deliver what the end-user will need. When adding new components to an engine ensure you are only re-exporting the component back out of the engine if it is required and can not be placed in the shared in-repo addon. When adding a new service or dependency that is required by an engine ensure that you pass the dependencies to the engine, more info can be found here

The shared in-repo addon is a central repository of shared components for use with both the main app and any in-repo engine.

Translations

Rancher UI supports localization via translations files. You can swap translations live by utilizing the Language Picker located in the footer. If you would like to add your own translations files follow the directions below.

  • Fork the Rancher UI repo
  • Copy the en-us.yaml file located in /translations folder and rename using the <language-code>/<country-code>.yaml format (Supported Locales)
  • Replace the values on each key with you're new values corresponding to your language
  • Ensure you replace the languageName value as this is what will be displayed in the language picker in the UI
  • While developing you can use SHFT + L when not focused in an input or text area to toggle the languages between your currently selected language and a special none language to see what key values are missing
  • When you've finished you're translations issue a pull request back to the Rancher UI repo to have your translation included

Hosting remotely

If you want to customize the UI, re-packaging all of Rancher to distribute the UI is possible but not terribly convenient. Instead you can change Cattle to load the UI source from a remote web server:

  • Build with ./scripts/build-static -l -c 'your-server.com'
  • Upload ./dist/static/latest2 so that it's available at https://your-server.com/latest2
    • It must be available over HTTPS.
    • You can rename the "latest2" part with the -v flag
  • Change the value of http[s]://your-rancher:8080/v3/settings/ui-index to the same https://yourserver.com/latest2 URL

Running Tests

  yarn global add ember-cli
  • yarn lint:hbs

  • yarn lint:js

  • yarn lint:js -- --fix

  • ember test

  • ember test --server

Bugs & Issues

Please submit bugs and issues to rancher/rancher with a title starting with [UI] .

Or just click here to create a new issue.

License

Copyright (c) 2014-2019 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.