Summary
Several constants and helper methods are duplicated across controller packages.
Duplicated constants
condTypeReady = "Ready" declared independently in:
internal/controller/alerts/axonopsmetricalert_controller.go:38
internal/controller/backups/axonopsbackup_controller.go:43
internal/controller/kafka/axonopskafkatopic_controller.go:39
Duplicated helpers
setFailedCondition method has identical bodies in every controller across alerts, backups, and kafka packages.
Duplicated test helpers
createTestConnectionAndSecret is copied in alerts/test_helpers_test.go, backups/test_helpers_test.go, kafka/test_helpers_test.go.
Fix
- Move
condTypeReady to internal/controller/common/connection.go
- Add a shared
SetFailedCondition helper to common (using generics or client.Object interface)
- Extract test helper to
internal/testutil/connection.go (test-only package)
Acceptance Criteria
condTypeReady exists only in common package
- No duplicated
setFailedCondition bodies across packages
- Test helper exists in one location, imported by all test suites
- All tests pass
Priority
P2
Summary
Several constants and helper methods are duplicated across controller packages.
Duplicated constants
condTypeReady = "Ready"declared independently in:internal/controller/alerts/axonopsmetricalert_controller.go:38internal/controller/backups/axonopsbackup_controller.go:43internal/controller/kafka/axonopskafkatopic_controller.go:39Duplicated helpers
setFailedConditionmethod has identical bodies in every controller across alerts, backups, and kafka packages.Duplicated test helpers
createTestConnectionAndSecretis copied inalerts/test_helpers_test.go,backups/test_helpers_test.go,kafka/test_helpers_test.go.Fix
condTypeReadytointernal/controller/common/connection.goSetFailedConditionhelper tocommon(using generics orclient.Objectinterface)internal/testutil/connection.go(test-only package)Acceptance Criteria
condTypeReadyexists only incommonpackagesetFailedConditionbodies across packagesPriority
P2