* Upgrade CircleCI machine image
* setting the path for ci-verify
* create GOPATH/bin
This is because CI failed with
cp: cannot create regular file '/home/circleci/go/bin/': Not a directory
* Update .circleci/config/jobs/pre-flight-checks.yml
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
* updating config.yml
* source BASH_ENV
Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
* WIP: output policy
* Outputs example policy HCL for given request
* Simplify conditional
* Add PATCH capability
* Use OpenAPI spec and regex patterns to determine if path is sudo
* Add test for isSudoPath
* Add changelog
* Fix broken CLI tests
* Add output-policy to client cloning code
* Smaller fixes from PR comments
* Clone client instead of saving and restoring custom values
* Fix test
* Address comments
* Don't unset output-policy flag on KV requests otherwise the preflight request will fail and not populate LastOutputPolicyError
* Print errors saved in buffer from preflight KV requests
* Unescape characters in request URL
* Rename methods and properties to improve readability
* Put KV-specificness at front of KV-specific error
* Simplify logic by doing more direct returns of strings and errors
* Use precompiled regexes and move OpenAPI call to tests
* Remove commented out code
* Remove legacy MFA paths
* Remove unnecessary use of client
* Move sudo paths map to plugin helper
* Remove unused error return
* Add explanatory comment
* Remove need to pass in address
* Make {name} regex less greedy
* Use method and path instead of info from retryablerequest
* Add test for IsSudoPaths, use more idiomatic naming
* Use precompiled regexes and move OpenAPI call to tests (#15170)
* Use precompiled regexes and move OpenAPI call to tests
* Remove commented out code
* Remove legacy MFA paths
* Remove unnecessary use of client
* Move sudo paths map to plugin helper
* Remove unused error return
* Add explanatory comment
* Remove need to pass in address
* Make {name} regex less greedy
* Use method and path instead of info from retryablerequest
* Add test for IsSudoPaths, use more idiomatic naming
* Make stderr writing more obvious, fix nil pointer deref
VAULT-5827 Don't prepare SQL queries before executing them
We don't support proper prepared statements, i.e., preparing once and
executing many times since we do our own templating. So preparing our
queries does not really accomplish anything, and can have severe
performance impacts (see
https://github.com/hashicorp/vault-plugin-database-snowflake/issues/13
for example).
This behavior seems to have been copy-pasted for many years but not for
any particular reason that we have been able to find. First use was in
https://github.com/hashicorp/vault/pull/15
So here we switch to new methods suffixed with `Direct` to indicate
that they don't `Prepare` before running `Exec`, and switch everything
here to use those. We maintain the older methods with the existing
behavior (with `Prepare`) for backwards compatibility.
* fixes issues in key-edit component
* adds capabilities checks for keys and providers
* adds distribute component to key and provider edit
* adds wizard steps for kmse
* fix raft tls key rotation panic when rotation time in past
* add changelog entry
* push out next raft TLS rotation time in case close to elapsing
* consolidate tls key rotation duration calculation
* reduce raft getNextRotationTime padding to 10 seconds
* move tls rotation ticker reset to where its duration is calculated
* handle current warning
* handle history
* match the two flows
* clean up
* Refactor to account for chart indicator (#15121)
* refactor for charts
* revert handler changes
* clarify variable
* add 1.10 to version history
* woops add key
* handle mock query end date
* update current template
* add date
* fix tests
* fix fake version response
* address comments, cleanup
* change word
* add TODO
* revert selector
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>
* Add command help info
* Explain CLI and API correlation
* Update the heading level
* Updated the command example with more description
* Update website/content/docs/commands/index.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/docs/commands/index.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Update website/content/docs/commands/index.mdx
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* Incorporate review feedback
Co-authored-by: Loann Le <84412881+taoism4504@users.noreply.github.com>
* 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.