Skip to main content
The Application CRD is the core resource in Argo CD that represents a deployed application. It defines the relationship between a source repository and a Kubernetes cluster, along with sync policies and configuration options.

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

The source field defines where your application manifests are stored:

Destination Configuration

The destination 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

string
Current health of the application. Possible values:
  • Healthy - All resources are healthy
  • Progressing - Application is being deployed or updated
  • Degraded - One or more resources are unhealthy
  • Suspended - Application is suspended
  • Missing - Resources are missing from the cluster
  • Unknown - Health status cannot be determined

Sync Status

string
Comparison result between live state and desired state:
  • Synced - Live state matches desired state
  • OutOfSync - Live state differs from desired state
  • Unknown - Sync status cannot be determined

Application Lifecycle

Creation

Applications can be created via:
1

Declaratively via kubectl

2

Using Argo CD CLI

3

Through the Web UI

Navigate to Applications → New App and fill in the form

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:
Without a finalizer, deleting the Application CR will NOT delete the deployed resources from the cluster.

Ignore Differences

You can configure Argo CD to ignore certain differences during comparison:

Revision History

Argo CD maintains a history of sync operations:
View sync history:

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 the app.kubernetes.io/instance label:

Next Steps

Learn about automated sync policies and sync strategies