* 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>
* Create billing route and add to sidebar
* WIP
* Working dynamic cards
* Update billing copy
* Fix bugs
* WIP polling
* WIP Add polling..
* Move card logic to metric-card
* Remove gcp KMS
* Working polling
* broken but just to demo normalization (#12594)
* broken but just to demo normalization
* Pair with Claire to clean up data
* Fix merge conflict issue
* Create type file and add helper
* Add unit test!
* Add copywright headers
* Update unit test name
---------
* Fixes summary card component
* Polling...
* Fix ts errors
* Write sidebar logic and add acceptance test
* Add comment explaining license feature
* Address feedback and fix styling so its responsive
* Fix failing tests
* Remove polling service and code clean up
* Add changelog and update some styling!
* Update changelog...
---------
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.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>
* testing
* testing some routing fixes, removing more unused code
* using direct config route instead of general settings
* same for general settings save
* testing without unsavedChanges interrupt
* put things back but add hvd flag for refresh
* cleanup
* putting things back
* undo
* redos
* fix model refresh & ttl bug
* fixing ember engines
Co-authored-by: Dan Rivera <dan.rivera@hashicorp.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>
* WIP
* WIP...
* Update page headers and move logic back
* remove unused stuff
* Fix failing tests
* Use hasNavPermission
* Update raft storage locatin and add namespace link on top
* Update access sidebar link to Access control
* Update order of API_PATHS
* Remove namespace link
Co-authored-by: Kianna <30884335+kiannaquach@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 wizard service unit test coverage
* move item filtering into helper func
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
* updates flags service to use api service
* converts clients index route to ts
* updates clients config workflows to use api service
* updates clients date-range component to handle Date objects rather than ISO strings
* updates clients page-header component to handle Date objects and use api and capabilities services
* updates clients route to use api and capabilities services
* updates types in client-counts helpers
* updates client counts route to use api service
* updates types for client-counts serializers
* updates date handling in client counts page component
* updates clients overview page component
* converts clients page-header component to ts
* fixes type errors in clients page-header component
* updates client counts tests
* updates client-count-card component to use api service
* converts client-count-card component to ts
* removes model-form-fields test that uses clients/config model
* removes clients/version-history model usage from client-counts helpers tests
* removes migrated models from adapter and model registries
* removes clients ember data models, adapters and serializers
* updates clients date-range component to format dates in time zone
* cleans up references to activityError in client counts route
* adds clients/activity mirage model
* updates activation flags assertions in sync overview tests
* fixes issue selecting current period in clients date-range component and adds test
* fixes issues with enabled state for client counts
* updates parseAPITimestamp to handle date object formatting
* removes unnecesarry type casting for format return in parseAPITimestamp util
* updates parseAPITimestamp to use formatInTimeZone for strings
* updates parseAPITimestamp comment
* updates enabled value in clients config component to boolean
* adds date-fns-tz to core addon
* removes parseISO from date-formatters util in favor of new Date
* updates comments for client counts
* updates retention months validation for client counts config
* updates comment and min retention months default for client counts config
Co-authored-by: Jordan Reimer <zofskeez@gmail.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>
* add <h> tags for form header elements
* make policy snippet args reusable util
* build flyout component
* add test coverage for flyout
* update flash toast tests
* move policy tests to directory
* remove link now that its a default
* abc imports
* add test for default templates
* add comment to example
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* move from yarn to pnpm for package management
* remove lodash.template patch override
* remove .yarn folder
* update GHA to use pnpm
* add @babel/plugin-proposal-decorators
* remove .yarnrc.yml
* add lock file to copywrite ignore
* add @codemirror/view as a dep for its types
* use more strict setting about peerDeps
* address some peerDep issues with ember-power-select and ember-basic-dropdown
* enable TS compilation for the kubernetes engine
* enable TS compilation in kv engine
* ignore workspace file
* use new headless mode in CI
* update enos CI scenarios
* add qs and express resolutions
* run 'pnpm up glob' and 'pnpm up js-yaml' to upgrade those packages
* run 'pnpm up preact' because posthog-js had a vulnerable install. see https://github.com/advisories/GHSA-36hm-qxxp-pg3
* add work around for browser timeout errors in test
* update other references of yarn to pnpm
Co-authored-by: Matthew Irish <39469+meirish@users.noreply.github.com>
* updates issuers list route to use api service
* updates issuer details route to use api service
* updates issuer edit route to use api service
* updates issuer cross sign route to use api service
* updates issuer sign intermediate route to use api service
* updates rotate root route to use api service
* fixes a11y violation in pki-issuer-edit component
* updates subject_serial_number to serial_number for pki
* 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>
* 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>
* =fix timing issue for mfa validation
* update test to use unlinked()
* use Object.assign()
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.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>
* support wide width splash page
* add enable_self_enrollment param to mfa-method config
* build and implement mfa setup-card display only component
* fix transition bug navigating away from mfa method
* rename mfa card
* WIP implement self-enrollment workflow
* wip integration tests
* convert mfa-form to typescript
* remove unused import
* show alert whenver there is a QR code
* organze mfa steps into Mfa::VerifyForm and Mfa::SelfEnroll
* WIP stretch goals of mfa redesign
* add copyright headers
* update test
* add support for multiple constraints with self-enrollment
* remove comment
* fix multi-method UX
* fix state for failed validation
* remove changing button for error states
* add error handling and validation messages
* minor cleanup for params
* first round of cleanup and reorganization
* final round of logic cleanup and organization
* touch ups after testing with live backend
* fix comment
* final test cleanup!
* Apply suggestions from code review
* improve mirage error handling to more accurately mimic real failures
* add test coverage
* make qr rendering logic easier
* address PR feedback
* submit enroll form on enter, remove code digit number from copy, reset enroll state
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* UI: VAULT-39172 VAULT-38567 general settings followup (#8910)
* Add unsaved changes fields
* Set up default values for TTL and update general-settings
* Add form error state
* Ass TODO cmment
* Move actions back!
* Update unsaved changes state
* Address comments and add TODOs
* UI: VAULT-39264 Lease Duration TTL picker (#9080)
* Update default and max ttl to show correct default
* Query sys/internal endpoint for ttl values
* WIP ttl-picker-v2
* Intialize values and check for if ttl value is unset
* Use ttlKey instead of name
* Set name to be ttlKey
* Show validation for ttl picker
* Fix validation bugs
* Remove lease duration files
* Add copyright headers
* Initalize only when its a custom value
* Update ttl-picker to not have a dropdown
* Validate field before converting to secs
* [UI] Fix styling and update version card component (#9214)
* Fix styling and update version card component
* Update unsaved changes
* Code cleanup
* More code cleanup!
* Add helper function
* Remove query for lease duration
* Fix outstanding issues
* Captialize unsaved changes
* Update util name
* Remove action helper
* [UI]: General Settings design feedback updates (#9257)
* Small refactor based on design feedback
* More refactoring!
* Rename variables so it makes more sense!
* Remove unused modal fields
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
* updates auth method options route to use form and api client
* updates auth method config and section routes to use api client and open api form
* updates display attrs for auth method configs
* fixes plugin identity util fields tests
* fixes js lint error
* updates enable-tune-form tests
* hides specific form field for jwt/oidc auth config types
* Revert "updates display attrs for auth method configs"
This reverts commit 5d382f79276f56b3fdbe64fcbc9c8365c5f4b421.
* Revert "fixes plugin identity util fields tests"
This reverts commit 6d4acbe3228c796745f2dea6279c1540bb053c62.
* fixes config section test
* bumps api client version
* updates auth config form options component to use proper endpoint
* fixes enable tune form tests
* fixes auth config form options tests
* fixes type errors in snapshot-manage component
* updates recover_source_path arg to undefined so it is not included in the query params
* fixes remaining test failures related to user_lockout_config
---------
Co-authored-by: Vault Automation <github-team-secure-vault-core@hashicorp.com>
* build mirage handler for snapshot recovery endpoints
* WIP add namespace and mount fields to read/recover form
* change option to engine object
* update badge color according to status and make loaded snapshot reqs within root ns
* wip read reqs and view
* add recovery banner and form validation
* move read view into modal
* tidying
* organize
* tests
* style fixes
* error handling
* tests
* update requests with snapshot params
* style fix
* yarn lock update for latest spec updates
* tests
* add polling for snapshot status
* disable button when not in ready state
* reset errors
* don't poll during tests
* remove todo
* test updates
* fix ns select + test
* remove todo
* styling, tidy, mount options, engine types
* lots of tidying, add manual mount input, slower polling
* make read + recover requests in selected namespace
* link to child ns if recovering there
* test updates
* centralize recovery data values
* type, state and error improvements
---------
Co-authored-by: claire bontempo <cbontempo@hashicorp.com>
Co-authored-by: Lane Wetmore <lane.wetmore@hashicorp.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>
* UI: Move `wrapped_token` login functionality to route (#30465)
* move token unwrap functionality to page component
* update mfa test
* remove wrapped_token logic from page component
* more cleanup to relocate unwrap logic
* move wrapped_token to route
* move unwrap tests to acceptance
* move mfa form back
* add some padding
* update mfa-form tests
* get param from params
* wait for auth form on back
* run rests
* UI: Add MFA support for SSO methods (#30489)
* initial implementation of mfa validation for sso methods
* update typescript interfaces
* add stopgap changes to auth service
* switch order backend is defined
* update login form for tests even though it will be deleted
* attempt to stabilize wrapped_query test
* =update login form test why not
* Update ui/app/components/auth/form/saml.ts
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
---------
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
* Move CSP error to page component (#30492)
* initial implementation of mfa validation for sso methods
* update typescript interfaces
* add stopgap changes to auth service
* switch order backend is defined
* update login form for tests even though it will be deleted
* attempt to stabilize wrapped_query test
* =update login form test why not
* move csp error to page component
* move csp error to page component
* Move fetching unauthenticated mounts to the route (#30509)
* rename namespace arg to namespaceQueryParam
* move fetch mounts to route
* add margin to sign in button spacing
* update selectors for oidc provider test
* add todo delete comments
* fix arg typo in test
* change method name
* fix args handling tab click
* remove tests that no longer relate to components functionality
* add tests for preselectedAuthType functionality
* move typescript interfaces, fix selector
* add await
* oops
* move format method down, make private
* move tab formatting to the route
* move to page object
* fix token unwrap aborting transition
* not sure what that is doing there..
* add comments
* rename to presetAuthType
* use did-insert instead
* UI: Implement `Auth::FormTemplate` (#30521)
* replace Auth::LoginForm with Auth::FormTemplate
* first round of test updates
* return null if mounts object is empty
* add comment and test for empty sys/internal/mounts data
* more test updates
* delete listing_visibility test, delete login-form component test
* update divs to Hds::Card::Container
* add overflow class
* remove unused getters
* move requesting stored auth type to page component
* fix typo
* Update ui/app/components/auth/form/oidc-jwt.ts
make comment make more sense
* small cleanup items, update imports
* Delete old auth components (#30527)
* delete old components
* update codeowners
* Update `with` query param functionality (#30537)
* update path input to type=hidden
* add test coverage
* update page test
* update auth route
* delete login form
* update ent test
* consolidate logic in getter
* add more comments
* more comments..
* rename selector
* refresh model as well
* redirect for invalid query params
* move unwrap to redirect
* only redirect on invalid query params
* add tests for query param
* test selector updates
* remove todos, update relevant ones with initials
* add changelog
---------
Co-authored-by: lane-wetmore <lane.wetmore@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
* regenerates api client
* updates systemReadUtilizationReport api method to generateUtilizationReport
* updates VoidResponse interface to camelCase keys
* fixes issue in api-client VoidApiResponse
* updates tools components and tests to camel api response keys
* test fixes
* fixes more tests