-
Epic
-
Resolution: Won't Do
-
Major
-
None
-
None
-
None
-
ArgoCD Operator Code Cleanup
-
False
-
False
-
To Do
-
0% To Do, 0% In Progress, 100% Done
-
Undefined
-
There are areas in ArgoCD Operator that are due for code cleanup.
- OpensShift Hook
- Revisit/move actions in filter predicate that should be in reconciler
- Revisit Role/RoleBinding
- Refactor reconcile functions
- Abstract OpenShift Route/Ingress (see https://docs.openshift.com/container-platform/4.6/networking/routes/route-configuration.html#nw-ingress-creating-a-route-via-an-ingress_route-configuration)
Acceptance Criteria
- Upstream argocd operator is constructed with some "hook" mechanism which allows downstream gitops operator extension code to be invoked. Openshift specific extension code should live in gitops operator. Upstream and downstream will have unit tests and e2e test. The upstream tests will exercise on k8s cluster and downstream will test on OCP.
- Filter predicate does not alter resource states. It should only contain logic to filter events (return false to filter out event). Altering resource states are moved to reconcile functions.
- Role/rolebindng are not reconciled more than once. The role/role binding reconciler return values are actually consumed.
- Reconcile functions are refactored. It currently has a lot of reconcile functions.
- Research a clean and elegant way to use Route when it is on OCP. Otherwise, Ingress is created. We could leverage the "OpenShift Hook" here. Implement and add unit/e2e tests.