feat: add proxy client certificate support #463
Merged
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.
Summary
Add
--proxy-client-cert-fileand--proxy-client-key-fileflags to enable mTLS authentication when proxying requests to aggregated API servers.This allows aggregated API servers to trust authentication headers (
X-Remote-User,X-Remote-Group, etc.) forwarded by Milo, resolvingsystem:anonymoususer issues.Detail
As I was working through deploying the activity-apiserver as an aggregated API on Milo's platform, I ran into issues where the activity apiserver was receiving requests with the
system:anonymoususer instead of the end-user I was authenticating as.I was able to trace this down to being caused by Milo not having a proxy client certificate issued that it uses to communicate with aggregated apiservers.
Causes https://github.com/datum-cloud/engineering/issues/90#issuecomment-3687933423