Visitar URL original
argocd | ZarfSkip to content

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/v1beta1
kind: ZarfPackageConfig
metadata:
name: argocd
description: Example showcasing installing ArgoCD
values:
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