Skip to content

Support Argo CD sourceHydrator Applications in Image Updater (CRD mode) #1403

@julianderks

Description

@julianderks

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

When using Argo CD Source Hydrator (spec.sourceHydrator) in an Application, Argo CD Image Updater in CRD-based mode (v1.x) is unable to determine the application source and therefore cannot perform Git write-back.

Image Updater expects spec.source or spec.sources[] to be present on the Application. However, Applications using Source Hydrator only define:

spec:
  sourceHydrator:
    drySource:
      repoURL: ...
      path: ...
      targetRevision: ...

As a result, Image Updater logs the following and skips the application:

Could not create write-back config for app <app-name>, skipping:
application source is not defined

This makes it impossible to use Image Updater CRD mode together with Argo CD Source Hydrator

Describe the solution you'd like

Add support in Image Updater (CRD-based configuration) to recognize and use spec.sourceHydrator.drySource as a valid application source.

Concretely:

  • Treat sourceHydrator.drySource as equivalent to spec.source for the purposes of:
    • determining the Git repository
    • determining the target revision / branch
    • performing Git write-back
  • Allow Image Updater to operate on the dry source repository, which is the correct write-back target when using Source Hydrator.

This would allow Image Updater CRD mode to work seamlessly with Argo CD Source Hydrator.

Describe alternatives you've considered

Version
This feature request applies to (check all that apply):

  • Annotation-based configuration (versions starting with 0, e.g., 0.17.0)
  • CRD-based configuration (versions starting with 1, e.g., 1.0.0)

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions