* KMSE: Key Model / Adapter / Serializer setup (#13638)
* First pass model
* KMS key adapter (create/update), serializer, model
* Add last rotated and provider to key
* KeyEdit secret-edit component, and more key model stuff
* add formatDate param support to infotablerow
* Add keymgmt key to routes and options-for-backend
* Rename keymgmt-key to keymgmt/key
* Add test, cleanup
* Add mirage handler for kms
* Address PR comments
* KMS Providers (#13797)
* adds pagination-controls component
* adds kms provider model, adapter and serializer
* adds kms provider-edit component
* updates secrets routes to handle itemType query param for kms
* updates kms key adapter to query by provider
* adds tests for provider-edit component
* refactors kms provider adapter to account for dynamic path
* adds model-validations-helper util
* removes keymgmt from supported-secret-backends
* fixes issue generating url for fetching keys for a provider
* updates modelType method on secret-edit route to accept options object as arg rather than transition
* adds additional checks to ensure queryParams are defined in options object for modelType method
* UI/keymgmt distribute key (#13840)
* Add distribution details on key page, and empty states if no permissions
* Allow search-select component to return object so parent can tell when new item was created
* Add stringarray transform
* Distribute component first pass
* Refactor distribute component for use with internal object rather than ember-data model
* Specific permission denied errors on key edit
* Allow inline errors on search-select component
* Style updates for form errors
* Styling and error messages on distribute component
* Allow block template on inline alert so we can add doc links
* Add distribute action, flash messages, cleanup
* Cleanup & Add tests
* More cleanup
* Address PR comments
* Move disable operations logic to commponent class
* KMSE Enable/Config (#14835)
* adds keymgmt secrets engine as supported backend
* adds comment to check on keymgmt as member of adp module
* updates kms provider to use model-validations decorator
* fixes lint errors and tests
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* Bootstrap Nomad ACL system if no token is given
Similar to the [Bootstrap the Consul ACL system if no token is given][boostrap-consul]
it would be very useful to bootstrap Nomads ACL system and manage it in
Vault.
[boostrap-consul]:https://github.com/hashicorp/vault/pull/10751
* Add changelog entry
* Remove debug log line
* Remove redundant else
* Rename Nomad acl bootstrap param
* Replace sleep with attempt to list nomad leader, setup will retry until successful
* fmt
- As part of the PKI rotation project we need to hook into some of the functions
that were factored out for managed keys in regards to key handling within the
CA bundles.
- Refactor the codebase so that we only extract managed key stuff from oss/ent
and not additional business logic.
* clean up activity serailizer
* fix line chart so only plot months with data
* cleanup monthly serializer
* account for empty months in vertical bar chart
* tidy version upgrade info
* fix version history model typo
* extract const into helper
* add upgrade indicator to line chart
* fix tests
* add todos
VAULT-5827 Update mongodb, brotli
Closes https://github.com/hashicorp/vault-plugin-secrets-mongodbatlas/issues/11
* `brotli` 1.0.1 was withdrawn
* `go-client-mongodb-atlas` has an old dependency on a renamed repo, and
has been renamed twice. This caused issues in
https://github.com/hashicorp/vault-plugin-secrets-mongodbatlas/issues/11
for example.
* VAULT-5827 Set unwrap token during database tests
The unwrap token is necessary for the plugins to start correctly when
running when running acceptance tests locally, e.g.,
```
$ VAULT_MONGODBATLAS_PROJECT_ID=... VAULT_MONGODBATLAS_PRIVATE_KEY=... VAULT_MONGODBATLAS_PUBLIC_KEY=... TEST='-run TestBackend_StaticRole_Rotations_MongoDBAtlas github.com/hashicorp/vault/builtin/logical/database' make test
--- FAIL: TestBackend_StaticRole_Rotations_MongoDBAtlas (5.33s)
rotation_test.go:818: err:%!s(<nil>) resp:&logical.Response{Secret:<nil>, Auth:<nil>, Data:map[string]interface {}{"error":"error creating database object: invalid database version: 2 errors occurred:\n\t* Unrecognized remote plugin message: PASS\n\nThis usually means that the plugin is either invalid or simply\nneeds to be recompiled to support the latest protocol.\n\t* Incompatible API version with plugin. Plugin version: 5, Client versions: [3 4]\n\n"}, Redirect:"", Warnings:[]string(nil), WrapInfo:(*wrapping.ResponseWrapInfo)(nil), Headers:map[string][]string(nil)}
```
Note the `PASS` message there, which indicates that the plugin exited
before starting the RPC server.
* add BuildDate to version base
* populate BuildDate with ldflags
* include BuildDate in FullVersionNumber
* add BuildDate to seal-status and associated status cmd
* extend core/versions entries to include BuildDate
* include BuildDate in version-history API and CLI
* fix version history tests
* fix sys status tests
* fix TestStatusFormat
* remove extraneous LD_FLAGS from build.sh
* add BuildDate to build.bat
* fix TestSysUnseal_Reset
* attempt to add build-date to release builds
* add branch to github build workflow
* add get-build-date to build-* job needs
* fix release build command vars
* add missing quote in release build command
* Revert "add branch to github build workflow"
This reverts commit b835699ecb7c2c632757fa5fe64b3d5f60d2a886.
* add changelog entry
* website: rm content moved to learn
* fix: delete intro page file and data
* fix: restore page file so build works, need to make change in dev-dot
* fix: avoid empty sidebar data error
* fix: proper rm now that hashicorp/dev-portal#287 has landed
* update /monthly endpoint
* change object key names to match API
* update serializers
* add optional no data mesage for horizontal chart
* add split chart option for attribution component
* wire up filtering namespaces and auth methods
* update clients current tests
* update todos and address comments
* fix attribution test
* fix dev-plugin-dir when backend is builtin
* use builtinRegistry.Contains
* revert aa76337
* use correct plugin type for logical backend after revert
* fix factory func default setting after revert
* add ut coverage for builtin plugin with plugin directory set
* add coverage for secrets plugin type
* use totp in tests to avoid test import cycle in ssh package
* use nomad in tests to avoid test import cycle
* remove secrets mount tests due to unavoidable test import cycle
* VAULT-5422: Add rate limit for TOTP passcode attempts
* fixing the docs
* CL
* feedback
* Additional info in doc
* rate limit is done per entity per methodID
* refactoring a test
* rate limit OSS work for policy MFA
* adding max_validation_attempts to TOTP config
* feedback
* checking for non-nil reference
* initial upgrade running ember-cli-update --to 3.28
* bumps node-sass version
* fragments bump
* fixes overriding errors prop on policy model causing issues
* bumps some addon versions related to Ember Global deprecation warning on build
* bumps back ember-test-selectors version for now
* removes ember-promise-helpers addon and creates await helper
* upgrades ember-template-lint and adds prettier plugin
* Ember 3.28 Upgrade Lint Fixes (#14890)
* fixes js lint errors
* fixes hbs lint errors
* allow multiple node versions for now to get tests runinng
* fixes tests
* Upgrade ember-test-selectors (#14937)
* updates ember-test-selectors, ember-cli-page-object and ember-cli-string-helpers
* adds attributeBindings to classic components with data-test property
* glimmerizes toolbar-link component and removes data-test args
* glimmerizes toolbar-secret-link and secret-link components and removes data-test and class args
* glimmerizes linked-block component
* glimmerizes toggle-button component
* updates toggle-button test
* fixes remaining test selector issues
* comments out test assertions related to cp-validations bug
* adds todo to comment
* Model Validations (#14991)
* adds model-validations decorator and validators util
* converts key-mixin to decorator
* updates models to use validations decorator instead of ember-cp-validations
* updates invocation of model validations
* removes ember-cp-validations
* reverts secret-v2 model updates
* adds initials to TODO comment
* flight-icons (#14993)
* flight-icons
* basic dropdown
* UI/merge main (#14997)
* Vault documentation: changing references from learn to tutorial (#14844)
* changed learn to tutorial references
* changed learn to tutorial
* Update website/content/docs/plugins/plugin-portal.mdx
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
* Update website/content/docs/platform/aws/run.mdx
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
* UI/Only show form values if have read access (#14794)
* only show value in edit form if has read capabilities
* revert messing with form
* delete secret data from secret
* add check for selected version
* remove added line
* add changelog
* modified text (#14854)
* fixed a link issue (#14850)
* docs: add known issue to 1.10 release notes (#14859)
* Vault 3999 Change permissions for directory/archive created by debug command (#14846)
* adding debug changes from ent
* adding changelog
* Vault 3992 ToB Config and Plugins Permissions (#14817)
* updating changes from ent PR
* adding changelog
* fixing err
* fixing semgrep error
* updated references from learn to tutorial (#14866)
* updated references from learn to tutorial (#14867)
* changed reference from learn to tutorial (#14868)
* Fix handling of default zero SignatureBits value with Any key type in PKI Secrets Engine (#14875)
* Correctly handle minimums, default SignatureBits
When using KeyType = "any" on a role (whether explicitly or implicitly
via a sign-verbatim like operation), we need to update the value of
SignatureBits from its new value 0 to a per-key-type default value. This
will allow sign operations on these paths to function correctly, having
the correctly inferred default signature bit length.
Additionally, this allows the computed default value for key type to be
used for minimum size validation in the RSA/ECDSA paths. We additionally
enforce the 2048-minimum in this case as well.
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
* Fix defaults and validation of "any" KeyType
When certutil is given the placeholder any keytype, it attempts to
validate and update the default zero value. However, in lacking a
default value for SignatureBits, it cannot update the value from the
zero value, thus causing validation to fail.
Add more awareness to the placeholder "any" value to certutil.
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
* Add role-based regression tests for key bits
This adds regression tests for Key Type, Key Bits, and Signature Bits
parameters on the role. We test several values, including the "any"
value to ensure it correctly restricts key sizes.
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
* Add sign-verbatim test for key type
This ensures that we test sign-verbatim against a variety of key types.
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
* Add changelog entry
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
* Subtle docs change for allow_store_key (#14889)
* Subtle docs change for allow_store_key
* errant space
* Adds Vault version prerelease and metadata to logical.PluginEnvironment (#14851)
* docs: fix formatting on plugin upgrade page (#14874)
* docs: fix formatting on plugin upgrade page
* fix more formatting issues
* Update CC docs (#14714)
* Update CC docs
* Add sample response
* Address review feedback
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Meggie <meggie@hashicorp.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/api-docs/system/internal-counters.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Minor edits
* Update partial month API
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
Co-authored-by: Meggie <meggie@hashicorp.com>
* Docs improvements for Managed Keys (#14756)
* Add more color around managed keys in their concepts page, and create additional links between
the various docs pages related to them.
* Typos
* sdk/useragent: plugin version string consistent with Vault version string (#14912)
* clean up (#14911)
* website: fix usages of img tag (#14910)
* fix usages of img tag and integrate dev-portal workflows
* Adjust Makefile
* remove mount_accessor from the docs (#14927)
* Add extra test coverage to PKI (#14767)
* Add PKI test for delete role
- Create a role, validate that defaults are what we expect
and delete the role, verifying it is gone on subsequent read
attempts.
* Add PKI test for crl/rotate command
- Missing a unit test that validates the crl/rotate command works. The test validates the rotate command was successful
by checking if we have a different/new update time on the CRL.
* Rework PKI TestBackend_PathFetchValidRaw test to not write directly to storage
- Rework the existing test to not write directly to storage as we might change that in the future.
- Add tests that validate the ca_chain behaviour of not returning the root authority cert
* PR Feedback
* Additional PR feedback
* Use WriteWithContext in auth helpers (#14775)
* Add ability to pass certificate PEM bytes to vault/api (#14753)
* Respect increment value in grace period calculations (api/LifetimeWatcher) (#14836)
* Mount flag syntax to mitigate confusion from KV-v2 path discrepancies (#14807)
* Add explanation to help text and flag usage text
* KV get with new mount flag
* Clearer naming
* KV Put, Patch, Metadata Get + corresponding tests
* KV Delete, Destroy, Rollback, Undelete, MetadataDelete, MetadataPatch, MetadataPut
* Update KV-v2 docs to use mount flag syntax
* Add changelog
* Run make fmt
* Clarify deprecation message in help string
* Address style comments
* Update vault-plugin-auth-gcp to newest pseudo-version (#14923)
* docs: added hello-vault-spring repo link to developer-qs.mdx. (#14928)
* Update developer-qs.mdx
docs: added link to Java / Spring Boot sample app repo in developer quick start.
* removed space.
* trigger ci
Co-authored-by: taoism4504 <loann@hashicorp.com>
* OIDC Login Bug (#14916)
* fixes issue logging in with oidc from listed auth path tab
* adds changelog entry
* adds more tests for oidc auth workflow
* updates oidc auth method test to use non-standard path
* Fix handling of SignatureBits for ECDSA issuers (#14943)
When adding SignatureBits control logic, we incorrectly allowed
specification of SignatureBits in the case of an ECDSA issuer. As noted
in the original request, NIST and Mozilla (and others) are fairly
prescriptive in the choice of signatures (matching the size of the
NIST P-curve), and we shouldn't usually use a smaller (or worse, larger
and truncate!) hash.
Ignore the configuration of signature bits and always use autodetection
for ECDSA like ed25519.
Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
* Bug Fix and Glimmerize secret-edit component (#14941)
* inital glimmerize
* wip
* wip
* wip
* fix maybeQueryRecord
* fix
* fix
* fix test
* cleanup
* add changelog
* clean up
* Agent error log level is mismatched (#14424)
* [VAULT-1618] Agent error log level is mismatched
`logLevelToStringPtr` translates `go-hclog`'s `ERROR` to `"ERROR"` for
Consul Template's runner, but that expects `ERR` and is quite strict
about it.
This will address https://github.com/hashicorp/vault-k8s/issues/223
after it is set as the default image in `vault-k8s`.
I didn't find a simple way to test this other than starting up a full
server and agent and letting them run, which is unfortunately fairly
slow.
I confirmed that this addresses the original issue by modifying the helm
chart with the values in this commit and patching the log level to `err`.
* VAULT-1618 Add changelog/14424.txt
* VAULT-1618 Update changelog/14424.txt based on @kalafut suggestion
Co-authored-by: Jim Kalafut <jkalafut@hashicorp.com>
* VAULT-1618 Move cancel and server stop into defer in tests
* VAULT-1618 Triggering CircleCI tests
* VAULT-1618 Replace ioutil with os functions for agent template tests
Co-authored-by: Jim Kalafut <jkalafut@hashicorp.com>
* UI/Add months to activity serializer (#14942)
* add mock monthly data to mirage handler
* add months to serializer for activity response
* change selectors
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* clean up serializer
* please stop being flakey <3
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* Revert the WithContext changes to vault tests (#14947)
* adding env var (#14958)
* Fix dead link for JWT supported algorithms (#14953)
* Don't clone OutputCurlString value (#14968)
* Don't clone OutputCurlString value, add flag to docs
* Add changelog
* Ensure initialMmapSize is 0 on Windows (#14977)
* ensure initialMmapSize is 0 on windows
* add changelog
* Vault 3992 documentation changes (#14918)
* doc changes
* adding config changes
* adding chnages to plugins
* using include
* making doc changes
* adding newline
* aws auth displayName (#14954)
* set displayName to include RoleSessionName
* Add Windows error (#14982)
* Warnings indicating ignored and replaced parameters (#14962)
* Warnings indicating ignored and replaced parameters
* Avoid additional var creation
* Add warnings only if the response is non-nil
* Return the response even when error is non-nil
* Fix tests
* Rearrange comments
* Print warning in the log
* Fix another test
* Add CL
* Fix edit capabilities call in auth method (#14966)
* Fix edit capabilities call in auth method
- Capabilities call was not getting triggered correctly as apiPath
method was missing the correct context.
* Added changelog
* make linting fix
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Austin Gebauer <34121980+austingebauer@users.noreply.github.com>
Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>
Co-authored-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
Co-authored-by: Scott Miller <smiller@hashicorp.com>
Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
Co-authored-by: Vishal Nayak <vishalnayak@users.noreply.github.com>
Co-authored-by: Meggie <meggie@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Josh Black <raskchanky@users.noreply.github.com>
Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
Co-authored-by: VAL <val@hashicorp.com>
Co-authored-by: Robert <17119716+robmonte@users.noreply.github.com>
Co-authored-by: mryan-hashi <88851444+mryan-hashi@users.noreply.github.com>
Co-authored-by: taoism4504 <loann@hashicorp.com>
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: Christopher Swenson <swenson@swenson.io>
Co-authored-by: Jim Kalafut <jkalafut@hashicorp.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
Co-authored-by: Jose Estrada <jose.estrada@tradeshift.com>
Co-authored-by: Arnav Palnitkar <arnav@hashicorp.com>
* skips kmip tests with concurrency issues for now
* changelog
* skips another test
* Remove ModelWrap Component (#15001)
* removes ModelWrap component which was not working in Ember 3.28
* removes kmip test skips
* updates role controller class name
* adds annotations to model-validations file
* pr feedback
* lint fixes after main merge
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
Co-authored-by: Yoko Hyakuna <yoko@hashicorp.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Austin Gebauer <34121980+austingebauer@users.noreply.github.com>
Co-authored-by: akshya96 <87045294+akshya96@users.noreply.github.com>
Co-authored-by: Alexander Scheel <alex.scheel@hashicorp.com>
Co-authored-by: Steven Clark <steven.clark@hashicorp.com>
Co-authored-by: Scott Miller <smiller@hashicorp.com>
Co-authored-by: John-Michael Faircloth <fairclothjm@users.noreply.github.com>
Co-authored-by: Vishal Nayak <vishalnayak@users.noreply.github.com>
Co-authored-by: Meggie <meggie@hashicorp.com>
Co-authored-by: Bryce Kalow <bkalow@hashicorp.com>
Co-authored-by: Josh Black <raskchanky@users.noreply.github.com>
Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
Co-authored-by: VAL <val@hashicorp.com>
Co-authored-by: Robert <17119716+robmonte@users.noreply.github.com>
Co-authored-by: mryan-hashi <88851444+mryan-hashi@users.noreply.github.com>
Co-authored-by: taoism4504 <loann@hashicorp.com>
Co-authored-by: Christopher Swenson <swenson@swenson.io>
Co-authored-by: Jim Kalafut <jkalafut@hashicorp.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
Co-authored-by: Jose Estrada <jose.estrada@tradeshift.com>
Co-authored-by: Arnav Palnitkar <arnav@hashicorp.com>
* Fix edit capabilities call in auth method
- Capabilities call was not getting triggered correctly as apiPath
method was missing the correct context.
* Added changelog
* Warnings indicating ignored and replaced parameters
* Avoid additional var creation
* Add warnings only if the response is non-nil
* Return the response even when error is non-nil
* Fix tests
* Rearrange comments
* Print warning in the log
* Fix another test
* Add CL