This is a backport of #173 to release/vault-1.11.x. It also pulls in #162 since we need to test/build with go-1.19.
Ensure a consistent TLS configuration for k8s API requests
Previously, it was possible for the http.Client's Transport to be missing the necessary root CAs to ensure that all TLS connections between the auth engine and the Kubernetes API were validated against a configured set of CA certificates.
This fix ensures that the http.Client's Transport is always consistent with the configured CA cert chain, by introducing a periodic TLS configuration checker that is started as part of the backend's initialization.
Other fixes:
only update the client's transport when the CA certificate pool has changed.
Overview
A high level description of the contribution, including:
Who the change affects or is for (stakeholders)?
What is the change?
Why is the change needed?
How does this change affect the user experience (if at all)?
[ ] Add relevant docs to upstream Vault repository, or sufficient reasoning why docs won’t be added yet
My Docs PR LinkExample
[ ] Add output for any tests not ran in CI to the PR description (eg, acceptance tests)
[ ] Backwards compatible
This is a backport of #173 to
release/vault-1.11.x
. It also pulls in #162 since we need to test/build with go-1.19.Previously, it was possible for the http.Client's Transport to be missing the necessary root CAs to ensure that all TLS connections between the auth engine and the Kubernetes API were validated against a configured set of CA certificates.
This fix ensures that the http.Client's Transport is always consistent with the configured CA cert chain, by introducing a periodic TLS configuration checker that is started as part of the backend's initialization.
Other fixes:
Overview
A high level description of the contribution, including: Who the change affects or is for (stakeholders)? What is the change? Why is the change needed? How does this change affect the user experience (if at all)?
Design of Change
How was this change implemented?
Related Issues/Pull Requests
[ ] Issue #1234 [ ] PR #1234
Contributor Checklist
[ ] Add relevant docs to upstream Vault repository, or sufficient reasoning why docs won’t be added yet My Docs PR Link Example [ ] Add output for any tests not ran in CI to the PR description (eg, acceptance tests) [ ] Backwards compatible