Skip to content
← Advanced DevOps

Learning bite

Argo CD applications and sync

Connect a Git revision to a narrowly scoped local reconciliation target.

Documentation reviewed2026-10-01 · 3 min read
On this page

Build once, then reconcile intent

GitHub Actions builds and tests an artifact. Argo CD reads deployment configuration from Git and reconciles the cluster. A Git commit in an application repository does not automatically change the deployment image; the desired configuration must reference the new artifact.

An Argo CD Application identifies a repository, revision, path, destination, and project. Synced describes agreement with desired manifests. Healthy describes resource health as assessed by the controller. Neither guarantees a correct MicroBank account balance.

Follow one revision through the Application

Treat an Application as an address for both its input and its destination. repoURL selects the Git repository, targetRevision selects a commit/branch/tag, and path selects the manifest directory. The destination specifies the cluster API and namespace. The project sets which repositories, destinations, and resource kinds that Application may request. A correct path in the wrong repository, or a correct revision aimed at the wrong namespace, is still the wrong deployment.

Work through this invented example before installation:

StepDesired revisionLive imageInterpretation
Baselinecommit A declares image Aimage AThe image agrees with the selected input
Build finishesApplication still selects Aimage ABuilding B has not requested deployment of B
Desired revision changes to Bcommit B declares image Bimage AA diff can now show the unapplied change
Manual sync completescommit Bimage BVerify workload health and the user journey next

If the app fails after the last row, rebuilding the same image blindly adds little information. Inspect sync errors, the actual Pod image ID, configuration, and the failing transaction separately.

Small practice: open the Application template in the GitOps lab as text. Mark its five choices: repository, revision, path, destination, and project. Then answer two cases. A commit pushed to another branch is invisible to an Application pinned to A until its revision changes. A successful manual sync of B can still produce an unhealthy Pod if B contains an invalid startup setting. These distinctions make status labels useful instead of reassuring by default.

Use a small local controller

Argo CD Core is sufficient for the first exercise: it supplies reconciliation without the normal long-running API/UI server, while still including supporting components such as Redis and the repository server. It relies on Kubernetes access controls. Use a reviewed release tag and its installation manifest; measure its resource use on your host.

The module lab starts with a pinned Git commit, an AppProject restricted to your repository and the microbank namespace, and a manual sync. Do not commit the local kubeconfig or real credentials. A repository must be reachable from the controller; a folder on your Mac is not automatically a Git server.

Observe one change

Keep a note containing source commit, rendered manifest checksum, Application sync status, Pod image ID, and transaction-check result. Change one benign annotation, commit it, update the Application revision, and sync again. Then repeat with a rebuilt application image that has been loaded into kind.

Checkpoint: if Git has a new image reference but the cluster still has the previous one, inspect the Application's selected revision and sync result before rebuilding. If sync is complete but the journey fails, investigate the application and verify the transaction result separately from controller status.

Checkpoint answer: first compare the Application's requested and observed revision, then its operation result and rendered image. A repository-fetch failure and a healthy old image can coexist. Continue to drift and pruning with manual synchronization understood; automation changes when the same actions happen, not what they mean.

Sources

Argo CD Core↗, Application specification↗, and projects↗.

Your notes and evidence

Record observations, questions, or links to your work. Keep credentials out of your notes.

Loading saved progress…

Back up or restore this path

Progress and notes stay in this browser. A backup contains only this learning path.