[OCPBUGS-25341]: perform operator apiService certificate validity checks directly
Cert updates can occasionally fail silently, updating only the timestamps on the CSV without any changes to the underlying cert secret. This PR uses the cert expiry times directly to retry the refresh.
* re-reconcile if the cert secret changes
We already do this for all olm managed secrets
* re-reconcile at a time in the future base on the current secrets' expiration time.
With each reconcile, we check all certs for anything that expires in a day or less and rotate all of those, including the ones that are already expired. The problem was that we were checking the cert freshness timestamps on the CSV to make those checks, and those were sometimes being incorrectly updated when the cert rotate hadn't really succeeded.
With each reconcile, we check all certs for anything that expires in a day or less and rotate all of those, including the ones that are already expired.
But I'm wondering if there's a scenario where:
- I install an operator that needs a cert
- OLM creates the secrets, sets expiration to
now + N - Everything reconciles, steady state is achieved, no further changes are made to the CSV.
Ntime passes, and the certs expire. Still no changes, so still no cert renewal?
Is there something that forces a re-reconcile inside the time window where:
- The certs are not yet expired, but
- They are close enough to expiration that we'll rotate them.