Skip to main content
This guide covers common troubleshooting scenarios and tools for diagnosing and resolving Argo CD issues.

Troubleshooting Tools

Argo CD provides argocd admin subcommands to validate settings and troubleshoot connectivity issues.

Settings Validation

Validate Argo CD configuration before applying to production:
This command performs basic validation of:
  • ConfigMap settings (argocd-cm)
  • RBAC policies (argocd-rbac-cm)
  • Resource customizations
  • Repository credentials

Common Issues

Application Sync Failures

Symptoms: Application shows OutOfSync but sync operation fails or doesn’t start.Diagnosis:
Common causes:
  • Invalid manifests in Git repository
  • Resource quota exceeded in target cluster
  • RBAC permissions preventing resource creation
  • Cluster connectivity issues
Solutions:
Symptoms: Application reconciliation fails with Context deadline exceeded.Root cause: Manifest generation is taking too long, exceeding the controller timeout.Solutions:
1

Increase repo server timeout

2

Scale repo server

3

Optimize repository

  • Use shallow clones for large repositories
  • Enable manifest path annotations for monorepos
  • Reduce parallelism limit if resource-constrained
Symptoms: Sync fails with “insufficient permissions” or RBAC errors.Diagnosis:
Solution: Update AppProject to allow resources:

Git Repository Issues

Symptoms: Applications can’t connect to Git repositories.Diagnosis:
Common causes:
  • Invalid credentials
  • Network connectivity issues
  • SSH key not configured
  • Certificate validation failures
Solutions:For HTTPS repositories:
For SSH repositories:
Symptoms: Intermittent failures resolving Git references (branches, tags).Solution: Increase retry count for Git operations:

Cluster Connectivity Issues

Symptoms: Managed cluster shows as “Unreachable” or “Unknown” in UI.Diagnosis:
1

SSH into application controller

2

Export kubeconfig from cluster secret

3

Test connectivity

Common issues:
  • Expired certificates
  • Invalid bearer tokens
  • Network policies blocking traffic
  • API server URL changed
Solution: Update cluster credentials:

Resource Customization Issues

Custom health checks can be tested before applying to production:
Example health check (Lua):
Test ignore differences configurations:
Shows which fields will be ignored during diff operations.
Execute custom resource actions:

Performance Issues

Symptoms: Applications take a long time to reconcile and sync.Diagnosis:
Solutions:
1

Increase controller processors

2

Enable controller sharding

3

Optimize monorepo performance

Use manifest path annotations:
Symptoms: Argo CD components OOMKilled or using excessive memory.Common causes:
  • Too many cached resources
  • Large repositories
  • Too many applications per controller
Solutions:For repo server:
For application controller:
Mount persistent volume for repo server:
Symptoms: High argocd_repo_pending_request_total metric.Cause: Multiple applications in same repository causing sequential processing.Solutions:
  • Enable concurrent processing (create .argocd-allow-concurrency file)
  • Scale repo server horizontally
  • Split applications into separate repositories
  • Use manifest path annotations

Application Health Issues

Cause: No health check defined for resource type.Solution: Add custom health check:
Diagnosis:
Common causes:
  • Pods stuck in ImagePullBackOff
  • Insufficient resources (CPU/memory)
  • Failing health checks
  • Init containers not completing

Debugging Commands

Log Collection

Resource Inspection

Configuration Verification

Getting Help

GitHub Issues

Search existing issues or create new ones: argoproj/argo-cd

Slack Community

Join the Argo CD community: CNCF Slack #argo-cd

Documentation

Official Argo CD docs: argo-cd.readthedocs.io

Stack Overflow

Ask questions with the argocd tag: stackoverflow.com