This repository has been archived by the owner on Nov 1, 2022. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Silence access errors logged internally by kubernetes libraries
The Kubernetes Go libraries sometimes handle errors internally (using `runtime.HandleError`) which doesn't allow for custom error handling. This is really unfortunate since it doesn't give us the opportunity to selectively silence tolerable errors. In particular, fluxd cannot know in advance whether it has access to certain cluster resources. An, admitedly not ideal, solution is silencing access errors when logged by `runtime.HandleError`, since it can lead to the logs being flooded. Alternatives like forking and maintaining parts of the kubernetes libraries to add proper error handling are even worse. This change is was triggered by the use of [`cache.NewInformer`](https://godoc.org/k8s.io/client-go/tools/cache#NewInformer) to track CRD changes, which lead to the logs being flooded by (tolerable) access errors when flux doesn't have permission to list CRDs.
- Loading branch information