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

Add argocd appset create/update/delete/list cli commands

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Undefined Undefined
    • 1.7.0
    • None
    • ArgoCD
    • None
    • GITOPS Sprint 219

      argocd appset create "(filename.yaml)"
      argocd appset delete "(applicationset resource name)"
      argocd appset apply "(filename.yaml)"
      argocd appset list
      

       

      This proposal assumes that the ApplicationSet controller is still an optional, standalone install. Thus all argocd appset commands should fail if the ApplicationSet controller is not installed. (The Argo CD API server would check if the ApplicationServer is running by looking for a deployment with a specific 'applicationset controller' annotation, or similar mechanism.)

      This command proposal differs significantly from how the argocd app create command is designed: notice the lack of parameters to appset create/apply besides the filename. Rather than creating an application(set) by adding support for a large number of parameters, eg:

      argocd app create guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --dest-namespace default --dest-server https://kubernetes.default.svc --directory-recurse

      Instead appset create and appset apply will just take as a parameter, a path to a YAML file, in the form of a standard ApplicationSet CR:

      # cluster-addons.yaml:
      apiVersion: argoproj.io/v1alpha1
      kind: ApplicationSet
      metadata:
        name: cluster-addons
      spec:
        generators:
        - git:
            repoURL: https://github.com/argoproj-labs/applicationset.git
            revision: HEAD
            directories:
            - path: examples/git-generator-directory/cluster-addons/*
        template:
          metadata:
            name: '{{path.basename}}'
          spec:
            project: default
            source:
              repoURL: https://github.com/argoproj-labs/applicationset.git
              targetRevision: HEAD
              path: '{{path}}'
            destination:
              server: https://kubernetes.default.svc
              namespace: '{{path.basename}}' 

       

      # Create the above ApplicationSet
      argocd appset create cluster-addons.yaml 

      Acceptance Criteria:

      • Command option `appset` is available for `argocd` command
      • The command options create/delete/update/list are available for `argocd appset`

              isequeir@redhat.com Ishita Sequeira
              isequeir@redhat.com Ishita Sequeira
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: