holos-run / holos

Holos - The Holistic platform manager
https://holos.run
Apache License 2.0
1 stars 0 forks source link

ArgoCD Image Updater #227

Closed jeffmccune closed 1 month ago

jeffmccune commented 1 month ago

https://argocd-image-updater.readthedocs.io/en/stable/configuration/images/

  1. Do not write to kustomization.yaml to avoid conflicts with holos render.
  2. Do configure argocd-image-updater.argoproj.io/write-back-method: git write-back method
  3. Always deploy the latest build from main to dev-holos. Try the allow-tags annotation.
jeffmccune commented 1 month ago

Decided not to use the Image Updater for the following reasons:

  1. The deployment is removed from the workflow that builds and publishes the images. Users are left hanging as to if it deployed or not.
  2. The supported image update strategies create friction with the Holos goal of producing fully rendered yaml. kubectl apply -f deploy/clusters/aws2/components/dev-holos-app would produce different results than the Application resource would.
  3. The controller is unnecessary, a workflow is better suited.
  4. Holos supports this use case already with the userdata feature. Workflows need only write the image tag, e.g. something like echo '{"imageTag":"'${GIT_DESCRIBE}'"}' > userdata/dev-holos-app/image.json
jeffmccune commented 1 month ago

Refer to #228 for the Holos userdata implementation.