* rename store to pagination, remove store extension
* initial update of service test
* remove superfluous helper
* replace store with pagination service in main app
* update kmip engine syntax
* add pagination to kmip engine
* update to pagination in config-ui engine
* update sync engine to use pagination service
* use pagination service in kv engine
* use pagination service in ldap engine
* use pagination in pki engine
* update renaming clearDataset functions
* link to jira VAULT-31721
* remove comment
* use alias for router injection
* update @router declarations in engine files
* fix remaining pki router imports
* dynamically set router based on owner
* address replication routers
* update markdown docs
* use non-deprecated import for getOwner
* revert out of scope changes
* add transition-to test
* UI: Implement overview page for KV v2 (#28162)
* build json editor patch form
* finish patch component and tests
* add tab to each route
* and path route
* add overview tab to tests
* update overview to use updated_time instead of created_time
* redirect relevant secret.details to secret.index
* compute secretState in component instead of pass as arg
* add capabilities service
* add error handling to fetchSubkeys adapter request
* add overview tabs to test
* add subtext to overview card
* remaining redirects in secret edit
* remove create new version from popup menu
* fix breadcrumbs for overview
* separate adding capabilities service
* add service to kv engine
* Revert "separate adding capabilities service"
This reverts commit bb70b12ab7dbcde0fbd2d4d81768e5c8b1c420cc.
* Revert "add service to kv engine"
This reverts commit bfa880535ef7d529d7610936b2c1aae55673d23f.
* update navigation test
* consistently navigate to secret.index route to be explicit
* finish overview navigation tests
* add copyright header
* update delete tests
* fix nav testrs
* cleanup secret edit redirects
* remove redundant async/awaits
* fix create test
* edge case tests
* secret acceptance tests
* final component tests
* rename kvSecretDetails external route to kvSecretOverview
* add comment
* UI: Add patch route and implement Page::Secret::Patch page component (sidebranch) (#28192)
* add tab to each route
* and path route
* add overview tab to tests
* update overview to use updated_time instead of created_time
* redirect relevant secret.details to secret.index
* compute secretState in component instead of pass as arg
* add capabilities service
* add error handling to fetchSubkeys adapter request
* add patch route and put in page component
* add patch secret action to subkeys card
* fix component name
* add patch capability
* alphabetize computed capabilities
* update links, cleanup selectors
* fix more merge conflict stuff
* add capabilities test
* add models to patch link
* add test for patch route
* rename external route
* add error templates
* make notes about enterprise tests, filter one
* remove errors, transition (redirect) instead
* redirect patch routes
* UI: Move fetching secret data to child route (#28198)
* remove @secret from metadata details
* use metadata model instead of secret in paths page
* put delete back into kv/data adapter
* grant access in control group test
* update metadata route and permissions
* remove secret from parent route, only fetch in details route
* change more permissions to route perms, add tests
* revert overview redirect from list view
* wrap model in conditional for perms
* remove redundant canReadCustomMetadata check
* rename adapter method
* handle overview 404
* remove comment
* add customMetadata as an arg
* update grantAccess in test
* make version param easier to follow
* VAULT-30494 handle 404 jira
* refactor capabilities to return an object
* update create tests
* add test for default truthy capabilities
* remove destroy-all-versions from kv/data adapter
* UI: Add enterprise checks (#28215)
* add enterprise check for subkey card
* add max height and scroll to subkey card
* only fetch subkeys if enterprise
* remove check in overview
* add test
* Update ui/tests/integration/components/kv/page/kv-page-overview-test.js
* fix test failures (#28222)
* add assertion
* add optional chaining
* create/delete versioned secret in each module
* wait for transition
* add another waitUntil
* UI: Add patch latest version to toolbar (#28223)
* add patch latest version action to toolbar
* make isPatchAllowed arg all encompassing
* no longer need model check
* use hash so both promises fire at the same time
* add subkeys to policy
* Update ui/lib/kv/addon/routes/secret.js
* add changelog
* small cleanup items! (#28229)
* add conditional for enterprise checking tabs
* cleanup fetchMultiplePaths method
* add test
* remove todo comment, ticket created and design wants to hold off
* keep transition, update comments
* cleanup tests, add index to breadcrumbs
* add some test coverage
* toggle so value is readable
* yield all overview card actions
* yield remaining overview card content to the correct block
* close overview card in test
* fix typo
* fix route typo, add selectors where needed
* fix class typo add one more selector
* initial shuffling of credentials and advanced configuration options
* update all destination models
* wip changelog
* Update 27538.txt
* remove custom_tags from gh
* missed vercel and remove custom_tags from base
* refactor conditional logic on templace
* things
* test coverage and dynamic subText
* add assert to not see enableInput on create
* clean up
* remove extra parens
* test clean up to clarify what the header subtext vs breadcrumb transition are testing
* intial changes, haven't tested client counts or done test coverage
* client count rename getter to clairfy
* fix has-permission api-paths
* wip
* wip
* fix: explicitly refresh vault.cluster model to re-fetch activatedFeatures after actication
* tests: fix # of assertions for verifying that activation was called
* tests: tidy overview-test
* add additional api permission path and move fetch back to application
* add test coverage for the service
* cleanup
* remove test that checked for upsell without license or on community
* small comment change
* welp missed component getter
* flaky test fix
* flaky test
* small nit changes from pr reviews
* add defaults to sync mirage handler
* Gate sync overview route for users without access (#27320)
* routes: add redirect if user does not have access to sync
* tests: verify redirect on sync overview page happens
* tests: organize tests modules to ensure enterprise is explicitly set up
* add type enterprise required now because we do a check for this first
* fix oss test
---------
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
* fix: show tier-releated error msg for HVD clusters upon sync activation
* fix: clear activation errors upon re-attempting to activate
* tests: ensure only 1 error banner shows for non HVD clusters
* Allow Managed clusters to see Secrets Sync Overview and Sidebar nav (#26649)
* update badge text and allow hvd on secrets sync views
* update logic in Secrets Sync overview and cta for hvd.
* spacing
* rearrange based on pr feedback
* fix return on badgeText and cluster nav test
* fix landing cta tests
* update test to reflect new changes
* moved call to feature-flags from application route to the service to match patterns
* add managed test coverage on overview component test and remove premium feature so cta message appplies to both managed and non-managed clusters
* missed service name and unskip admin test
* clean up
* fix tests
* flags test fix
* Rename isManaged and managedNamespaceRoot (#26697)
* renames
* lowercase HVD to match
* missed some
* test failure
* [Secrets Sync] enable access to Sync clients page for HVD clusters (#26713)
* feat: split client counts navbar into separate component
* acceptance/clients/counts/overview-test: remove tests now covered by int tests
* clients counts route: rename isSecretsSyncActivated to showSecretsSync
* sync clients page: show unactivated state unless sync client history or feature is activated
* client counts navbar: show sync tab only if client history or is /able to be/ activated
* clients overview page: only show sync charts if activated
* fix: rename isManaged to isHvd
* acceptance/counts/overview-test: add HVD tests
* acceptance/counts/overview-test: clean up unused cruft
* aceptance/clients/counts/overview-test: ensure we dont get false negatives
* chore: move Clients::Error to Clients::Counts::Error
* chore: calculate showSecretSync in page component instead of route
* chore: add copyright headers
* acceptance/clients/counts/overview-test: stub activated flags to fix test
* [Secrets sync] update sync test selectors (#26824)
* acceptance/clients/counts/overview-test: use imported test selectors
* general-selectors: add missing emptyStateSubtitle property
* acceptance/clients/counts/sync: nest tests in top level module for easier test runs
* Add permissions check to show/hide activate button (#26840)
* add permissions check to flags service and consume in overview template
* add back missing refresh
* fix test failures
* add test coverage
* clean up
* address flaky test
* grr
* address test failures
* add changelog
* try to fix test failure only on gh
* fix fetch to match previous implementation of feature-flags
* fix failing test
* update comment
---------
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
* Update search-select component
- Add aria-label arg
- use label or humanized ID as fallback aria-label
- protect against non-array options arg
* remove overflow-x rule on toolbar-scroller so dropdowns can render in place
* add renderInPlace to dropdowns in pki engine
* Update replication package.json and add renderInPlace
* Add renderInPlace to search-select and basic-dropdown in engines (kubernetes, kv, ldap, sync)
* small cleanup
* use router for transitions within replication engine
* fix inverse value on group-alias belongsTo relationship
* Always call super.willDestroy after custom hooks
* fix deprecation ember-engines.deprecation-camelized-engine-names
* graceful fallback on message-error if adapterError does not include errors
* use router.replaceWith during tests on logout
* fix more links
* rename
* move activation-flags state to the flags service
* clean up descriptions of services
* fix naming that I missed
* Update secrets.ts
* add test coverage
* services/flags: rearrage getters
---------
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
* refactor usage stats to use Hds::Card
* use usage stats in other tabs
* use flex row and remove verbose grid css classes
* cleanup selectors, add arg to usage stat selector
* update usage stat test
* update token tab usage stat title
* add test coverage for description and title
* conditionally call the destinations and associations in the secret route if isActivated is true
* fix overview tests
* fix
* add test coverage
* clean up
* address pr comments and break out test
* add secrets sync feature to version service
* fix syntax for feature in version service
* UI [Sidebranch]: correctly call activation flags endpoints (#26068)
* Show empty state on client count sync page if feature isn't activated (#26024)
* page/sync: show empty state if sync is not activated
* tests: add sync page integration tests
* tests: add secrets sync acceptance tests
* cleanup: remove redundant empty state selector
* chore: rename to isSecretsSyncActivated
* Only make POST request to activation-flags in root namespace (#26081)
* Clean up around opt-in banner on non-secrets-sync views (#26039)
* only show and make request to activated-features if enterprise with secrets sync feature
* waiting for final badge title but hiding banner and network request based on if user has secrets-sync feature.
* final copy for badge
* handle dismiss erorr message, custom messaging in errors, different badge names and upsell if not on license.
* add secrets sync feature to version service
* nope, add to main sidebranch not in this PR
* use version service directly to check for secrets sync feature
* update badges to use version service directly
* do not unnecessarily pass hasSecretsSyncFeature, access from version directly
* last spot to update using the feature getter
* cleanup landing cta logic
* UI [Sidebranch]: correctly call activation flags endpoints (#26068)
* small cleanups after merge
* remove unused type imports
* update tests
* update nav link test
* add test waiter for race condition on test
* add waiter to fetch activation-flags
* remove customer waiters and go for waitFors in test
* worth a try? mirage issues?
* closer?
* fix issue with inconsistent asserts
* adding back in in case this is the issue
* revert cluster.hbs change
* skip test
* delete test
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* Hide sync for managed vault (#26084)
* [secrets sync] hide sync content from client overview (#26078)
* clients/overview: hide secrets sync content if not in license
* clients: remove sync tab if not in license
* routes: fetch isSecretsSyncActivated at clients/counts route level
* wip - hide secrets sync from overview page
* tests: fix usage-stats test
* more wip hiding from overview page
* hide secrets sync on attribution component/modal
* hide secrets sync content on running total component
* fix RunningTotal class name
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* controllers: fix type
* tests: usage tests
* tests: running totals tests
* add s to secrets-sync
* tests: running-total test cleanup
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
* cleanup unused version service
* return extra line
* wip - sync tests
* wip -- clients overview acceptance tests
* test coverage for sync in license, activated
* tests: add more robust sync-related overview tests
* hide sync client charts if feature not in license
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <cshaw@hashicorp.com>
* chore: update hds and flight-icons
* fix: add missing deps and use .css from HDS
* update HDS components to new syntax
* database-connection-edit: add @waitFor to fix rotate-related acceeptance tests
* use stub to fix confirm-modal-test
---------
Co-authored-by: Alexey Kulakov <uni_que@me.com>
* fix issue of checkbox value not disabling after canceling the modal
* add component test coverage in overview
* add acceptance test to see flow show banner to not show banner
* comment change
* remove unecessary hash and add settled because ci is funny
* circle ci play nice
* forgot to add my changes 🙃
* blah
* that was a lot for delinating the errors properly—😵💫
* pr review comments, thank you for the catches team
* adds modal for enabling sync in landing page cta workflow
* adds config endpoint to sync mirage handler
* update checkbox copy
* handle adapter error and modify endpoints
* address pr changes
* add banner for when not opted in and update tests
* change adapterError with verb to clarify boolean
* update small tests changes
* fix linting js errors
* remove empty payload and update banner text
* fix problematic test solve for another day
* fix test
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: Angel Garbarino <argarbarino@gmail.com>
* add default granularity depending on type
* move default setting to helper
* add test coverage for default granularity
* update mirage
* update secret name template
* remove has-text-black class which was making help tooltip black as well
* normalizes sync destination granularity key in serializer
* adds new fields to aws and gcp sync destinations
* updates sync destination delete action from destinations list view to route to overview on success
* updates destination serializer normalize to check if options is defined
* add granularity form field to sync destinations
* update mirage, shim in subkey response
* fix comment
* add granular updates to list view
* update mirage;
* update test
* comment for updating test
* use hds::dropdown in destinations for consistency
* move banner to popup menu
* add changelog
* remove spans from test
* Client Count Routing Updates (#24733)
* updates client count routing for sync and future additions
* adds copyright header to clients sync template
* adds missing copyright headers
* UI: Adds secret_syncs to mirage /activity endpoint (#24846)
* add secret_syncs to mirage endpoint
* import clients handler
* UI: Set up client charts for incoming sync data (#24852)
* sum stacked bar values for tooltip total
* make tooltip dynamic based on chartLegend
* remove redundant helper
* add secret_syncs to client count utils
* move sum function to helper
* update horizontal bar chart to include sync_clients
* calculate sum of bars in tooltip
* rename color palette const, define chart legends in each parent component instead of token.js
* update tooltips
* update mirage handler to add sys/ namespace
* update mirage handler to add sys/ namespace
* use pushObject
* update test
* UI: Secret sync bar chart (#24926)
* install lineal
* add ember-style-modifier dep
* Add client count types for serialized data
* Add sync bar chart component with tests
* Chart is responsive
* address comments
* Clients Counts Parent Route (#24899)
* adds interfaces for clients models
* moves date formatting logic from clients activity adapter to utils file
* adds clients counts route
* updates links to clients route to point to top level and updates redirect to counts overview route
* removes clients base route and moves overview and sync routes under counts
* adds clients counts page component
* converts clients route to ts
* adds billing start timestamp to clients config mirage response and updates counts route to always attempt to fetch activity
* fixes issue with updating namespace and auth mount query params always triggering client counts route model hook
* adds tests for clients counts page component
* adds missing copyright header to client-counts type file
* Update ui/app/components/clients/page/counts.hbs
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* fixes bad import in sync-bar-chart
* updates clients counts route to bypass query if there is not start_time
* pins d3-shape to 1.3.7 for now -- makes lineal play nice with old charts
* fixes sync bar chart tooltip assertion
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* UI: convert line-chart to lineal (#24961)
* lineal chart alongside svg
* Add version-history to sync handler for testing
* line chart is TS, test updated
* remove d3-shape resolution
* fix clients/token-test
* use chartHeight in running-total template
* use M/yy key instead of timestamp, chart is responsive
* Add test for swapping datasets
* add more edge case tests
* more test
* remove untrue assertion
* fix weird decimal when between 1.1k and 2k
* address feedback
* Update line-chart to use timestamp instead of month key
* Add timestamp to all places where month is on the clients activity response
* Client Counts Overview (#24969)
* adds counts base component for use in client counts child routes
* adds clients counts overview page component
* splits out monthly new chart from clients running total component
* adds missing copyright headers
* moves running total related assertions from token to overview acceptance test
* removes new client assertions from running-total test and adds tests for monthly-new component
* updates copy in running-total component
* fixes clients overview tests
* fixes timestamp stub not being restored in monthly-new test
* fixes mfa-login test
* renames counts component to activity
* removes unused selectedAuthMethod arg from running-total component
* adds timestamp back to running-total component
* Secrets sync UI: add sync page component (#24982)
* adds counts base component for use in client counts child routes
* adds clients counts overview page component
* splits out monthly new chart from clients running total component
* adds missing copyright headers
* move sync-bar-chart to charts/ folder
* update types and rename chart
* rename template file
* moves running total related assertions from token to overview acceptance test
* removes new client assertions from running-total test and adds tests for monthly-new component
* updates copy in running-total component
* fixes clients overview tests
* fixes timestamp stub not being restored in monthly-new test
* fixes mfa-login test
* fix 0 values erroring charts
* separate timestamp again
* address merge conflicts
* finish building sync chart component WIP css
* renames counts component to activity
* update import
* revert name to dataKey
* update styling for charts without legends
* use monthly stat chart component for layout
* use monthly chart stats in monthly new
* implement stat wrapper;
* remove extra grid div
* rename component
* fix legend css;
* update test[
* remove arbitrarily setting max
* add single month view
* use stat text
* update line chart tests
* rename line chart
* update tests
---------
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* update selectors
* add sync page tests
* Secrets Sync UI: Add secrets syncs to csv export (#25056)
* update mirage and add sync clients to export csv
* fix sync legend label
* remove word
* update copy in modal
* update mirage
* fix attribution tooltip text
* Clients Counts Token Route (#25019)
* renames token route and page component back to dashboard
* adds client counts token route and page component
* updates charts in token page to use ChartContainer component
* adds tests for clients token page component
* restore clients dashboard test
* use var for chart title sync page
* updates clients token page to show usage stats when querying single month
* updates token page clients averages to only include entity and non-entity clients in calculation
* fixes monthly total counts lower than new clients in mirage handler
* fixes token test
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
* Clients Usage Stats/Running Total Updates (#25094)
* updates clients usage counts and running totals
* updates usage stats total copy
* fixes client counts overview tests
* Secrets sync UI: cleanup and consolidation of components (#25090)
* rename authMethod to mountPath
* generalize count template copy
* add todo to delete monthly new component
* rename to tokenTab
* wrap filters in conditional checking for start timestamp
* some users may not have access to /config endpoint
* fix querying when user has no billing date permissions and clicks current billing period
* extend activity component from counts page
* Revert "extend activity component from counts page"
This reverts commit 1d0e85c82faf88c4385a04b1a5841cdde7fd00e0.
* rename to startTimestampISO
* remove timestamp from route and just use activity model responseTimestamp
* fix chart y domain max
* fix typos in usage stat and running totals component
* delete backing class for display only template;
* updates tests
* adds comment for fetching license to get start date for billing
* cleans up unused client counts files (#25157)
* adds changelog
* fix assertion copy
* adds changelog description
* updates enterprise sidebar nav test
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* leverage isSectionHeader option to change component styling
* update destination models to include new params
* update form and details template to accommodate new fields
* remove extra horizontal line
* move is-empty-value to core addon and use in details template
* remove leftover or conditional
* update mirage and tests
* update form tests
* 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
* updates destination name filter to use FilterInput component
* simplifies destinations list redirect condition
* fixes issue with sync destination type filter and issue filtering by both name and type
* unsets page query param in sync destination secrets route