* moves namespace service constants to separate file
* initial file for playwright client counts test
* adds playwright tests for client counts workflows
* updates api service post request middleware to read json data more reliably
* fixes acl policy intro page not displaying
* adds teardown to mfa playwright test
* adds steps and teardown to userpass playwright test
* fixes transform playwright test
* updates api service tests
* fixes policies page tests
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* adds constants util for wizards and updates service to use WizardId type
* updates wizards to use WIZARD_ID_MAP values
* updates wizard tests to use the service for dismissal
* updates playwright setup to add all wizard ids as dismissed in localStorage
* removes wizard dismissal step from existing playwright tests
* fixes issues accessing owner in beforeEach hooks of namespaces acceptance tests
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* make router-lookup helper
* add policyPaths arg to flyout and update route cache to map
* update kv flyouts and test coverage
* round out test coverage, rename method from get to lookup
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* improve dismissal logic, use AutomationSnippet component, use wizard service for tracking dismissal
* use class helper to check for multiple nodes when rendering tree chart, add test coverage
* update comments
* add modal for namespace intro and improve reusability
* style updates and general reusability updates
* make intro pages more generic and rename welcome to intro
* update tests
* update styles, use service to track intro visibility, rename components
* Update arg docs
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
* improve dismissal logic, use AutomationSnippet component, use wizard service for tracking dismissal
* use class helper to check for multiple nodes when rendering tree chart, add test coverage
* update comments
* add wizard service unit test coverage
* move item filtering into helper func
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
* convert to typescript
* move getOptions to namespace service
* delete unneeded ts file
* add test coverage and cleanup getOptions method
* use new admin const
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Allow for console error and warn and fail for everything else.
Remove disable rules for console.
Co-authored-by: Angelo Cordon <angelo.cordon@hashicorp.com>
* add support for initializing with capability paths
* only render flyout for enterprise versions
* update PolicyStanza to support object
* add policy generator to kv
* only set preset stanzas if no changes have been made
* add test coverage for kv adding policy generate to page headers
* add community test
* add test coverage to capabilities service
* add changelog
* add close callback
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* removes store query from pki config route
* updates pki overview route to use api service
* removes remaining references to store in pki tests
* removes unused store service injections in pki components
* removes store dependency from pki engine
* removes ember data related unit tests for pki
* removes pki ember data models, adapters and serializers
* removes unused pagination service injections in config-ui, kv, pki and sync engines
* removes unused store service injections from pki engine
* updates dashboard quick-actions-card component to fetch options using api service
* removes path-help test using pki model
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* license: update headers to IBM Corp.
* `make proto`
* update offset because source file changed
Signed-off-by: Ryan Cragun <me@ryan.ec>
Co-authored-by: Ryan Cragun <me@ryan.ec>
* updating routes from mounts/ to enable and updates to breadcrumbs
* updating all relevant tests
* leftover tests
Co-authored-by: Dan Rivera <dan.rivera@hashicorp.com>
* UI Fix: UI permissions banner and side bar nav gating respect Vault glob semantics (+, deny precedence) (#9522)
* add in empty states when no permissions error but no list values found.
* wip
* wip cont.
* a lot closer... I think
* looking good, now to smoke test (Again)
* welp revert fix to adapter that borked it.
* add changelog
* test coverage—a lot
* fix some issues with root vs fallback show sidebar nav
* address pr comments and clean up comments and left over duplicate methods in permission service
* Apply suggestion from @hellobontempo
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* add resultant-acl in canary paths
* remove from canary and use capability check instead inside permissionsBanner
* clean up
* fix merge things
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* add conditional for enterprise vs ce
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Angel Garbarino <argarbarino@gmail.com>
* adds error handling for control groups to api service as post request middleware
* updates kv list route to use api service
* updates kv config route to use api service
* updates kv secrets overview route to use api service
* updates kv secret details route to use api service
* adds kv form
* updates kv metadata details route to use api service
* updates kv paths and version history routes to use api service
* refactors kv-data-fields component to form component
* updates kv secret create route to use api service
* updates kv secret edit route to use api service
* updates kv metadata edit route to use api service
* adds waitFor to async middleware in api service to attempt to fix race conditions in tests
* adds kvMetadata path to capabilities path map
* fixes kv list item delete test selector
* removes kv models, adapters and serializers
* removes store from kv addon
* removes ember data related test helpers from kv-run-commands
* updates comments that referred to kv ember data models
* updates kv-page-header tests
* updates model-form-fields test to use totp-key model rather than kv/data
* removes another reference to kv/data model from path-help test
* fixes kv v2 workflow create tests
* fixes issue returning metadata for secret when latest version is deleted
* decodes uri in path returned by api service parseError method
* fixes kv v2 edge cases tests
* fixes issue deleteing control group token in api service
* decodes url for control group token lookup in api service
* fixes version history linked block link
* defaults cas to 0 when creating new secret
* removes log
* adds ember-template-lint to kv engine
* more test fixes
* updates kv-suggestion-input component to use api service
* removes kv metadata model reference from quick actions card
* fixes sync destination sync secrets tests
* updates kv helpers from classic format
* updates kv helpers imports
* reverts to use secret.version in details edit route
* fixes isDeleted import in kv version history test
* adds waitFor to api service parseError method
* reverts removing async from addQueryParams api method
* attempts to fix test flakiness requesting custom metadata from data endpoint
* more tweaks to requesting metadata from data
* adds waitFor to requestData method
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* adds error handling for control groups to api service as post request middleware
* updates kv list route to use api service
* updates kv config route to use api service
* updates kv secrets overview route to use api service
* updates kv secret details route to use api service
* adds kv form
* updates kv metadata details route to use api service
* updates kv paths and version history routes to use api service
* refactors kv-data-fields component to form component
* updates kv secret create route to use api service
* updates kv secret edit route to use api service
* updates kv metadata edit route to use api service
* adds waitFor to async middleware in api service to attempt to fix race conditions in tests
* adds kvMetadata path to capabilities path map
* fixes kv list item delete test selector
* fixes kv v2 workflow create tests
* fixes issue returning metadata for secret when latest version is deleted
* decodes uri in path returned by api service parseError method
* fixes kv v2 edge cases tests
* fixes issue deleteing control group token in api service
* decodes url for control group token lookup in api service
* fixes version history linked block link
* defaults cas to 0 when creating new secret
* removes log
* adds ember-template-lint to kv engine
* more test fixes
* updates kv helpers from classic format
* updates kv helpers imports
* reverts to use secret.version in details edit route
* fixes isDeleted import in kv version history test
* adds waitFor to api service parseError method
* reverts removing async from addQueryParams api method
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* adds error handling for control groups to api service as post request middleware
* adds waitFor to async middleware in api service to attempt to fix race conditions in tests
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* removes api client in favor of dependency
* removes api-client path from ignore files and configs
* removes normalize keys method from api service
* removes normalize keys test for api service
* updates api client vars to snake_case for custom messages
* updates api client vars to snake_case for tools
* updates api client vars to snake_case for sync
* updates api client vars to snake_case for secrets engine
* updates api client vars to snake_case for auth
* updates api client vars to snake_case for usage
* updates api client dep to point to gh repo
* fixes custom-messages service unit tests
* fixes configure-ssh test
* fixes configure-ssh test...again
* test coverage for namespace capabilities checks;
* set namespace header with appropriate context
* add more test coverage, restore stub
* add changelog
* change entity_id to camel casing, remove "backends" key from stored auth data
* fix tokenExpirationEpoch returning NaN, use authSuccess in auth service tests
* camel case mfa_requirement references
* refactor auth service
* implement api service for token method
* implement api service in standard auth methods
* add lookupSelf request to persistAuthData method in auht service instead of calling in components
* implement api service in oidc-jwt component
* implement api service in okta component
* implement api service in saml component
* use api service for wrapped_token query param
* remaining test updates, enterprise tests and stabilize auth helpers
* upate renew() to use new persistAuthData method, add a test
* revert as this will be addressed upstream
* rename supported-login-methods to auth-form-helpers and delete old supported-auth-backends helper, update tests
* cleanup normalize after testing mfa validation for each auth method
* update type declarations, set displayName in each method component
* stabilize redirect tests by waiting for login before asserting url
* stabilize tests
* modernize typescript syntax, move error const to util
* use mirage instead of vault server to resolve test race conditions
* fix file import
* [UI] Ember Data Migration - Secrets Engine Resource (#30791)
* adds base factory for resources and secrets engine resource
* updates dashboard and secret-engine list route to fetch mounts from api service
* updates secret backends routes to use api service
* updates secrets engine config routes to use api service
* updates secrets backend route to use internal mounts endpoint and fixes error handling
* updates property casing in config details card component
* fixes dashboard tests
* fixes issues with engine configuration
* updates api service to only set token header if value is defined in auth service
* fixes more tests
* Update ui/app/routes/vault/cluster/secrets/backend/configuration/index.js
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* removes alwaysRender from publicKey field in secret engine configuration details component
* removes unused hideToggle arg from secret engine mount config template
* updates kv config route to load secret-engine model
* fixes kv config route
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* [UI] Ember Data Migration - Secrets Engine Forms (#30951)
* adds secrets engine form class
* updates mount-secret-backend route and form component to use secrets engine form class and api service
* updates to form class proxy for nested form data properties
* adds form classes for configurable secrets engines
* updates secrets engine config edit route and components to use form classes and api service
* adds missing copyright header
* fixes tests
* fixes type error
* updates configure-ssh component to use form class and api service
* updates configure-ssh tests
* updates configuration-wif component tests
* fixes mount secret backend and form tests
* adds method to normalize request key casing to api service
* addresses pr review feedback
* removes unused secrets engine config models, adapters and serializers (#30980)
* fixes azure config tests
* fixes more ent tests
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* add dummy provider and wire it into the app
* add tests for analytics service
* add posthog provider
* wire in posthog
* add HVD limitation for analytics and add unit test
* filter out sensitive event properties
* add changelog
* run copywrite headers
* update logging tests for analytics service
* update changelog format
* disable telemetry in test mode
* remove unnecessary test
* self review
* Update vault-reporting addon with analytics tracking changes
* address review feedback
---------
Co-authored-by: Jim Wright <jim.wright@hashicorp.com>
* improves path handling in capabilities service
* converts has-capability to class helper and adds pathKey and params args
* adds api service to sync engine
* updates sync types
* improves typings in paginate-list util
* adds api client error handling to error page component
* adds api utils for sync
* updates sync overview route and page component to use api service
* updates sync destinations route and page component to use api service
* adds missing copyright header
* fixes paginate-list regression
* fixes return type for has-capability helper
* Apply suggestions from code review
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* fixes page error tests
* resolves suggestions from review
* fixes has-capability usage errors
* fixes comment in capabilities service
* more test fixes
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* adds error parsing method to api service
* replaces apiErrorMessage util instances with api service parseError
* removes apiErrorMessage util and tests
* removes ApiError type
* fixes issue in isLocalStorageSupported error handling
* WIP updating config-ui engine to use api service and form class
* updates form-field component to support false values for radio types
* updates api-error-message util to log out error in dev env
* fixes issues in custom messages create and edit workflows
* fixes issues in api service
* updates capabilities handling
* updates to custom messages form
* removes store from custom messages tests
* removes store as dependency from config-ui engine
* removes commented out code in messages route
* updates custom-messages service to make requests with api service
* removes namespace args from fetchMessages
* adds tests for custom-messages service
* removes custom messages model, adapter and serializer
* removes custom messages serializer tests
* WIP updating config-ui engine to use api service and form class
* updates form-field component to support false values for radio types
* updates api-error-message util to log out error in dev env
* fixes issues in custom messages create and edit workflows
* fixes issues in api service
* updates capabilities handling
* updates to custom messages form
* removes store from custom messages tests
* removes store as dependency from config-ui engine
* removes commented out code in messages route
* updates orderedKeys to displayFields in messages page component
* removes unneccesary method var from message create-and-edit component
* removes comment about model in message details page
* generates new api client version with runtime changes for VoidResponse type and JSONApiResponse transformer update
* removes extractData middleware from api service
* converts tools/unwrap component to ts and updates to use api service
* another api client version with more tweaks to JSONApiResponse in runtime
* removes extractData test for api service
* move sync activation and capabilities from flag service to version service and components
* cleanup unnecessary args
* remove permissions service
* un-nest (some) modules
* simplify overview test so logic is easier to follow
* modal test
* update service tests
* change back to 403 because maybe it is permissions related?
* fix tests running on CE
* small cleanup
* fix logic based on feedback
* add logic for hvd specifically, update cluster tests
* adds api service
* adds missing copyright headers
* Update ui/app/services/api.ts
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* removes response cache and comments from api service
* removes hide warnings condition from showWarnings middleware in api service
* splits out setHeaders test
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* 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
* 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
* add capabilities service
* remove from kv engine for now
* add canRead
* move await helper to addon
* add test
* update capabilities service to accommodate multiple paths
* address comments, make methods more explicit
* remove namespace key
* fix typo in test
* add namespace back!
* round out tests for other methods
* add test
* add comment
* Replace getNewModel with hydrateModel when model exists
* Update getNewModel to only handle nonexistant model types
* Update test
* clarify test
* Fix auth-config models which need hydration not generation
* rename file to match service name
* cleanup + tests
* Add comment about helpUrl method
* fix: calculate expiration of all batch tokens to ensure expire warning banner is shown
* fix: ensure allowExpiration doesn't get overridden
* fix: set expirationCalcTS outside of calculateExpression
* tests: verify expirationEpoch is calculated when only expiry_time is passed in
* fix: calculate expireTime using expire_time if its passed in
* tests: clean up auth tests
* tests: organize batch token vs. service token tests into separate module
* chore: update changelog
* Update changelog/27479.txt
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* fix: ensure tokens in test envs do not expire
* cleanup: pull setExpiration settings into own method & add tests
---------
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* 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>
* Refactor hasWildcardAccess to check for ancestors of current namespace in globPaths
* Add extra test coverage
* remove tests for removed getter
* changelog + test update
* update test coverage to also check resulting permissionsBanner state
* rename hasWildcardAccess for clarity, add isDenied check on namespace access check
* Update changelog/27263.txt
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* Remove redundant check
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* 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>
* 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>
* Add wildcard calc helpers to permissions service with tests
* Check for wildcard access when calculating permissionsBanner
* Move resultant-acl banner within TokenExpireWarning so it's mutually exclusive with token expired banner
* fix permissions banner if statement
* Add margin to resultant-acl
* cleanup comments