This repository has been archived by the owner on Apr 22, 2024. It is now read-only.
Allow to load trusted CAs from k8s secrets #60
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In addition to the last PRs about trusted CAs, this one adds the ability to load the CA from a kubernetes secret instead.
It creates the
k8s.SecretReader
that loads the bytes from a secret. This makes thetls.Pool
to load and manage thetls.Config
s the same way regardless if they are loaded(and reloaded) from a file or a secret.At the same time, this PR:
k8s.ClientLoader
)k8s.SecretLoader
to use the newk8s.SecretReader
, this would allow to easily setup a refresh interval in a future PR.internal.TLSPool
totls.Pool
to avoid import cycles.@nacx @zhaohuabing I would like to listen to your thoughts about this since I feel this conflicts a little bit with #54 that refreshes client-secrets with a k8s controller.
I would like to load and reload secrets the same way, client secrets or CA certs. I feel it offers a better understanding for users and developers.
Let me start with the advantages of this implementation:
Disadvantages: