Theory

Updated

October 30, 2026

Theory: Diff Algorithms Decide What “Out of Sync” Means

Argo compares live Kubernetes objects to rendered Git. Ignore differences, jq paths, and server-side apply all change that predicate.

Invariants

  1. Webhook vs polling is how fast Git is noticed, not how sync works.
  2. Health is controllers’ opinion (Deployment available), not Git.
  3. External clusters need credentials in Argo’s DB/secret store.
desired YAML  vs  live JSON   →  sync status
live conditions            →  health status

What can break

  • Ignoring /spec/replicas while HPA owns replicas (or vice versa).

How to read this chapter

Registration, poll vs webhook, diffs, health.