Closed carsonoid closed 6 years ago
After some more debugging I have found that there is an error here that is not being surfaced:
This is failing:
I added some debug lines and this is the error:
ERRO[0585] object has no meta: object does not implement the Object interfaces context=kubelego
Closing this now as #339 has merged and 0.1.7 cut. Thanks for the report and for the extensive debugging!
The fixes put into 0.1.6 for workqueue limiting appear to be preventing proper autorenewals. I can clearly see the ingress rules being processed the first time the pod starts. But the periodic check is not actually processing items off of the queue.
I have captured debug output below from a test cluster with one ingress rule.
Here you can see kube-lego start:
Then it processes the first ingress which was directly added to the queue:
Now it waits 5 min before re-queuing all
And that's it.... We should see the same worker logs from pod start here... but instead get nothing until the next "requeue"
I think this has to do with the switch to a
RateLimitingWorkqueue
and the split betweenAdd
andAddRateLimted
here: https://github.com/jetstack/kube-lego/blob/b77e3f2e64589f076d9371f958d8627b5092eda0/pkg/kubelego/watch.go#L95But I'm not sure what the solution is (besides moving to cert-manager which I can't do right now)