-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement a centralized way to manage CA trust bundles #464
Comments
I think this makes sense to generate a standardized "root CA"/"CA bundle" secret in each namespace that has a |
We're going to need a way to get the CA into our authservice setup so this might be partially-implemented there (at least the aspect of pepr having the CA). From there we would just need to generate a secret, either always or by opt-in on the package CR. The final aspect would be ensuring we implement rotations effectively - at which point it may be good to evaluate if trust-manager solves some of my problems in a more simple way (with less for us to maintain). |
Given a set of root certs that we want to add to our trust chain, we need the following:
In the example linked above in the issue, we are using trust-manager for the first 4 items, and then manually adding volume mounts via package overrides. Some charts are easier to customize in this way than others. It would be very nice if the package CR had an optional field for custom CA mount points, which pepr could use to automatically inject the volumemount to all (or selector matched) containers in a pacakge so that package maintainers could ensure custom CAs were properly added without the need for init containers and running Maybe something like this (half baked warning):
In this way a package maintainer could specify which pods should mount which trust bundles and where to place them. |
(seems related lol) |
Is your feature request related to a problem? Please describe.
As Ezra I want a way to specify a CA root of trust that can be pulled into UDS packages so that I do not need to manually provide bundle overrides for each individual package manually.
Describe the solution you'd like
uds-core
and my appuds-core
and my application packageDescribe alternatives you've considered
Delivery folks could add their own package that contains the CA bundle and packages could detect the presence of a secret in their namespace but this would make this an optional feature which would reduce the security benefits and make each package a bit more complex.
We could handle this similar to the ###ZARF_VAR_DOMAIN### variable and pass a ###ZARF_VAR_TRUST_BUNDLE### that each package pulls in and wires up to a configmap or secret of it's choosing. This would make providing a CA required but relies on (janky) Zarf templating and doesn't handle cert rotations well (since that would hit UDS Core and packages may not be updated with it.
Additional context
This could be implemented with trustmanager or Pepr things. There is an experimental implementation of this w/trustmanager here: defenseunicorns/uds-bundle-software-factory-nutanix#122
The text was updated successfully, but these errors were encountered: