hashicorp / vault-plugin-auth-kubernetes

Vault authentication plugin for Kubernetes Service Accounts
https://www.vaultproject.io/docs/auth/kubernetes.html
Mozilla Public License 2.0
206 stars 62 forks source link

Ensure a consistent TLS configuration (#173) (#178) - backport to 1.11 #190

Closed benashz closed 1 year ago

benashz commented 1 year ago

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