I’ve ran into an issue with our deployment. Our web client identity cert has a short expiry config (lets say 10 days), when the cert expires the deployment doesn’t recognize this and issue a new CSR to the issuer. Effectively blocking connections until I manually replace the secret in k8s. Is this intended behavior?
Should I increase the cert expiration from a short window to a couple years? or do I need to have automation that kicks the secret before expiration and then reboots the controller pod so it loads the new cert/secret.
You’re correct, there are several components in a Ziti network that must have a writable identity so they can auto-renew, or you must managed the identity configuration file out-of-band, e.g., replace the certificate in the k8s secret.
This will be critical for networks in clustered mode because the list of controller nodes will change and must be saved in the same file, the identity configuration file, usually JSON.
Some deployments have the option to use a writable volume or a read-only k8s secret mounted on the pod. Which Helm chart are you using? Does the user guide describe a writable volume option?
the issue was not that the cert was expiring prematurely, but that when cert-manager issued a new cert, the pod didn’t get restarted to load in the new secret.
I added a cronjob to the helm deployment to rollout restart the controller pod 1 day before the 10 day cert expiry (so every 9 days) and this resolved my issue. Its probably a hacky workaround but for now it does the job lol