argocd-image-updater icon indicating copy to clipboard operation
argocd-image-updater copied to clipboard

Introduce configuration using Custom Resources instead of annotations

Open jannfis opened this issue 4 years ago • 4 comments

Is your feature request related to a problem? Please describe.

Currently, Argo CD Image Updater is configured in two ways:

  • The images and applications to be updated are configured by applying annotation on Argo CD's Application resources. This is cumbersome (need to for each application which uses a certain image) and error prone (e.g. typos).

  • Additionally registry configuration is done using a YAML within a ConfigMap resource, e.g. registries.conf

Describe the solution you'd like

We want to make the configuration of Argo CD Image Updater - both for registries and applications - to be a strongly typed one, so that creating a configuration becomes less error prone. Also, we want to decouple the image configuration from a single Application resource, so that it becomes easier to say "update image foobar in all applications matching a giving pattern/project/label selector`.

For this, two new CRDs should be introduced:

  • argoproj.io/ImageUpdateConfig for describing images to be updated and mapping them to Applications
  • argoproj.io/RegistryConfig for configuring custom registries to be used by Image Updater

The APIs have yet to be defined and are currently work in progress. But they will eventually replace the current way of configuring Image Updater.

An initial version of the APIs/CRDs will be attached to this issue once they are in a reviewable state.

jannfis avatar Aug 11 '21 18:08 jannfis

@jannfis Just curious if you've made any progress on this front?

diranged avatar Sep 10 '21 14:09 diranged