Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-2623

Support CLI for Multiple Sources in Argo CD

XMLWordPrintable

    • Support CLI for Multiple Sources in Argo CD
    • False
    • None
    • False
    • To Do
    • SECFLOWOTL-98 - Promote Multi-source application feature to GA
    • 0% To Do, 0% In Progress, 100% Done
    • Previously, the Argo CD CLI treated the first source as the primary source for multi-source applications. With the introduction of this feature, the Argo CD CLI now supports multi-source applications by considering all sources during processing.

      Epic Goal

      • Users should be able to specify multiple sources to add services to the application via the CLI. Argo CD should compile all the sources and reconcile each source individually for creating the application.
      • The cli would need to support adding a list of resources instead of just one while creating the application. values field should allow referencing value files from other sources. 
      • Upstream issue: https://github.com/argoproj/argo-cd/issues/12318

      The argocd CLI that will be affected are:

      https://argo-cd.readthedocs.io/en/release-1.8/user-guide/commands/argocd_app_resources/

      argocd app create - allow multi source repos to be created
      argocd app edit - allow repo to be added, modified, and deleted
      argocd app get - make sure that all the sources are outputted
      argocd app diff - make sure that the sources are compared
      argocd app patch - ditto
      argocd app sources
      set/unset/sync/rollback - make sure they work

      Why is this important?

      • The main motivation behind this enhancement proposal is to allow users to create an application using services that are stored in various sources and to do this in argocd through the use of the CLI. 

      Scenarios

      1. I am a user of argocd (or argocd-operator), I have a use case for using multiple sources, but I want to specify my multiple sources applications through the CLI. 

      Acceptance Criteria (Mandatory)

      • Make a proposal in argocd upstream for CLI support for multiple sources and have it accepted by the community. 
      • Write implementation code, write associated tests, and write documentation for the feature in argocd upstream
      • Bring the feature into argocd-operator and include documentation for it 

      Dependencies (internal and external)

      1. None

      Previous Work (Optional):

      1. https://github.com/argoproj/argo-cd/blob/master/docs/proposals/multiple-sources-for-applications.md 

      Open questions::

      1. What commands should the CLI have to support multiple sources?  https://github.com/argoproj/argo-cd/blob/master/docs/proposals/multiple-sources-for-applications.md#updates-to-cli

      Done Checklist

      • Acceptance criteria are met
      • Non-functional properties of the Feature have been validated (such as performance, resource, UX, security or privacy aspects)
      • User Journey automation is delivered
      • Support and SRE teams are provided with enough skills to support the feature in production environment

              isequeir@redhat.com Ishita Sequeira
              aveerama@redhat.com Abhishek Veeramalla
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: