-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
False
-
None
-
False
-
-
-
-
No
Value Statement
IBM controller-filtered-cache package is the current solution for k8s client caching in the MCO project. It has been unmaintained since a very long time. Due to this, It's locked to old versions of k8s-related dependencies, including the controller-runtime, and old Go compiler versions.
This is makes dependency upgrades in the MCO much more difficult and troublesome. We would like to get rid of this dependency to improve our experience when upgrading the MCO's dependencies
Attempts at this were previously made, although unsuccessful, and some work can be found at https://github.com/stolostron/multicluster-observability-operator/pull/1465. The MCO relies on custom behavior of this cache regarding its ability to cache unstructured objects and query objects that are not present in the cache.
Currently the MCO uses a forked version that was upgrade enough to run with k8s libs 1.29.x and Go 1.21: https://github.com/stolostron/controller-filtered-cache/tree/upgrade-k8s-deps.
Definition of Done for Engineering Story Owner (Checklist)
- The MCO does not depend anymore on IBM's controller-filtered-cache.
Development Complete
- The code is complete.
- Existing functionality is working.
Tests Automated
- [ ] Unit/function tests are all passing.
Secure Design
- [ ] Security has been assessed and incorporated into your threat model.
Multidisciplinary Teams Readiness
- [ ] Provide input to the QE team, and ensure QE acceptance criteria
(established between story owner and QE focal) are met.