Argo CD "Manifest generation error" in CI
Manifest generation is the repo-server step that produces YAML from your source. A Manifest generation error is the umbrella message; the wrapped detail names the specific tool (helm, kustomize, plugin, or path) that failed.
What this error means
The Application condition is "Manifest generation error" and the app cannot sync because it has no rendered manifests. The detail text points to the underlying tool or path problem.
ComparisonError: rpc error: code = Unknown desc = Manifest generation error (cached):
helm template . --name-template my-app failed exit status 1: Error: template:
mychart/templates/deploy.yaml:14:20: nil pointer evaluating interface {}.tagCommon causes
The configured tool failed
Whatever generator the source uses (Helm, kustomize, directory, or plugin) returned an error, which is wrapped in the detail text.
A stale cached error
"(cached)" means the repo-server is replaying a previous generation failure until a hard refresh forces a re-render.
How to fix it
Identify the failing generator
- Read the detail after "Manifest generation error:" to see which tool failed.
- Reproduce that tool locally with the same inputs.
- Fix it, push, and hard-refresh to clear the cache.
argocd app get my-app
argocd app get my-app --hard-refreshVerify the source type and path
Confirm the Application source declares the right tool and path so the repo-server picks the correct generator.
spec:
source:
path: overlays/prod
repoURL: https://github.com/acme/manifests
targetRevision: mainHow to prevent it
- Render your source with its tool in CI before Argo CD does.
- Confirm the source path and type match your repo layout.
- Hard-refresh after a fix so cached generation errors do not linger.