Closed dimm0 closed 3 years ago
@adrienjt will you fix this, or I'm on my own? :)
I was able to repro this issue. This only happens if the Admiralty controller manager is restarted while the token has expired.
We shouldn't wait indefinitely for informers to sync, and make sure we handle stale caches.
Or, like you said, for each type of controller, we could run one controller per target instead of a single fan-out controller.
I have 2 targets set up in different namespaces. One target got broken (the token was recreated in remote cluster, and admiralty couldn't authenticate), which broke the remote pod in another namespace federation - it was stuck terminating and new ones were not starting. Once I fixed the config, the other namespace started working fine.
It would be nice to handle the different federation links in independent goroutines, so that a single user can't break the whole cluster.