# argocd_source_list-and-git.yaml
# This example demonstrates the combining of the git generator with a list generator
# The expected output would be an application per git directory and a list entry (application_count = git directory * list entries)
#
#
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: list-git
spec:
  goTemplate: true
  goTemplateOptions: ["missingkey=error"]
  generators:
  - matrix:
      generators:
      - git:
          repoURL: https://github.com/argoproj/argo-cd.git
          revision: HEAD
          directories:
          - path: applicationset/examples/matrix/cluster-addons/*
      - list:
          elements:
          - cluster: engineering-dev
            url: https://1.2.3.4
            values:
              project: dev
          - cluster: engineering-prod
            url: https://2.4.6.8
            values:
              project: prod
  template:
    metadata:
      name: '{{.path.basename}}-{{.cluster}}'
    spec:
      project: '{{.values.project}}'
      source:
        repoURL: https://github.com/argoproj/argo-cd.git
        targetRevision: HEAD
        path: '{{.path.path}}'
      destination:
        server: '{{.url}}'
        namespace: '{{.path.basename}}'