* Show JSON editor by default if secret data is complex, but do not disable JSON toggle
* Add text object warning to kv object editor
* a11y fix: do not disable show diff toggle
* test and language cleanup
* update language
* Update tests for expected behavior
* language!
* Add changelog
* add deletion in progress banner
* update kv details banner to inline alert
* add logic for purge error
* add params to mirage
* comment in purge_initiated_at for mirage
* update flash message for deleting
* add test for banner
* transition to destination associations after delete
* redirect to details after delete instead of list
* remove attrs from serializer
* update mirage handler to mock purge_initiated_at
* remove trailing space from inline link
* add validation for white space
* remove icon for inline link
* clear banner if no mount selected
* unobfuscate key_vaul_uri
* add margin below buttons
* add tst for sync banner
* refactor sync form, checking for mountPath was unreliable...bad idea Claire
* Add obfuscateData method and tests
* add obscure option to JsonEditor + tests
* Enable obscured values for KV v2 details when secret is advanced
* coverage on kv acceptance test
* Add changelog
* Add util for determining whether secret data is advanced
* Add test coverage for bug
* use non-dumb logic for detecting advanced object
* Add changelog
* Add header
* Move util to core
* Add escaped newline to test coverage
* headers again *eyeroll*
* Ember Engine Setup for Secrets Sync (#23653)
* ember engine setup for secrets sync
* Update ui/lib/sync/addon/routes.js
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* Sync Mirage Setup (#23683)
* adds mirage setup for sync endpoints
* updates secret_name default in sync-association mirage factory
* UI Secrets Sync: Ember data sync destinations (#23674)
* add models
* adapters
* base model adapter
* update test response
* add sync destinations helper
* finish renaming base destination model/adapter
* add comment
* add serializer
* use normalizeItems instead
* destination serializer test
* add destination find method;
* add conditional operand
* UI Secrets Sync: Overview landing page (#23696)
* add models
* adapters
* base model adapter
* update test response
* add sync destinations helper
* finish renaming base destination model/adapter
* add comment
* add serializer
* doc-link helper
* add version service
* landing and overview component
* overview page
* add tests
* UI Secrets Sync: Destinations adapter add LIST (#23716)
* add models
* adapters
* base model adapter
* update test response
* add sync destinations helper
* finish renaming base destination model/adapter
* add comment
* add serializer
* doc-link helper
* add version service
* landing and overview component
* overview page
* build out serializer and adapters
* update mirage
* fix merge conflicts
* one more conflict!
* pull transformQueryResponse to separate method in adapter
* move data transforming all to serializer and tests
* add note to paginationd ocs
docs
* conditionally render CTA
* add lazyPaginatedQuery method to destinations route
* remove partial error
* Secrets Sync: Destinations create - select type (#23792)
* add category to destinations
* build select type page
* refactor prompt config situation
* routing for destinations
* update select-type routing
* make card width fixed
* revert CTA routing change, keep shouldRenderOverview
* add header for gif demo to form
* cleanup scope
* more scope cleanup
* add test
* add type selector
* rename components
* rename again
* remove async
* fix tests
* fix select type rename in test
* delete renamed test
* fix import of general selectors
* rename using component syntax
* UI Secrets Sync: Create destination form and route (#23806)
* add model attribute metadata
* add form and save url, remove name and type from serializer
* move checkbox list to form field helper
* add styling to alert inline
* use newly made class
* fix cancel action and cleanup form
* change quotes
* remove checkbox action from form component
* add tests
* address feedback
* add API error test
* use create record method instead
* adapter test for create record
* return from find method if type is undefined
* cleanup test selectors
* secrets sync: refactor sync destinations helper (#23839)
* refactor getter in base destination model
* add getters back to model
* Secrets sync UI: Destination details page (#23842)
* change labels to match params
* add maskedParams to base model
* add details route
* add details view;
* update mirage
* fix secrets sync link;
* delete parent destination route
* add copyright header
* add secrets route
* move sync route outside of secrets/ route
* upate mirage
* export to-label
* finish tests
* make ternary
* rename header tabs
* fix selector in test
* Secrets Sync UI: Cleanup headers + tabs (#23873)
* remove destination header component, add headers/tabs to all routes
* fix header padding
* move tabs + toolbar back into component...
* add copyright header
* add delete modal
* lol revert again
* add extra line after copyright header
* Secrets Sync Destinations List View (#23949)
* adds route and page component for sync destinations list view
* filters by type first for sync destinations
* adds test for store.filterData method
* Update ui/app/services/store.js
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
* updates nav link label for secrets sync
* moves sync destinations types out of app-types
* moves loading-dropdown-option component to core addon and adds to destination list item menu
* change true assertion to deepEqual in sync destinations test
* adds copyright header to sync-destinations type file
* clear store dataset on sync destination create
---------
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
* Sync Destinations Capabilities (#23953)
* adds route and page component for sync destinations list view
* filters by type first for sync destinations
* adds test for store.filterData method
* adds capabilities checks for sync destinations
* removes canList from sync destinations capabilities
* updates sync header tests
* Update ui/tests/integration/components/sync/sync-header-test.js
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* updates sync destination response serialization
* updates sync destination serializer test
* updates sync destinations page test assertions
* fixes mirage sync destinations payload issue
* removes commented out method in sync destination adapter
* fixes inconsistencies with url generation for sync destinations delete
* fixes sync destinations page test
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* Sync Associations Ember Data Setup (#24132)
* adds model, adapter and serializer for sync associations
* updates sync association adapter save methods to use adapterOptions to determine action
* Sync Destination Secrets Route and Page Component (#24155)
* renames sync destination header component and adds tests
* adds destination secrets route and page component
* adds setup-models helper for sync testing
* moves destination details test into subdir
* adds destination secrets page component tests
* adds controller for destination secrets route
* fixes pagination route on destination secrets view
* fixes sync association updated_at assertion based on timezone
* updates kv secret details external route name
* updates usage of old spacing style variable after merge
* use confirm action instead of contextual confirm (old) component (#24189)
* UI Secrets Sync: Adds secret status to kv v2 details page (#24208)
* woops! missed this styling for confirm action swap
* update link to go to destination secrets
* change edit to view secret from destination secrets list
* add synDestination to external routes for kv engine
* add sync status badge component
* export from addon
* splaattributes
* poll sync status for kv secret details and render
* move from controller to component
* update name to new destinationName key
* reorder list view items
* add refresh button
* add mirage data
* change to loading static
* update icons to be sync specific
* change name
* move button and change fetch to concurrency task
* add tests to kv details
* add color assertion
* add copyright header
* small test tweaks
* Update ui/tests/integration/components/sync-status-badge-test.js
* fixes test
---------
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* Sync Secrets to Destination (#24247)
* fixes issue with filter-input debounce and updates to spread attributes for input rather than use args
* adds destination sync page component
* removes unused var in sync component
* adds test for manual mount path input in sync view
* updates mount filtering in destinations sync page to target kv v2
* Secrets Sync Landing Page Images (#24277)
* updates sync landing page to add marketing images
* removes top margin from sync landing-cta
* adds aria-describedby to sync landing images
* UI Secrets Sync: Serialize trailing slash from destination type (#24294)
* remove trailing slash from type in destination LIST response
* update keys in mirage and tests
* Sync Overview (#24340)
* updates landing-cta image to png with matching height
* adds ts definitons for sync adapters
* updates sync adapters and serializers to add methods for fetching overview data
* adds sync associations list handler to mirage and seeds more associations in scenario
* adds table and totals cards to sync overview page
* adds sync overview page component tests
* fixes tests
* changes lastSync key to lastUpdated for sync fetchByDestinations response
* adds emdash as placeholder for lastUpdated null value in secrets by destination table
* updates to handle 0 associations state for destination in overview table
* Secrets Sync UI: Add loading and error substates (#24353)
* add error substate
* add loading substates
* delete loading from secrets route
* Remove is-version Helper (#24388)
* removes is-version helper and injects service into components
* updates sync tests using version service to new API
* adds comment back for tracked property in secret detials page component
* updates sync tests to use common selectors (#24397)
* update capitalization to consistently be titlecase, fix breadcrumb selector
* clears sync associations from store on destination sync page component destroy (#24450)
* KV Suggestion Input (#24447)
* updates filter-input component to conditionally show search icon
* adds kv-suggestion-input component to core addon
* updates destination sync page component to use KvSuggestionInput component
* fixes issue in kv-suggestion-input where a partial search term was not replaced with the selected suggestion value
* updates kv-suggestion-input to retain focus on suggestion click
* fixes test
* updates kv-suggestion-input to conditionally render label component
* adds comments to kv-suggestion-input regarding trigger
* moves alert banner in sync page below button set
* moves inputId from getter to class property on kv-suggestion-input
* Secrets Sync UI: Editing a destination (#24413)
* add form field groups to sync models
* update create-and-edit form to use confirmLeave and enableInput component
* enable input component
* add more stars
* update css comments
* Update ui/app/styles/helper-classes/flexbox-and-grid.scss
* make attrOptions optional
* remove decorator
* add env variables to subtexr
* add subtext to textfile
* fix overviwe transition bug
* remove breadcrumbs to getter
* WIP adapter update
* update mirage response
* add update method with PATCH
* add patch to application adapter
* fix typo
* finish tests
* remove validations because could use environment variables
* use getter and setter in model
* move update record business to serializer
* rest of logic in serializer;
gp
;
gp
* add model validation warnings
* cleanup getters
* pull create/update logic into method for mirage
* add test for validation warning
* update KV copy
* Sync Success Banner (#24491)
* adds success banner to destination sync page
* move submit disabled logic to getter in destination sync page
* adds id and for attributes to kv mount input in sync page
* hides sync success banner on submit
* use Sync secrets everywhere (remove new) (#24494)
* use Sync secrets everywhere (remove new)
* revert test name change
* Sync Destinations List Filter Bug (#24496)
* fixes issues filtering destinations list
* adds test
* fixes Sync now action text alignment in destination secrets list
* UI Secrets sync: Add purge query param to delete endpoint (#24497)
* adds updated_at to mirage set association handler
* adds changelog entry
* add enterprise in parenthesis for changelog
* addres a11y feedback
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
* add getter to metadata model
* add changelog and data model fix
* add test coverage
* add nested create coverage
* Update 24404.txt
* remove from data model
* return to how it was
* upgrade to 3.1.0
* VAULT-22471 upgrade to latest version
* fix other selectors
* fix pki tests
* fix copy dropdown
* rename selectors to be consistent
* replace paddingTop with clas
* use hds alert for AlertInline component
* remve isSmall arg
* add test selector back
* remove mimicRefresh arg
* update assertion for alert inline component
* update string-list
* use alert inline for string-list
* add changelog
* update block instances of alert inline
* remove p tags from test selectors
* minor cleanup
* adds codemod for transforming button element to hds component
* runs button codemod on kmip and kubernetes enginges
* manully updates kuberenetes roles button
* runs button codemod on ldap engine
* manually updates remaining ldap buttons
* updates button codemod to check if all child nodes were included in text arg construction
* runs button codemod on kv engine
* adds comment for future kv button update
* Update ui/lib/kv/addon/components/page/secret/details.hbs
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* updates remaining instance of toolbar-link class on button and adds class name transform to button codemod
* adds display inline override to hds button
* updates hds button display override to inline-flex
* updates ldap account check in button to tertiary
* updates ldap library check out icon to tertiary and adds icon
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* change currentPage to page to be consistent
* replace pagination in listview and always show pagination
* wip
* fix query param issue
* access identity aliases index
* leases done and dusted
* policies and secrets backend
* remove list Pagination
* changelog
* Part 1: Upgrade HDS to 2.9.0 (#22311)
* UI: HDS adoption replace <CopyButton> part 2 (#22356)
* certificate-card.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* scope-form.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* fix tests caused by changing certificate-card. change hds copy button in certificate-card.hbs
* json-editor.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* masked-input.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* fix error with certificate-card.hbs copy button
* fix tests that deal with certificate-card.hbs
* add class to hds copy buttons to maintain similar styling to curent UI
* info-table-row.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* undo change that should instead by merged in from main
* change tooltip copy button to white. cleanup
* add extra tet for oidc scope form. edit css class for the white icon copy button
* fix tests
* UI: HDS adoption replace <CopyButton> part 3 (#22614)
* encrypt.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* decrypt.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* datakey.hbs. replace 6 <CopyButton> with <Hds::Copy::Button>
* rewrap.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* hmac.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* fix typo
* add copy-close class to copy & close buttons
* export.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>. fix styling
* sign.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* fix test caused by changing <pre> tag to <code> in export.hbs
* rename class
* add extra style to class needed for part 4 of copy button replacement
* UI: HDS adoption replace <CopyButton> part 4 (#22749)
* user-menu.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* transit-form-show.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* configure-ssh-secret.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* tool-hash.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* tool-random.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* tool-rewrap.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* tool-unwrap.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* tool-wrap.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* paths.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* code-snippet.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* cleanup css for code-snippet. add comments for getting rid of code-snippet and replacing with <Hds::Copy::Snippet
* change code-snippet copy icon to gray to match original design
* change code-snippet class
* accounts.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* hover-copy-button.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* add.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* show.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* copy-secret-dropdown.hbs: replace 1 <CopyButton> with <Hds::Copy::Button>
* change styling of 'link' copy buttons
* generate-credentials.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* transform-show-transformation.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* sign.hbs: replace 2 <CopyButton> with <Hds::Copy::Button>
* hide some copy buttons' icons and use original flash message
* undo cleanup of scss file so that I can put cleanup all into one PR to be more organized
* update code snippet copy button
* UI: HDS adoption replace <CopyButton> part 5: Cleanup (#22884)
* remove unecessary code-snippet.scssn class
* remove copy classes from masked-input.scss
* remove copy button class from text-file.scss
* uninstall ember-cli-clipboard 0.16.0 since there is no longer structure <CopyButton>
* remove copyright message from code-snippet.scss to avoid merge conflicts with main, where the file is deleted
* replace 2 classes with one
* remove unecessary class from copy button
* cleanup classes
* revert changes to avoid merge conflicts
* remove is-block class
* conditionally render private key
* add more info to comment
* remove HoverCopyButton
* add missing selector
* fix control group padding
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* rename class to transparent background
* remove unused test selectors
* replace transit actions with Copy::Snippet
* replace transfrom code blocks with code snippet component
* revert extra css fiddling
* misc cleanup, unused action
* remove copy & close buttons from transit modals
* remove is- from class naming
* remove hds-copy-button class
* add other grey class
* more small cleanup
* add -top to margin
* add changelog
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* the fix
* working, but work in progress maybe change to another helper, put draft up?
* some fixes and restructing
* change names
* test assert wrong locally, lets see about gh
* initial fix. need to clear out local storage to see it work.
* first draft
* clean up
* test fix
* add test coverage
* pairing to do clean up
* update tests
* move json toggle action to template
* add test for version dropdown problem
* refactor write secret to allow for namespaces
* consolidate transition functions
* refresh model for certain routes
* add destroy assertion
* rename variables
* remove dataset clearing from details component
* add version to query params when transitioning after creating a new version
* add test coverage
* update urls in tests
* add logout method
* use desctructured secret
* remove path
* add clearRecords
* fix assertion
* clear ns just in case
* clear ns just in case