-
Epic
-
Resolution: Done
-
Normal
-
None
-
Modernize CLO
-
13
-
False
-
False
-
NEW
-
To Do
-
OBSDA-50Refactor the Cluster Logging Operator to meet best-practices
-
NEW
-
0% To Do, 0% In Progress, 100% Done
-
Undefined
Goals
Make the Cluster Logging Operator easier to maintain and more efficient by applying modern operator build tools and best practices that were not available when it was first written.
Non-Goals
No new features, just refactor to make the code and build simpler.
Motivation
CLO is code is more complex than it needs to be. More code means more developer time spent reading and understanding it, and more places or bugs to hide.
Modern code generators and other build tools can reduce the complexity.
The CLO reconciles on a fixed timeout instead of watching for changes and reacting, as a modern operator should.
Alternatives
Sink developer time and effort into a more complicated code base.
Acceptance Criteria
CLO functions correctly as before, but there is less code to read and understand, and fewer places for bugs to hide.
Risk and Assumptions
Risk of bugs introduced by refactoring.
Assuming that our test framework can catch these.
Documentation Considerations
None, APIs are unchanged and the operator should function as before with better response times.
Open Questions
There are many areas we can improve by learning lessons from other operators.
Add new issues to this epic with specific improvements.
Additional Notes
Some examples to consider:
https://github.com/openshift/cluster-monitoring-operator
https://github.com/ViaQ/loki-operator