open-vault/ui
Matthew Irish 21af204683
UI namespaces (#5119)
* add namespace sidebar item

* depend on ember-inflector directly

* list-view and list-item components

* fill out components and render empty namespaces page

* list namespaces in access

* add menu contextual component to list item

* popup contextual component

* full crud for namespaces

* add namespaces service and picker component

* split application and vault.cluster templates and controllers, add namespace query param, add namespace-picker to vault.namespace template

* remove usage of href-to

* remove ember-href-to from deps

* add ember-responsive

* start styling the picker and link to appropriate namespaces, use ember-responsive to render picker in different places based on the breakpoint

* get query param working and save ns to authdata when authenticating, feed through ns in application adapter

* move to observer on the controller for setting state on the service

* set state in the beforeModel hook and clear the ember data model cache

* nav to secrets on change and make error handling more resilient utilizing the method that atlas does to eagerly update URLs

* add a list of sys endpoints in a helper

* hide header elements if not in the root namespace

* debounce namespace input on auth, fix 404 for auth method fetch, move auth method fetch to a task on the auth-form component and refretch on namespace change

* fix display of supported engines and exclusion of sys and identity engines

* don't fetch replication status if you're in a non-root namespace

* hide seal sub-menu if not in the root namespace

* don't autocomplete auth form inputs

* always send some requests to the root namespace

* use methodType and engineType instead of type in case there it is ns_ prefixed

* use sys/internal/ui/namespaces to fetch the list in the dropdown

* don't use model for namespace picker and always make the request to the token namespace

* fix header handling for fetch calls

* use namespace-reminder component on creation and edit forms throughout the application

* add namespace-reminder to the console

* add flat

* add deepmerge for creating the tree in the menu

* delayed rendering for animation timing

* design and code feedback on the first round

* white text in the namespace picker

* fix namespace picker issues with root keys

* separate path-to-tree

* add tests for path-to-tree util

* hide picker if you're in the root ns and you can't access other namespaces

* show error message if you enter invalid characters for namespace path

* return a different model if we dont have the namespaces feature and show upgrade page

* if a token has a namespace_path, use that as the root user namespace and transition them there on login

* use token namespace for user, but use specified namespace to log in

* always renew tokens in the token namespace

* fix edition-badge test
2018-08-16 12:48:24 -05:00
..
app UI namespaces (#5119) 2018-08-16 12:48:24 -05:00
config UI namespaces (#5119) 2018-08-16 12:48:24 -05:00
lib UI - upgrading generic secret engines to v2 format (#4750) 2018-06-13 23:06:19 -05:00
mirage Moving UI assets to OSS 2018-04-03 09:16:57 -05:00
public Moving UI assets to OSS 2018-04-03 09:16:57 -05:00
scripts UI - upgrading generic secret engines to v2 format (#4750) 2018-06-13 23:06:19 -05:00
tests UI namespaces (#5119) 2018-08-16 12:48:24 -05:00
vendor UI: ember-auto-import (#4933) 2018-07-18 09:13:39 -05:00
.editorconfig Moving UI assets to OSS 2018-04-03 09:16:57 -05:00
.ember-cli Moving UI assets to OSS 2018-04-03 09:16:57 -05:00
.eslintrc.js UI: ember-auto-import (#4933) 2018-07-18 09:13:39 -05:00
.gitignore Moving UI assets to OSS 2018-04-03 09:16:57 -05:00
.travis.yml Moving UI assets to OSS 2018-04-03 09:16:57 -05:00
.watchmanconfig Moving UI assets to OSS 2018-04-03 09:16:57 -05:00
ember-cli-build.js UI: ember-auto-import (#4933) 2018-07-18 09:13:39 -05:00
package.json UI namespaces (#5119) 2018-08-16 12:48:24 -05:00
README.md update the readme to be more useful for UI development (#4399) 2018-04-19 16:08:41 -05:00
testem.js Skip flakey UI test (#4762) 2018-06-14 09:43:38 -04:00
yarn.lock UI namespaces (#5119) 2018-08-16 12:48:24 -05:00

vault

This README outlines the details of collaborating on this Ember application. A short introduction of this app could easily go here.

Prerequisites

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

Running / Development

To get all of the JavaScript dependencies installed, run this in the ui directory:

yarn && bower install

If you want to run Vault UI and proxy back to a Vault server running on the default port, 8200, run the following in the ui directory:

  • yarn run start

This will start an Ember CLI server that proxies requests to port 8200, and enable live rebuilding of the application as you change the UI application code. Visit your app at http://localhost:4200.

If your Vault server is running on a different port you can use the long-form version of the npm script:

ember server --proxy=http://localhost:PORT

Code Generators

Make use of the many generators for code, try ember help generate for more details

Running Tests

Running tests will spin up a Vault dev server on port 9200 via a pretest script that testem (the test runner) executes. All of the acceptance tests then run, proxing requests back to that server.

  • yarn run test-oss
  • yarn run test-oss -s to keep the test server running after the initial run.
  • yarn run test -f="policies" to filter the tests that are run. -f gets passed into QUnit's filter config

Building Vault UI into a Vault Binary

We use go-bindata-assetfs to build the static assets of the Ember application into a Vault binary.

This can be done by running these commands from the root directory run: make static-dist make dev-ui

This will result in a Vault binary that has the UI built-in - though in a non-dev setup it will still need to be enabled via the ui config or setting VAULT_UI environment variable.