* check for model in the edit form before rolling back
* make sure namespace service name is consistent in the auth service
* actually tell it what service to inject
* do not swallow ControlGroupErrors when viewing or editing kvv2 secrets
* test kv v2 control group workflow
* do not manually clearModelCache when logging out since this already happens when leaving the logout route
* remove pauseTest
* update comments
* wip - looking into why restricted user can see the control group protected secret after it has already been unwrapped once
* strip version from query params so we can unwrap a secret after it is authorized
* use attachCapabilities instead of lazyCapabilities to ensure models are cleaned up properly
* remove comment
* make ControlGroupError extend AdapterError
* fix broken redirect_to test
* one day i will remember to remove my debugger statements; today is not that day
* no need to check for a ControlGroupError since it extends an AdapterError
* see if using EmberError instead of AdapterError fixes the browserstack tests
* Revert "see if using EmberError instead of AdapterError fixes the browserstack tests"
This reverts commit 14ddd67cacbf1ccecb8cc2d1f59a2c273866da72.
* default to token auth method
* pass in selectedValue to the AuthForm
* adjust when and if tasks are called so there's no race condition with wrapped_token query param
* add some tests for wrapped_token
* adjust redirect_to behavior so that it also works with the logout route and the wrapped_token query param
* fix linting
* add initial Confirm component to secrets list page
* use ember-wormholes to render confirmation message
* use maybe-in-element instead of ember-wormhole
* hide overlay initially
* animate confirm overlay left and right on click
* hide overlay in the DOM to properly set height
* adjust height when showing/hiding confirm-overlay
* disable confirmation buttons until trigger has been rendered
* adjust height of confirm-wrapper instead of confirm
* move Confirm/ to core
* only add style attribute when a height property exists
* fix indentation
* wip - use new Confirm inside status menu
* add Confirm to Storybook
* ensure confirm links have proper styling in Storybook and outside popup-menu
* fix height transition
* disable no-inline-styles
* add test selector
* remove comment
* consolidate Message into Trigger to make Confirm easier to use
* use new Trigger API in status menu
* remove height transition
* fix binding inline style warning
* rename confirmMessage to message
* update Confirm for Storybook
* fix indentation
* do not pass in onCancel from outer template because it is static
* add jsdoc comments to Trigger
* wip - add trigger and confirm to storybook
* fix status menu styling
* fix styling of confirm stories
* use new Confirm on secrets engine list
* use bulma speed variable
* fix indentation
* re-renable eslint no-inline-styles
* showConfirm when rendered trigger matches id
* fix background color on namespace picker
* do not expose onTrigger
* Revert "re-renable eslint no-inline-styles"
This reverts commit c7b2a9097f177a2876afaaec6020f73b07bad3c7.
* rename Confirm Trigger to Message
* add tests
* update JSDocs
* focus trigger after cancelling the confirm message
* update Confirm JSDocs
* differentiate between ConfirmAction and Confirm
* add Message to Storybook
* re-enable eslint import/extensions
* update confirmButtonText to Revoke token
* remove linebreak and extra whitespace
* fix typo
* add loading to empty button
* fix more typos
* only show Message contents when showConfirm is true
* no need to disable the confirm buttons since they only render in the DOM when showConfirm is true
* use Confirm to delete aws roles
* use Confirm to delete pki roles
* use Confirm to delete ssh roles
* add Confirm to entity alias page
* fix confirm button text on Revoke token in status menu
* ensure you can use tab to revoke a token from status menu
* reset the open trigger after the confirm has been confirmed
* use Confirm on identity list pages
* fix Disable engine confirmation text
* use <PopupMenu /> angle brack syntax
* use Confirm on policies list page
* use Confirm for namespaces
* use Confirm for kmip scopes
* use Confirm for deleting kmip roles
* use Confirm for revoking KMIP credentials
* fix Revoke token triggerText
* be more specific about node version, and specify a yarn version
* update ember, ember-cli, ember-data, ember-data-model-fragments
* use router handlers to access transition information
* fix shadowing of component helper
* update ivy-codemirror, ember-cli-inject-live-reload
* remove custom router service
* don't use transition.queryParams
* update ember-cli-deprecation-workflow
* refactor kv v1 to use 'path' instead of 'id' on creation
* fix auth-jwt-test and toolbar-link-test
* update ember composable helpers
* remove Ember.copy from test file
* no more deprecations in the workflow
* fix more secret tests
* fix remaining failed tests
* move select component to core because it's used by ttl-picker
* generate new model class for each test instead of reusing an existing one
* fix selectors on kmip tests
* refactor how control groups construct urls from the new transition objects
* add router service override back in, and have it be evented so that we can trigger router events on it
* move stories and markdown files to core if the component lives in core
* update ember-cli, ember-cli-babel, ember-auto-import
* update base64js, date-fns, deepmerge, codemirror, broccoli-asset-rev
* update linting rules
* fix test selectors
* update ember-api-actions, ember-concurrency, ember-load-initializers, escape-string-regexp, normalize.css, prettier-eslint-cli, jsdoc-to-markdown
* remove test-results dir
* update base64js, ember-cli-clipboard, ember-cli-sass, ember-cli-string-helpers, ember-cli-template-lint, ember-cli-uglify, ember-link-action
* fix linting
* run yarn install without restoring from cache
* refactor how tests are run and handle the vault server subprocess
* update makefile for new test task names
* update circle config to use the new yarn task
* fix writing the seal keys when starting the dev server
* remove optional deps from the lockfile
* don't ignore-optional on yarn install
* remove errant console.log
* update ember-basic-dropdown-hover, jsonlint, yargs-parser
* update ember-cli-flash
* add back optionalDeps
* update @babel/core@7.5.5, ember-basic-dropdown@1.1.3, eslint-plugin-ember@6.8.2
* update storybook to the latest release
* add a babel config with targets so that the ember babel plugin works properly
* update ember-resolver, move ember-cli-storybook to devDependencies
* revert normalize.css upgrade
* silence fetchadapter warning for now
* exclude 3rd party array helper now that ember includes one
* fix switch and entity lookup styling
* only add -root suffix if it's not in versions mode
* make sure drop always has an array on the aws role form
* fix labels like we did with the backport
* update eslintignore
* update the yarn version in the docker build file
* update eslint ignore
* fix switch css
* allow breadcrumbs container to grow if it's overflowed so that it's still usable
* close the dropdowns on destructive actions that cause a route refresh
* use new attachCapabilities for context menus on auth methods to get rid of an error
* add redirect_to query param
* alias auth controller state to vault controller where the query param is defined
* capture the current url before redirecting a user to auth if they're being redirected
* consume and reset the redirectTo query param when authenticating
* make sure that the current url when logging out does not get set as the redirect_to query param
* add unit tests for the mixin and make it so that redirects from the root don't end up in redirect_to
* acceptance tests for redirect
* add shell quote
* use shell quote's parse method to properly escape strings entered in the web cli
* add and update tests for the web CLI
* fix linting and skip test for ' in a path
* skip the correct test
* reset namespace cache when a user logs out
* fix issue where if you log in to a namespace with an initial /, nested namespaces would not show up in the navigation
* set an empty list of namespaces instead of ignoring error
* add tests for namespace bugs
* use this consistently in template
* add SelectDropdown
* use SelectDropdown instead of HttpRequestsDropdown
* use html selector instead of class name
* ensure SelectDropdown still works when rendered inside a Toolbar
* add tests
* remove old HttpRequests component
* make SelectDropdown example easier to read in Storybook
* add isFullwidth prop
* add SelectDropbown inside a Toolbar story
* fix tests
* remove actions block and call this.onChange directly
* replace dropdownLabel with label
* rename SelectDropdown to SelecT
* add test for onChange
* remove selectedItem prop since we don't need it
* make Select accept options as an array of strings or objects
* Revert "remove selectedItem prop since we don't need it"
This reverts commit 7278516de87bb1df60482edb005137252819931e.
* use Select inside TtlPicker
* remove debugger
* use a test selector
* fix pki test selectors
* improve storybook docs
* fix selected value in ttl picker
* ensure httprequests dropdown updates the selected item
* ensure select dropdown correctly matches selectedItem
* rename selectedItem to selectedValue
* remove debugger lol
* update selectedItem test
* add valueAttribute and labelAttribute to Storybook knobs
* udpate jsdocs
* remove old httprequestsdropdown component
* add note that onChange will receive value of select
* use Select inside AuthForm
* use correct test selector
* always use ?force for kmip scope delete
* update the delete message when deleting a scope
* support disabling and not showing help text for checkboxes
* group TLS fields and render new allowed operations widget
* add operation-field-display component for kmip roles
* use operation-field-display component
* switch glyph for false value in info-table-row
* divvy up roles and tls
* fix JSDoc - showHelpText defaults to true
* fix tests and linting
* rename vars in operation-field-display component
* make the action name clearer re: what it's actually doing
* align the allowed-ops header
* show all operations as checked if you check to allow all
* ensure dropdown updates selected item
* ensure no duplicate ticks
* handle case where counters are Dates instead of strings so bar chart filters in Storybook
* 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
* 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
* 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