* wip -- add modal component using ember-wormhole, add static content but still need to enable onClose
* add onClose to modal
* WIP
* add copy and close button
* add copy and close button
* and copy and close button to modal
* use modal on each key action page
* make text copied text more generic
* update datakey textareas to codemirror
* only show user input on encrypt and decrypt
* only show user input on all key actions
* separate copy ciphertext, plaintext, and close button on datakey modal
* style ciphertext and plaintext as code
* only show separate copy buttons on datakey modal if both outputs are shown
* update modal styling
* style modal
* add descriptions to each key action
* remove conditional from hmac modal since we only ever show hmac output
* add modal for export key action
* make output scroll horizontally with copy button next to it
* make output scroll horizontally with copy button next to it
* escape & in copy and close button, format text output so it scrolls horizontally
* fix formatting of key action descriptions
* Ui/add transit modal tests (#8523)
* Fix tests for updated transit with modals workflow
* WIP // remove box shadow from key actions descriptions
* WIP // flash messages on successful action match mocks
* WIP // remove ciphertext view after datakey created
* WIP // make flash messages when copy & closing less generic, and match copy flash message
* WIP // Optionally show close button on modal, with tests
* remove unused deps from modal test
* WIP // Fix verify modal styling and content
* Add modal for sign action
* Fix output of non-wrapped export key
* Fix output of non-wrapped export key
* Add description to JSDOCS about modal component
* Add help text about plaintext encoded in base64
* add flash msgs for datakey and export
* flash success msg when closing modal on export page
* clarify sign success msg
* address PR feedback
* add indentation for export key json
* Fix modal tests pt 2
* Remove decode after decrypt in transit tests
Co-authored-by: Chelsea Shaw <chelshaw.dev@gmail.com>
* RSA3072 implementation in transit secrets engine
* moved new KeyType at the end of the list
So already stored keys still work properly
Co-authored-by: Jim Kalafut <jim@kalafut.net>
* add placeholder for Key actions tab
* navigate to key items by default
* add placeholder key actions list page
* remove extra whitespace from component blueprint
* add SelectableCard
* move key actions from side nav to top nav
* make tabs active
* remove toolbar from key actions pages
* add divs to link to each key action on key actions page
* move preview-head to gitignore
* use selectable card css
* remove key actions
* use css grid
* update selectable card styling
* update Key Actions page header
* make cards clickable
* refactor supportedActions to include glyph
* make header black on hover
* rename selectable-card transit card and update styling
* add description and glyph for other key types
* use human readable titles for key action names
* update tests; still need to fix failing ones
* use datakey instead of data-key
* fix some failing tests
* fix more tests
* remove extra chevron from rotate button
* remove whitespace
* remove pauseTest
* use rename export to export key in the template instead of the model
* fix last few failing tests
* WIP
* link to key actions page by default
* test for transit action title
* only add query params when viewing a transit secret
* update structure icons
* add missing structure icons
* resolve merge conflicts from rebase
* use filter and map for supported actions
* only add query params for transit secrets
* thread backend through requests so that the transit-key model has it on list responses
* add tests for transit-key menu and serializer handling of backend
* remove changes to preview-head
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
* remove default for authMethod as it's preventing the other auth methods from being selected as default when they are marked as List method when unauthenticated.
* fix test
* fix test
* fix typo
* fix missed query params
* fix missing backend.type, and adjust formatting per prettier requirements
* enable auth method item configuration in go code
* properly parse and list generated items
* make sure we only set name on attrs if a label comes from openAPI
* correctly construct paths object for method index route
* set sensitive property on password for userpass
* remove debugger statements
* pass method model to list route template to use paths on model for tabs
* update tab generation in generated item list, undo enabling userpass users
* enable openapi generated itams for certs and userpass, update ldap to no longer have action on list endpoint
* add editType to DisplayAttributes, pull tokenutil fields into field group
* show sensitive message for sensitive fields displayed in fieldGroupShow component
* grab sensitive and editType fields from displayAttrs in openapi-to-attrs util
* make sure we don't ask for paths for secret backends since that isn't setup yet
* fix styling of sensitive text for fieldGroupShow component
* update openapi-to-attrs util test to no longer include label by default, change debugger to console.err in path-help, remove dynamic ui auth methods from tab count test
* properly log errors to the console
* capitalize This value is sensitive...
* get rid of extra padding on bottom of fieldgroupshow
* make auth methods clickable and use new confirm ux
* Update sdk/framework/path.go
Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com>
* Update sdk/framework/path.go
Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com>
* add whitespace
* return intErr instead of err
* uncomment out helpUrl because we need it
* remove extra box class
* use const instead of let
* remove extra conditional since we already split the pathName later on
* ensure we request the correct url when listing generated items
* use const
* link to list and show pages
* remove dead code
* show nested item name instead of id
* add comments
* show tooltip for text-file inputs
* fix storybook
* remove extra filter
* add TODOs
* add comments
* comment out unused variables but leave them in function signature
* only link to auth methods that can be fully managed in the ui
* clean up comments
* only render tooltip if there is helpText
* rename id authMethodPath
* remove optionsForQuery since we don't need it
* add indentation
* standardize ConfirmMessage and show model name instead of id when editing
* standardize ConfirmMessage and show model name instead of id when editing
* add comments
* post to the correct updateUrl so we can edit users and groups
* use pop instead of slice
* add TODO for finding a better way to store ids
* ensure ids are handled the same way on list and show pages; fix editing and deleting
* add comment about difference between list and show urls
* use model.id instead of name since we do not need it
* remove dead code
* ensure list pages have page headers
* standardize using authMethodPath instead of method and remove dead code
* i love indentation
* remove more dead code
* use new Confirm
* show correct flash message when deleting an item
* update flash message for creating and updating
* use plus icon for creating group/user instead of an arrow
* 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
* 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
* 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
* change the story blueprint so that using -ir will generate a story in the expected place for in-repo addons and engines
* update gen-story-md script to do output md to stories folder inside of in-repo addons and engines
* update storybook config to look for story files in /lib
* add story for list-view component
* add list view page object
* add kmip page objects and tests
* update storybook commands in the README
* split tests up more
* update var name in storybook
* 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
* 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
* 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
* 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
* 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
* 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
* 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