We are currently using TLS certificates issued by the Puppet CA and created via cergen. They are deployed to the deploy1002 node via puppet, that creates ad-hoc helmfile private configs that we can load in our helm charts.
The TLS certs that we created are:
- inference.discovery.wmnet, deployed on the istio gateway pods (in the istio-system namespace) via the knative helm chart (since it handles all L7 configs for istio).
- Webhooks certificates for various pods
- TLS certificate for the Istio Egress gateway
The SRE team is integrating cert-manager/issuer in their clusters: https://wikitech.wikimedia.org/wiki/Kubernetes/cert-manager
We could do the following:
- Use the same config to create inference.discovery.wmnet from the Discovery intermediate PKI (see documentation).
- Create a new Intermediate PKI to handle our certificates for webhooks and egress gateway. See https://wikitech.wikimedia.org/wiki/PKI/CA_Operations#Intermediate_Certificates
This would free us from the Puppet CA completely, and open the door to mTLS between pods.