I have an IngressRoute that is referencing a cert that I have updated as the previous one had expired. I've restarted Traefik multiple times and it will serve the correct one for a bit, but it still randomly reverts back to serving the old expired cert and sometimes restarting serves the new one again. This is a manually provided cert, not let's encrypt.
I see the following line once in the logs, but it never repeats so I'm not sure if its just a temporary error while the pod loads or not.
time="2023-10-03T19:13:21Z" level=error msg="Error configuring TLS: secret application/wildcard-tls does not exist" namespace=application providerName=kubernetescrd ingress=applicant
This secret DOES exist however! The Traefik Service/ClusterRole/ClusterRoleBinding all also appear to be correct as far as I can see.
Sorry, that was an error in obfuscating the texts at different times, both namespaces are the same.
Does this mean that Traefik can potentially use a cert OTHER than the one directly referenced in the IngressRoute?
The cert referenced in my IngressRoute is definitely the latest one. I believe I've updated the cert everywhere else in my cluster, but it's a bit disconcerting if its using a cert other than the one I explicitly told it to.
For each incoming connection, Traefik is serving the "best" matching TLS certificate for the provided server name.
If Traefik still finds the old cert, it will prefer the old cert over the new one.
The best way to make sure that Traefik is using the new cert is to remove the old cert completely from the cluster.