-
Epic
-
Resolution: Done
-
Major
-
None
-
Support Resource Customizations as per Argo CD 2.1
-
False
-
False
-
To Do
-
0% To Do, 0% In Progress, 100% Done
-
As a user of Argo CD Operator, I want to have my configurations in resourceCustomizations mapped to the argocd-cm without having to use the now deprecated resource.customizations key.
Context/value:
Users of Argo CD Operator can specify resourceCustomizations to define resource customization in ArgoCD CRD define resource customization. However, the generated key/value in argocd-cm ConfigMap has been depreciated in Argo CD v2.1. In v2.1 the ConfigMap should use resource.customizations key, please see this post.
In the upcoming release, the resource.customizations key has been deprecated in favor of a separate ConfigMap key per resource. This allows to decompose the Argo CD configuration and makes it more convenient to use with config management tools such as Kustomize.
We should update Argocd Operator to generate the new resource customization key/value in argocd-cm as documented above. The resourceCustomizations key in ArgoCD CRD should also be changed to accept the new configuration format. The old format is to be depreciated but it should still be supported.
Upstream issue: https://github.com/redhat-developer/gitops-operator/issues/248
Acceptance Criteria:
- Update Argocd Operator to generate the new resource customization key/value in argocd-cm config map.
- Update Argocd Operator to accept the new resource customization key/value in the CR.
- Generate event log to alert users that the configuration is depreciated when the old configuration format is used in the CR.
- Make sure upgrading argocd operator with existing resource customizations happen seamlessly and without problems
- Add unit tests and e2e tests
- Update documentations.
Notes:
- The change to the resourceCustomizations attribute needs to follow the GA attribute lifecycle and first get deprecated and then removed >9 months later in an upcoming release
- these changes should also take into consideration `extraConfigs` in ArgoCD CR. `extraConfigs` should be able to map to the new key/value pairs for resource.customizations.