The max_page_size variable lets operators control the size of the
pagination pages. This value configures both the maximum permitted
page size and the default page size when none is explicitly provided.
Operators can tweak this option up or down to increase or reduce
the load on the database during pagination.
* docs: Document API rate limiting
* docs: Fix default setting
* addss rate limiting examples to complete configuration example
* use # for comments for consistency
* Update website/content/docs/api-clients/api.mdx
Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com>
* Apply batch suggestions from code review
Co-authored-by: Michael Li <michael.li@hashicorp.com>
* docs: Updates from review feedback
* docs: Updates from review feedback
* docs: Add new defaults and sub-headings
* Update website/content/docs/api-clients/go-sdk.mdx
Co-authored-by: Timothy Messier <tim.messier@gmail.com>
* docs: Remove remaining comments from code blocks
* docs: Update code blocks
* fixes tabs
* Update website/content/docs/api-clients/api.mdx
Co-authored-by: Michael Li <michael.li@hashicorp.com>
---------
Co-authored-by: stellarsquall <stellarsquall@protonmail.ch>
Co-authored-by: Robin Beck <stellarsquall@users.noreply.github.com>
Co-authored-by: Michael Li <michael.li@hashicorp.com>
Co-authored-by: Timothy Messier <tim.messier@gmail.com>
* docs: enable session recording on a target
* docs: Minor copy edit to make sentence singular
---------
Co-authored-by: Dan Heath <76443935+Dan-Heath@users.noreply.github.com>
This adds a new mechanism for worker authentication that uses the
third-party arbitration of the original KMS flow by leveraging
recently-added capabilities in nodeenrollment to support a registration
wrapper. This allows for workers to be registered to the system with
just a name and a matching wrapper, while at the same time allowing
these workers to be used for private Vault access and multi-hop as they
contain per-worker encryption keys and support rotation.
Nodes using this mode will generate and rotate credentials in-memory
(using another recently added nodeenrollment capability) so will have a
new set of keys on every startup. This has the side effect of ensuring
that there is never a conflict or re-use of these credentials.
Note that the normal test worker flow was using the now-deprecated KMS
method; there is still a test that uses this (explicitly) but all other
tests using test workers that did not specify a specific PKI flow now
actually use this mechanism. This means there is fairly decent test
coverage in a general sense, plus the specific tests updated/added for
this feature.
This also adds a new KMS type that can be used to have
distinct KMSes for upstream authentication vs. accepting from
downstream.
* docs: Add HCP only to heading
* docs: Add worker requirements
* docs: Fix heading format and hierarchy
* docs: Fix headings format
* docs: Update feature name using "sessions"
* docs: Fix heading hierarchy
* docs: Fix headings format
* docs: Fix spacing in title
* add custom ResponseWriter struct to inject custom response headers based on status code
* docs
* upgrade listenerutil
* fix config tests
* replace all instances of "data:*" with "data:" to reflect changes to listenerutil
* swapping strings.HasPrefix in favor of mux.Handler for ui request matching
* set ui path as const
* add custom response headers to changelog
This adds an action to the API that allows pulling out an activation
token that can be given to a worker in its config (directly or via env
or file). The worker can pass this along with its normal request in
place of its normal nonce and the server will automatically accept it.
Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com>
This adds two new config options for the `database` stanza:
- `max_idle_connections`
- `max_idle_time`
These correspond to settings for the underlying `sql.DB` instance. They
can be used to have finer control over the controller's database
connection pool. For example this can be used to mitigate the high
connection overhead when connecting to postgres by setting a high
`max_idle_connections` and either setting `max_idle_time` to zero or to
a high duration.
Alternatively, if using a connection pool like pgpool-II or pgbouncer,
`max_idle_connections` can be set to 0.
See:
https://pkg.go.dev/database/sql#DB.SetMaxIdleConnshttps://pkg.go.dev/database/sql#DB.SetConnMaxIdleTimehttps://www.pgpool.net/mediawiki/index.php/Main_Pagehttps://www.pgbouncer.org/