Previous: , Up: The App-Image-Chart Synchronization   [Contents]


6.1.3 Argo Templates Repository

This specifc repository, or directory inside an existing repository, host all manifest files needed to configure Argo CD with a declarative approach. With this setup, we can manage how Argo CD behaves through GitOps practices.

Argo CD ‘Application’ resource specification in YAML syntax.

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: example
  namespace: argocd
spec:
  project: default
  source:
    chart: example
    repoURL: <REPOSITORY_URL>
    targetRevision: 1.0
    helm:
      valueFiles:
        - values.yaml
  destination:
    server: "https://kubernetes.default.svc"
    namespace: example

By using this approach, Argo CD can be set up to use an App of Apps pattern, which means that a single defined Argo CD Application resource is able to deploy all other declared Argo CD applications, without the need of doing so manually; this recursive deployment model causes even Argo CD to deploy and control itself.