* ensure dropdown updates selected item
* ensure no duplicate ticks
* handle case where counters are Dates instead of strings so bar chart filters in Storybook
* switch to dynamic imports so that bundling doesn't include swagger-ui-dist in its vendor file
* remove ember-ajax
* delete comment
* update comment about lazy loading in the engine index.js
* init dropdown
* add dropdown to storybook
* move http requests components into container
* add event handler for selecting new time window
* no need for this. in the template
* filter bar chart and table
* add bar chart transitions
* handle Last 12 Months in dropdown
* don't use fake data
* start tests
* add jsdoc and notes for storybook
* add container to storybook
* compute filteredCounters when counters change
* move static dropdown options to template
* add tests
* style the dropdown
* use this.elementId
* fix linting errors
* use ember array extensions
* use fillIn instead of page object and make dom assertions consistent
* calculate the correct percent change between months
* use data-test selector instead of id
* show plus or minus next to percent change
* open-api-explorer engine with embedded swagger-ui
* move swagger config to a component, rely directly on swagger-ui
* filter operations by endpoint, hook up filter to query param, add namespace handling
* fix namespace handling
* update ember-engines so that we can app.import in a lazy engine
* use engine's included hook to move swagger-ui to engine-vendor.* files
* show flash message about this being a live vault server
* show a namespace reminder and override some styles from swagger-ui
* switch filter to use includes instead of startsWith
* move flash-message to alert-banner and fix namespace reminder with a block
* adds explore web-cli command to navigate to the api-explorer engine
* allow passing a preformatted string to flash messages
* add multi-line flash-message to api explorer
* invert control and trigger events on react app so we can control the layout more and use our components
* tweak styling some more and adjust message on the flash
* change web cli command from 'explore' to 'api'
* shorten namespace warning
* fix console
* fix comments
* add menu-loader component to show menu loading button when the model relationship isPending
* list what keys we've got in api-path error
* fix spacing issue on error flash
* add an action on list-controller that bubbles to the list-route mixin to refresh the route
* empty store when creating scopes
* don't delete _requestQuery in the loop, do it after
* add scope deletion from the scope list
* add deleteRecord to kmip adapters
* add model-wrap component
* delete role from detail page and list
* add revoke credentials functionality
* fix comment
* treat all operations fields specially on kmip roles
* adjust kmip role edit form for new fields
* fix api-path test
* update document blocks for menu-loader and model-wrap components
* lay groundwork for application serializer to setup capabilities relationships
* add api path util and tests, and attach-capabilites fn
* make attach-capabilities work with array responses, add tests
* move download-button and toolbar-download-button to core addon
* add ca model and adapter and show CA on the engine configuration page
* add other side of model relationship for kmip ca<->config
* initialize tooltip
* style tooltip
* show date in tooltip
* show tooltip on hover
* style tooltip
* add hover padding for when bar is very short
* add tooltip test and format tooltip date
* revert to using real data
* update comment about binding the tooltip to shadowBars
* remove d3array
* use double colons for pseudo elements
* use elementId in bars-container id name to prevent clashing
* use Object.freeze to eliminate linting error
* extend edit form with a custom kmip role form
* adjust model fields and use new kmip role edit form
* customize serialize adapter hook for kmip/role
* refresh list routes in the list mixin
* style up kmip role edit form
* return a promise from preSave so that the queue helper waits to call save
* add serialize tests for the kmip/role adapter
* rename component to edit-form-kmip-role
* add tests for edit-form-kmip-role
* add some clarifying comments
* make input more realistic in tests
* remove delete toolbar
* add kmip engine
* adjust where kmip engine is mounted and sketch out routes
* add secret mount path service to share params to engines
* move list-controller and list-route mixins to core addon and adjust imports
* properly link kmip secrets from the secrets list page
* tweak routes and add list controllers
* stub out some models and adapters
* fix mixin exports
* move a bunch of components into the core addon
* use new empty yield in list-view in the namespace template
* scopes list using list-view and list-item components
* simplify and flatten routes, templates for all of the list pages
* role show route and template and scope create template
* add ember-router-helpers
* add more packages to the dependencies of the core addon
* add field-group-show component for listing fields from a model
* move more components to the shared addon
* make configure and configuration routes work and save a generated model
* save and list scopes
* role create, list, read
* list credentials properly
* move allowed attributes to field group
* show allowed operations on role details page
* add kmip logo to mount secrets engine list page
* add role edit page
* show all model attributes on role show page
* enable role edit
* fix newFields error by creating open api role model on the role list route
* only show selected fields on role edit page
* do not send scope and backend attrs to api
* move path-or-array to core addon
* move string-list component to core addon
* remove extra top border when there is only one field group
* add icons for all of the list pages
* update kmip config model so defaultValue doesn't error
* generate credentials
* credential create and show
* only show kmip when feature is enabled
* fix saving of TTL fields generated from Open API
* move masked-input and list-pagination components to core addon
* add param on edit form to allow for calling onSave after render happens
* polish credential show page and redirect there after generating credentials
* add externalLink for kmip engine
* add kmip-breadcrumb component
* use kmip-breadcrumb component
* add linkPrefix param to linked-block component to allow for routing programmatically inside an engine
* redirect to the right place when enabling kmip
* fix linting
* review feedback
* update signature for path-help usage
* fix ttl field expansion test
* remove role filed from role form, fix generate redirect
* remove field-group-show because it's in the core addon
* remove bottom rule from show pages
* fix Max TTL displayAttrs for ssh role
* update edit-form to take fields or attrs
* fix linting
* remove listenAddrs and set default val on ttl if a val is passed in
* add no-jquery rule and move event listeners to ember-concurrency tasks
* remove unnecessary onchange and handleKeyDown actions
* add element.closest polyfill and convert linked-block to use native dom apis
* update pretender, fetch, page-object, add optional-features, remove ember/jquery
* turn off jquery inclusion
* remove jQuery.isPlainObject usage
* violatedDirective isn't always formatted the same
* use fetch and the ember-fetch adapter mixin
* move to fetch and lowercase headers for pretender
* display non-ember-data errors
* use new async fn test style and lowercase headers in auth service test
* setContext is not necessary with the new style tests and ember-cli-page-object - it actually triggers jquery usage
* update ember-fetch, ember-cli-pretender
* wait for permissions check
* lowercase header name in auth test
* refactor transit tests to one test per key type
* simplify pollCluster helper
* stop flakey tests by prefering the native fetch
* avoid uncaught TransitionAborted error by navigating directly to unseal
* unset model on controller after unloading it because controllers are singletons
* update yarn.lock
* Add http request volume table (#6765)
* init http metrics page
* remove flex-table-column
* add http requests table
* calculate percent change between each counter
* start percent change tests
* style request table
* show percent more/less glyph
* add percent more less tests
* add inline alert about recorded metrics
* make arrows diagonal
* remove conditional inside countersWithChange
* add better error msg
* use tagName and wrapping element a la glimmer components
* extend ClusterRouteBase so auth and seal checks happen
* make table accessible
* remove curlies
* add HttpRequestsTable to storybook
* make table accessible
* use qunit dom for better assertions
* remove EmptyState since we will never have 0 requests
* ensure counters is set in test context
* Http request volume/add barchart (#6814)
* Add http request volume table (#6765)
* init http metrics page
* remove flex-table-column
* add http requests table
* calculate percent change between each counter
* start percent change tests
* style request table
* show percent more/less glyph
* add percent more less tests
* add inline alert about recorded metrics
* make arrows diagonal
* remove conditional inside countersWithChange
* add better error msg
* use tagName and wrapping element a la glimmer components
* extend ClusterRouteBase so auth and seal checks happen
* make table accessible
* remove curlies
* add HttpRequestsTable to storybook
* make table accessible
* use qunit dom for better assertions
* remove EmptyState since we will never have 0 requests
* ensure counters is set in test context
* add http-requests-bar-chart
* add HttpRequestsBarChart tests
* add HttpRequestsBarChart to Storybook
* format total number of requests according to locale
* do not show extra minus sign when percent change is negative
* add link to request metrics in status bar menu
* only show bar chart if we have data for more than 1 month
* make ticks lighter
* ensure charts show data for correct month
* make example counters response look like the adapter response instead of the raw api response
* ensure ui shows the same utc date as the api response
* add format-utc tests
* downgrade to d3 v4 to support ie11
* add gridlines
* move dasharray to css
* use scheduleOnce instead of debounce to prevent multiple re-renders
* add key function to bars
* add exit case when data is no longer in parsedCounters
* fix timestamp in table test
* fix timestamps
* use utcParse and fallback to isoParse for non-UTC dates
* fix bar chart tests
* ci: break config into separate files
* Untangle githooks
* githooks: fix whitespace
* .hooks/pre-commit: add ui -> lint-staged check
- We no longer require dependency on husky with this change.
* ui: remove husky dependency and config
- The previous commit obviates the need for it.
- We will now have to manage these hooks by hand, but this removes
the conflict between husky-installed hooks and those in the .hooks dir.
* ui: update yarn.lock with husky removed
* .hooks/pre-commit: always use subshell + docs
- Always use subshell means we consistently exit from the
same place which feels less complex.
- Docs are necessary for horrible bash like this I think...
* Makefile: remove old husky githooks
- Husky has installed a handler for every single git hook.
- This causes warnings on every git operation.
- Eventually we can remove this, but better not to confuse
people with these messages for now.
* ci: fix go build tags
* Makefile: improve compatibility of rm call
- Looks like the xargs in Travis does something different to the one
on my mac, this more verbose call should be safe everywhere.
* ci: fix make target names
* ci: fix test-ui invocation
* Makefile: simplify husky hook cleanup
* ci: more focussed readme
* use ember-power-select-with-create instead of ember-power-select
* add custom Add message to clarify whether you need a name or ID
* add search-select to storybook
* add wormhole div for ember-basic-dropdown
* add search-select to storybook
* make sure knobs are working
* remove unused code
* ci: make ember-ci-test (browserstack) VLTES-28
* Update .circleci/config.yml
Co-Authored-By: Josh Freda <jfreda@users.noreply.github.com>
* Update .circleci/config.yml
Co-Authored-By: Josh Freda <jfreda@users.noreply.github.com>
* ci: rename test-ember -> test-ui-browserstack
* Makefile: ember-ci-test -> test-ui-browserstack
- Use the same name for this test everywhere to reduce cognitive load.
* browserstack: exit non-zero on failure to connect
* .travis.yml: ember-ci-test -> test-ui-browserstack
* browserstack: add vault bin to the path
* Makefile: browserstack: fail early w/clear msgs
This might save someone time later. The same checks could be applied
elsewhere too trivially.
* upgrade yargs-parser for better quote handling
* remove encoding pre&post parse, and remove wrapping quotes when pushing to data array
* add test for spaces and strings
* base64 encode policy strings in tests where we're using them with string interpolation
* improve regex to only remove wrapping single and double quotes
* don't support quotes in paths in the web cli
* add browserstack
* check for data before removing root token
* fix root prefix and select by attributes for ie11
* use objectAt for ie11
* use blobs instead of files for ie11
* manually round cirucmference for ie11
* skip csp test on ie11
* skip tests in ie11
* include polyfill for CI
* remove on exit hooks
* update which browserstack tests are run
* remove ie check since we are not running these tests in ie
* remove ie check since we are not running these tests in ie
* add ember-cli-deprecation-workflow
* this._router in routes to quiet deprecation
* mark style bindings as htmlSafe strings
* simplify authenticate service hook with async fn
* don't serialize aliases relationship on entities
* update ember-test-selectors so we can use supportsDataTestProperties
* allow duplicate flash messages because we don't want a log warning
* update ember-concurrency for better error message
* use ember-qunit instead of ember-cli-qunit
* update ember-cli-page-object so we're not using a beta lol
* ignore test-helper jquery context warning
* fix race condition in pgp-file test by using ember-concurrency task and test waiter
* await cli commands
* fail tests if async leakage is detected
* update auth-jwt component and tests to be simpler
* fix linting
* review feedback
* wait for all hash promises to be settled
* skeleton tests with policies for write without read
* adjust what gets returned from the model hook
* refactor secret-edit model hook to use async/await
* return a stub version if we can't read secret data
* return a stub model for v1 kv
* tweak tests to make re-runs friendlier
* allow write without CAS if both v2 models cannot be read
* show warnings on edit pages for different write without read scenarios
* add no read empty states on secret show pages
* review feedback
* make message language consistent
* use version models from metadata if we can read it
* refresh route on delete / undelete / destroy
* hide controls in the toolbar when you can't read the secret data
* show deleted / destroyed messaging over cannot read messaging on the show page
* fix test with model stub
* refactor large model hook into several functions
* comment clarifications
* add ember-concurrency-test-waiter
* use withTestWaiter modifier in various parts of the application
* more withTestWaiter
* await instead of return for a few helpers
* update ember-cli-flash
* run ember generate ember-cli-flash
* remove withFlash helper
* fix typo and replication tests
* add storybook
* add storybook files
* add ToggleButton and AlertBanner stories
* add knobs addon
* add notes addon
* add ToggleButton and AlertsBanner notes
* move panel to right
* add ICon
* create story blueprint
* add header to blueprint
* upgrade to storybook 5.0.1
* add confirm-action stories
* move addon panel to bottom
* update ConfirmAction
* add jsdoc comments to alert banner component
* add AlertInline
* set showPanel to true in blueprint
* include newly generated markdown for stories
* adjust code example for toggle button
* add json-to-markdown to package.json
* update AuthForm
* add Storybook readme
* add AlertPopup
* add story markdown custom template
* make storybook dependencies optional
* center all stories
* use message-types helper to dynamically render alerts
* hide panel
* nest alert stories
* move icons into table
* separate homelink into multiple stories
* add homelink with nav example
* remove see links from alert-banner
* add script to autogenerate markdown from component and add it to stories
* add viewport addon and remove centered addon
* update README to include markdown generation
* remove @see links from jsdoc comments
* update README to include jsdoc example
* update alert banner md
* get rid of trailing ######
* update jsdoc and regenerate notes files
* update i-con md
* Update ui/scripts/gen-story-md.js
Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>
* Update ui/scripts/gen-story-md.js
Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>
* add storybook docs to vault ui readme
* add jsdoc comments to component blueprint, automatically import md file in story blueprint
* add template template to component blueprint override
* apply basic theme to storybook
* remove comment
* make sure all stories are using auto generated md
* storybook: show optional props in brackets
* storybook: 🔪 HomeLink
* storybook: show AuthConfigForm stories with knobs
* reset pageFilter when the model changes
* add test selectors for list and show secret pages
* add acceptance test to verify that pageFilter is closed after navigating away from the list page
* only clear on exit
* add description from openAPI as helpText in the models, and add sensitive from x-vault-displaySensitive
* use TypeDurationSecond for TTLs on the GitHub auth method config
* remove empty vals in a loop and add tests
* hold off on changing GH config
* remove isEmpty import
* fix defaultValue
* have jwt auth config generated from OpenAPI response
* support for viewing and enabling an 'oidc' auth type
* finish oidc config and clean up auth config form
* fetch jwt role on render for default paths
* fix tests to expect fetching role on render at default paths
* update label for JWT auth method
* fix tests
This adds a space in the title of the enable secrets engine page. Example: "Enable Google Cloud KMSsecrets engine" should be "Enable Google Cloud KMS secrets engine"
* directly depend on route-recognizer
* add path encode helper using route-recognizer normalizer methods
* encode user-entered paths/ids for places we're not using the built-in ember data buildUrl method
* encode secret link params
* decode params from the url, and encode for linked-block and navigate-input components
* add escape-string-regexp
* use list-controller mixin and escape the string when contructing new Regex objects
* encode paths in the console service
* add acceptance tests for kv secrets
* make encoding in linked-block an attribute, and use it on secret lists
* egp endpoints are enterprise-only, so include 'enterprise' text in the test
* fix routing test and exclude single quote from encoding tests
* encode cli string before tokenizing
* encode auth_path for use with urlFor
* add test for single quote via UI input instead of web cli
* fix default rendering of svg and allow plugins access to mount tune form
* add auth-jwt component
* add callback route, and allow it to be navigated to on load
* add jwt as a supported auth method
* use auth-jwt component and implement intial oidc flow
* allow wrapping un-authed requests
* pass redirect_url and properly redirect with the wrapped token
* popup for login
* center popup window and move to localStorage events for cross window communication because of IE11
* access window via a getter on the auth-form component
* show OIDC provider name on the button
* fetch default role on render of the auth-jwt component
* simplify auth-form template
* style callback page
* refetch auth_url when path changes for auth-jwt component
* fix glimmer error on alias metadata, and add back popup-metadata component
* fix link in metadata page
* add logo-edition component and remove use of partial for logo svg
* render oidc callback template on the loading page if we're going there
* add docs icon and change timeout on the auth form
* move OIDC auth specific things to auth-jwt component
* start to add branded buttons for OIDC providers
* add google button
* finish branded buttons
* update glyph for error messages
* update tests for auth screen not showing tabs, add adapter tests and new auth jwt tests
* start auth-jwt tests
* simplify auth-jwt
* remove negative top margin on AlertInline
* only preventDefault if there's an event
* fill out tests
* sort out some naming
* feedback on templates and styles
* clear error when starting OIDC auth and call for new auth_url
* also allow 'oidc' as the auth method type
* handle namespaces with OIDC auth
* review feedback
* use new getters in popup-metadata
* check for capabilities when finding matching paths
* disable wizard items that user does not have access to
* make hasPermissions accept an array of capabilities
* refactor features-selection
* fix tests
* implement feedback
* add permissions service
* start template helper
* match prefixed paths
* gate sidebar links
* land on first page user has access to
* show nav when user first logs in
* clear paths when user logs out
* add tests
* implement feedback
* show all nav items if no policy is found
* update onboarding wizard
* fix some unrelated tests
* add support for namespaces
* gate wizard
* unstage package and lockfile
* add dot-to-dash helper
* fix context menu on policy page and add test for deletion
* use dot-to-dash where we use confirm component
* fix acceptance test
* don't pass id when using createRecord
* add find nearest ancestor mixin
* re-throw the error if we've deleted something and encounter a 404
* use the with-nav-to-nearest-ancestor mixin
* add some comments
* add acceptance test to verify new behavior
* yield final transition in ec task
* add performanceStandbyCount to license model
* use count to determine if perf standby is an active feature
* rename test file and add tests for new perf standby behavior
* Update ui/app/templates/components/license-info.hbs
* update display language
* turns out sourcemaps are useful
* add test for restricted policy in kv v2
* only include version param on fetch if it's encoded in the id
* rename some vars for clarity and use model.id when persisting a secret
* fix delete attributes on the models
* allow data edit when there's metadata access is disallowed
* add tests for edit with restricted policy
* hide metadata fields if you can't edit them
* centralize page size setting, and default to page size of 5 in dev
* remove size arg when using lazyPaginatedQuery so that the app uses the config default size
* move list-pagination component out of the loop
* update store tests
* remove ember-cli-favicon
* link to png favicon in public folder
* skip some things in the build depending on the env
* update to ember-cli 3.5.0 for broccoli 2, and ember-fetch because it was incompatible with broccoli 2
* update some things the new sass module wasn't happy about
* turn off more things in dev to make the build faster
* bump to the latest ember-cli and move back to node-sass
* remove sass since we're using node-sass
* include polyfill in test as well
* use the OTP that the server provides instead of generating one in the JS client
* fix button styling
* differentiate between OTP and encoded token and encrypted token in the template
* add new codemirror helpers
* adding json helpers to the secret pages
* mark the edit button / link as the edit element instead of the json toggle
* add acceptance tests for JSON editing
* move warning banner out of token-expire-warning and into user menu
* check renewal status every 5s, and resume auto-renew if a user becomes active again
* use a link in the token-expire-warning
* add test for new expiration functionality
* fix license test
* use features helper in license test
* fix import
* use yarn 1.12.1
* remove mirage
* skip some tests for now
* use eslintignore
* logout after auth tests
* use new alert-banner for auth info warning
* add data-test selector back
* move identity back to a button, and style button.link
* make the warning message the right color
* fix shamir test
* review feedback