0

I have several ArgoCD applications deployed as third party helm charts, using custom values. These are specified either as vaulesObject or valueFiles in the application definition. As an example, I'll paste the relatively simple cert-manager app.

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: cert-manager
  namespace: argocd
spec:
  destination:
    namespace: cert-manager
    server: https://kubernetes.default.svc
  project: governance
  source:
    chart: cert-manager
    repoURL: https://charts.jetstack.io
    targetRevision: 1.16.3
    helm:
      valuesObject:
        nodeSelector:
          role: governance
        crds:
          enabled: true
        prometheus:
          enabled: true
          servicemonitor:
            enabled: true
  syncPolicy:
    automated:
      prune: true

Applying this manifest, I get a Sync Error on the ArgoCD UI.

Failed sync attempt to 1.16.3: one or more synchronization tasks are not valid (retried 5 times).

I am aware of this issue, in which it is suggested to quote any boolean values. This doesn't work for this cert-manager chart, giving another error:

application spec for cert-manager is invalid: InvalidSpecError: Unable to generate manifests in : rpc error: code = Unknown desc = failed to execute helm template command: failed to get command args to log: `helm template . --name-template cert-manager --namespace cert-manager --kube-version 1.31 --values /tmp/30a203c7-c52e-44f3-b7c9-b8fa3dcd0cdf <api versions removed> --include-crds` failed exit status 1: Error: values don't meet the specifications of the schema(s) in the following chart(s): cert-manager: - crds.enabled: Invalid type. Expected: boolean, given: string - prometheus.enabled: Invalid type. Expected: boolean, given: string - prometheus.servicemonitor.enabled: Invalid type. Expected: boolean, given: string

Basically complaining that these should be booleans, not strings. Other charts don't have this problem, but fail to work with strings also, giving the same original error as above.

Has anyone found a solution to this?

0 Answers0