Skip to main content
📬 Get weekly Production AI insights Practical notes on Kubernetes, AI infrastructure and platform engineering. No spam. Subscribe free
Fix ArgoCD Application Stuck in OutOfSync
DevOps

Fix ArgoCD Application Stuck in OutOfSync

App permanently out of sync? Identify ignored differences, server-side mutations, and annotation-based sync exceptions. Practical guide with examples.

Luca Berton

· AI Advisor & Architect

Published · 1 min read

The Problem

Your ArgoCD application is permanently stuck in OutOfSync status regardless of how many times you sync.

Root Cause

This is different from a temporary sync issue. The application is stuck because:

  1. Mutating admission webhooks change resources after deployment
  2. Kubernetes defaulting adds fields not in your manifests
  3. Another controller (HPA, Istio, Kyverno) modifies the resource

Fix

Step 1: Find the Diff

argocd app diff my-app

Step 2: Add ignoreDifferences

spec:
  ignoreDifferences:
    - group: apps
      kind: Deployment
      jsonPointers:
        - /spec/replicas
    - group: networking.istio.io
      kind: VirtualService
      jqPathExpressions:
        - .metadata.generation

Step 3: Use Server-Side Apply

spec:
  syncPolicy:
    syncOptions:
      - ServerSideApply=true

Server-side apply lets Kubernetes handle field ownership conflicts, often resolving persistent OutOfSync issues.

Free 30-min Production AI consultation

Book Now