Application CRD Structure
An Application is a Kubernetes Custom Resource Definition (CRD) that declaratively defines a deployed application instance.Basic Application Manifest
Core Components
Source Configuration
Thesource field defines where your application manifests are stored:
Destination Configuration
Thedestination field specifies where the application should be deployed:
The namespace will only be set for namespace-scoped resources that have not set a value for
.metadata.namespace.Multi-Source Applications
Starting with Argo CD v2.6, applications can have multiple sources:Application Status
The Application status provides real-time information about the deployed state:Health Status
Current health of the application. Possible values:
Healthy- All resources are healthyProgressing- Application is being deployed or updatedDegraded- One or more resources are unhealthySuspended- Application is suspendedMissing- Resources are missing from the clusterUnknown- Health status cannot be determined
Sync Status
Comparison result between live state and desired state:
Synced- Live state matches desired stateOutOfSync- Live state differs from desired stateUnknown- Sync status cannot be determined
Application Lifecycle
Creation
Applications can be created via:Sync Operation
A sync operation deploys the desired state to the target cluster:Deletion
When an Application is deleted, resources are handled based on the finalizer:Ignore Differences
You can configure Argo CD to ignore certain differences during comparison:Revision History
Argo CD maintains a history of sync operations:Application Information
Add custom metadata visible in the UI:Resource Tracking
Argo CD tracks application resources using labels and annotations. The default tracking method uses theapp.kubernetes.io/instance label:
Next Steps
Learn about automated sync policies and sync strategies