-
Story
-
Resolution: Done
-
Undefined
-
None
-
None
-
5
-
False
-
-
False
-
-
-
GitOps Tangerine Sprint 26, GitOps Tangerine Sprint 27
Story (Required)
- As a image updater user, I'd like to configure a multi-source app with both kustomize and helm source, but want to use helm as the primary source, and to write image updates to a helm values file.
Background and Approach (Required)
- There is a community PR https://github.com/argoproj-labs/argocd-image-updater/pull/1417 to solve this issue by adding a new boolean field to WriteBackConfig struct in types.go to indicate that the writeback target is helm or not. We need to evaluate if it's really necessary to add such a new field.
The other approach without api modification is to infer the primary source type (helm or kustomize) from the data in the app spec sources and the current WriteBackConfig (this enhanced logic is only needed for multi-source app only):
If the WriteBackConfig target has .yaml or .yml extension, but does not starts with .argocd-source-, then this target is a helm values file. Any target with prefix .argocd-source- is reserved as the default writeback target when no writeback target is configured in the app.
Dependencies
- None
Acceptance Criteria (Mandatory)
- Update source code to refactor the logic that identify application source.
- PR merged
- Unit tests merged
Definition of Done
- Code Complete:
- All code has been written, reviewed, and approved.
- Tested:
- Unit tests have been written and passed.
- Ensure code coverage is not reduced with the changes.
- Integration tests have been automated.
- System tests have been conducted, and all critical bugs have been fixed.
- Tested and merged on OpenShift either upstream or downstream on a local build.
- Documentation:
- User documentation or release notes have been written (if applicable).
- Build:
- Code has been successfully built and integrated into the main repository / project.
- Midstream changes (if applicable) are done, reviewed, approved and merged.
- Review:
- Code has been peer-reviewed and meets coding standards.
- All acceptance criteria defined in the user story have been met.
- Tested by reviewer on OpenShift.
- Deployment:
- The feature has been deployed on OpenShift cluster for testing.