Paul Banks
e4db845246
|
4 years ago | |
---|---|---|
.. | ||
app | ui: Update to service index page (#8775) | 4 years ago |
blueprints |
…
|
|
config | Refactor uiserver to separate package, cleaner Reloading | 4 years ago |
lib | Refactor uiserver to separate package, cleaner Reloading | 4 years ago |
node-tests/config |
…
|
|
public |
…
|
|
server |
…
|
|
tests | ui: Update to service index page (#8775) | 4 years ago |
.dev.eslintrc.js |
…
|
|
.editorconfig |
…
|
|
.ember-cli |
…
|
|
.eslintignore |
…
|
|
.eslintrc.js |
…
|
|
.gitignore |
…
|
|
.istanbul.yml |
…
|
|
.nvmrc |
…
|
|
.prettierrc |
…
|
|
.template-lintrc.js |
…
|
|
.travis.yml |
…
|
|
.watchmanconfig |
…
|
|
GNUmakefile |
…
|
|
README.md |
…
|
|
_redirects |
…
|
|
ember-cli-build.js |
…
|
|
package.json | ui: Centralized Config Intention Permission CRUD (#8762) | 4 years ago |
testem.js |
…
|
|
yarn.lock | ui: Centralized Config Intention Permission CRUD (#8762) | 4 years ago |
README.md
consul-ui
Prerequisites
You will need the following things properly installed on your computer.
- Git
- Node.js (with npm)
- yarn
- Ember CLI
- Google Chrome
Installation
git clone https://github.com/hashicorp/consul.git
this repositorycd ui-v2
yarn install
All tooling scripts below primarily use make
which in turn call node package scripts.
Running / Development
The source code comes with a small development mode that runs enough of the consul API as a set of mocks/fixtures to be able to run the UI without having to run consul.
make start
oryarn start
to start the ember app- Visit your app at http://localhost:4200.
To enable ACLs using the mock API, use Web Inspector to set a cookie as follows:
CONSUL_ACLS_ENABLE=1
This will enable the ACLs login page, to which you can login with any ACL token/secret.
You can also use a number of other cookie key/values to set various things whilst developing the UI, such as (but not limited to):
CONSUL_SERVICE_COUNT=1000
CONSUL_NODE_CODE=1000
// etc etc
See ./node_modules/@hashicorp/consul-api-double
for more details.
If you wish to run the UI code against a running consul instance, uncomment the proxy
line in .ember-cli
to point ember-cli to your consul instance.
You can also run the UI against a normal Consul installation.
make start-consul
or yarn run start:consul
will use the CONSUL_HTTP_ADDR
environment variable to locate the Consul installation. If that it not set
start-consul
will use http://localhost:8500
.
Example usage:
CONSUL_HTTP_ADDR=http://10.0.0.1:8500 make start-consul
Code Generators
Make use of the many generators for code, try ember help generate
for more details
Running Tests
Please note: You do not need to run make start-api
/yarn run start:api
to run the tests, but the same mock consul API is used.
make test
oryarn run test
make test-view
oryarn run test:view
to view the tests running in Chrome
Linting
make lint
currently runs linting on the majority of js files and hbs files (using ember-template-lint
).
See .eslintrc.js
and .eslintignore
for specific configuration.
Building
make build
builds the UI for production usage (env=production)make build-ci
builds the UI for CI/test usage (env=test)
Static files are built into ./dist
Running Tests in Parallel
Alternatively, ember-exam
can be used to split the tests across multiple browser instances for faster results. Most options are the same as ember test
. To see a full list of options, run ember exam --help
.
Note: The EMBER_EXAM_PARALLEL
environment variable must be set to override the default parallel
value of 1
browser instance in testem.js.
To quickly run the tests across 4 parallel browser instances:
make test-parallel
To run manually:
$ EMBER_EXAM_PARALLEL=true ./node_modules/.bin/ember exam --split <num> --parallel
More ways to split tests can be found in the ember-exam README.md.