argocd
This example demonstrates how to use ArgoCD with Zarf to deploy the stefanprodan/podinfo app using GitOps.
It uses a vanilla configuration of ArgoCD with upstream containers.
To learn more about how Zarf handles git repositories, see the Git Repositories section of the package components documentation.
zarf.yaml
apiVersion: zarf.dev/v1beta1kind: ZarfPackageConfigmetadata: name: argocd description: Example showcasing installing ArgoCDvalues: files: - values/values.yaml
components: - name: argocd-helm-chart charts: - name: argo-cd helmRepository: url: https://argoproj.github.io/argo-helm version: 9.0.5 namespace: argocd releaseName: argocd-baseline valuesFiles: - path: baseline/values.yaml # Required for 'src/test/external' to validate external git server. values: - sourcePath: ".extraObjects" targetPath: ".extraObjects" - sourcePath: ".repoServer" targetPath: ".repoServer" images: - name: docker.io/library/redis:7.2.11-alpine - name: quay.io/argoproj/argocd:v3.1.9 # Cosign artifacts for images - argocd-helm-chart - name: quay.io/argoproj/argocd:sha256-9c33285c0b86a66e9cf9fcafc448e48e0ab7c4678b20b3723556bb6cce8ea0b9.sig - name: quay.io/argoproj/argocd:sha256-9c33285c0b86a66e9cf9fcafc448e48e0ab7c4678b20b3723556bb6cce8ea0b9.att - name: argocd-apps charts: - name: argocd-apps helmRepository: url: https://argoproj.github.io/argo-helm version: 2.0.4 namespace: podinfo releaseName: argocd-apps valuesFiles: - path: apps/values.yaml repositories: - url: https://github.com/stefanprodan/podinfo.git images: - name: ghcr.io/stefanprodan/podinfo:6.4.0 actions: onDeploy: onSuccess: # This will use a wait action to wait for the pods to be ready - description: Podinfo pod to be ready via wait action wait: cluster: kind: pod name: app.kubernetes.io/name=podinfo namespace: podinfo condition: ready - name: argocd-applicationset charts: - name: argocd-apps helmRepository: url: https://argoproj.github.io/argo-helm version: 2.0.4 namespace: guestbook releaseName: argocd-apps valuesFiles: - path: applicationset/values.yaml repositories: - url: https://github.com/argoproj/argocd-example-apps.git ref: commit: 0d521c6e049889134f3122eb32d7ed342f43ca0d images: - name: gcr.io/google-samples/gb-frontend:v5 actions: onDeploy: onSuccess: - description: Guestbook UI pod to be ready via wait action wait: cluster: kind: pod name: app=guestbook-ui namespace: guestbook condition: ready - name: oci-helm charts: - name: argocd-apps helmRepository: url: https://argoproj.github.io/argo-helm version: 1.6.1 namespace: podinfo-oci releaseName: argocd-apps valuesFiles: - path: oci-helm/values.yaml images: - name: ghcr.io/stefanprodan/charts/podinfo:6.9.2 - name: ghcr.io/stefanprodan/podinfo:6.9.2 - name: oci-manifests charts: - name: argocd-apps helmRepository: url: https://argoproj.github.io/argo-helm version: 1.6.1 namespace: oci-manifests releaseName: argocd-apps valuesFiles: - path: oci-manifests/values.yaml images: - name: registry-1.docker.io/dhpup/oci-edge:1.0.6 - name: ghcr.io/dhpup/guestbook:0.1.40
attachments: readme: readme.md