* 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>
* 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
* use model returned by route model hook for ts declaration
* remove hasActivity helper
* refactor mirage so namespace totals are summed from monthly data
* add charts to acme tab
* add controller, update counts test
* add test for acme page
* selector cleanup
* update empty state handling for cc charts
* cleanup conditional logic
* add acme acceptance tests for filtering
* wrap up util updates
* finish acceptance tests
* update usage stats
* wrap up number updates from latest stubbed response
* remove yarn script that no longer works in yarn 3
* delete other deprecated yarn script
* add acme_clients to mirage handler and utils
* consolidate client names
* revert changes to homogenizeClientNaming, wait until confirmation from backend
* remove flattenDataset helper
* revert deleting flattendataset method (done in separate PR)
* move response to helper file
* cleanup utils based on test changes
* add acme_clients to tests
* rename variables and add comments!
* refactor homogenizeClientNaming and rename
* move by_namespace to test helper as well
* add comments and finally delete flattenDataset
* add more comments and update response to match no mounts shape
* update test selector
* finish updates for removing clients: null from serialized response
* final comments!
* remove arrayOfCounts helper
* Update ui/tests/integration/components/clients/page/sync-test.js
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
---------
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* hide sync average stat when sync average is 0
* add bug fix for community users without billing start date
* VAULT-25315 link jira
* add CE stub for sync test
* cleanup template to only calculate average once
* fix comment
* add test
* fix conditional
* 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>
* refactor upgradesDuringActivity to return an array
* move filterVersionHistory to util
* remove icon from inline link
* chance copy
* VAULT-24541 change ticket purpose
* add empty string for default break
* remove 1.16 for now
* update copy
* update test param
* add test for upgrade alert banner
* add version-history to mirage and consolidate time variables
* cleanup/fix imports after removing consts from helper file
* update more test dates
* fix attribution date format
* refactor util to just take timestamps
* util test
* use isWithinInterval instead
* finish count and overview updates after fixing mirage
* use the same static_time for all clients/ test files
* remove floating dot
* 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>