apiVersion: argoproj.io/v1alpha1 kind: Application metadata: # Name of the Argo CD Application resource itself name: cert-manager # Namespace where Argo CD is running namespace: argocd # Optional: Add finalizer to ensure related resources are deleted before the app # finalizers: # - resources-finalizer.argocd.argoproj.io spec: # Reference to the Argo CD Project (use 'default' if you haven't set up custom projects) project: default # Source of the manifests (Helm chart) source: # URL of the Helm repository repoURL: https://charts.jetstack.io # Name of the chart in the repository chart: cert-manager # Specify a specific, stable version of the chart! (e.g., v1.14.4) targetRevision: v1.17.1 # <-- UPDATE TO YOUR DESIRED STABLE VERSION # Helm-specific configuration helm: # Reference your custom values file(s) # Paths are relative to the root of the Git repository defined in the Application source # (or the repo where this Application manifest itself lives if managed via GitOps) valueFiles: - values.yaml # <-- PATH TO YOUR VALUES FILE IN GIT parameters: - name: crds.enabled value: 'true' # Destination cluster and namespace destination: # URL of the target cluster (use this for the cluster where Argo CD runs) server: https://kubernetes.default.svc # Namespace where cert-manager components should be installed *on the target cluster* namespace: cert-manager # Sync policy syncPolicy: # Enable automated synchronization automated: # Delete resources that are no longer defined in the source (Helm chart + values) prune: true # Automatically sync when the application is found to be OutOfSync selfHeal: true # Sync options syncOptions: # Instruct Argo CD to create the destination namespace ('cert-manager') if it doesn't exist. - CreateNamespace=true # Optional: Sometimes helps prevent race conditions with CRDs # - RespectIgnoreDifferences=true # - ApplyOutOfSyncOnly=true