consul/ui-v2
John Cowen f65f001675
UI: Catch 500 error on token endpoint and revert to legacy tokens (#4874)
In some circumstances a consul 1.4 client could be running in an
un-upgraded 1.3 or lower cluster. Currently this gives a 500 error on
the new ACL token endpoint. Here we catch this specific 500 error/message
and set the users AccessorID to null. Elsewhere in the frontend we use
this fact (AccessorID being null) to decide whether to present the
legacy or the new ACL UI to the user.

Also:
- Re-adds in most of the old style ACL acceptance tests, now that we are keeping the old style UI
- Restricts code editors to HCL only mode for all `Rules` editing (legacy/'half legacy'/new style)
- Adds a [Stop using] button to the old style ACL rows so its possible to logout.
- Updates copy and documentation links for the upgrade notices
2018-11-02 14:44:36 +00:00
..
app UI: Catch 500 error on token endpoint and revert to legacy tokens (#4874) 2018-11-02 14:44:36 +00:00
config UI: Add conditional enterprise logo (#4432) 2018-07-30 17:59:43 +01:00
lib UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00
public UI V2 (#4086) 2018-05-10 19:52:53 +01:00
tests UI: Catch 500 error on token endpoint and revert to legacy tokens (#4874) 2018-11-02 14:44:36 +00:00
.dev.eslintrc.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
.editorconfig UI V2 (#4086) 2018-05-10 19:52:53 +01:00
.ember-cli Move testing doubles to use data embedded in the HTML vs HTTP/fetch 2018-07-02 19:02:16 +01:00
.eslintrc.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
.gitignore WIP: Feature/acceptance tests 2018-06-12 11:24:35 +01:00
.nvmrc UI V2 (#4086) 2018-05-10 19:52:53 +01:00
.prettierrc UI V2 (#4086) 2018-05-10 19:52:53 +01:00
.watchmanconfig UI V2 (#4086) 2018-05-10 19:52:53 +01:00
GNUmakefile Move testing doubles to use data embedded in the HTML vs HTTP/fetch 2018-07-02 19:02:16 +01:00
README.md UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00
ember-cli-build.js ui: Adds multi syntax linting to the code editor (#4814) 2018-10-19 17:36:38 +01:00
package.json ui: Some trivial test additions, support env var passing of port numbers (#4728) 2018-10-26 17:50:43 +01:00
testem.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
yarn.lock ui: Some trivial test additions, support env var passing of port numbers (#4728) 2018-10-26 17:50:43 +01:00

README.md

consul-ui

Prerequisites

You will need the following things properly installed on your computer.

Installation

  • git clone https://github.com/hashicorp/consul.git this repository
  • cd ui-v2
  • yarn install

Running / Development

The source code comes with a small server 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-api or yarn start:api (this starts a Consul API double running on http://localhost:3000)
  • make start or yarn start to start the ember app that connects to the above API double
  • 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.

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 or yarn run test
  • make test-view or yarn run test:view to view the tests running in Chrome