Manage an Argo CD configuration in Git with Harness GitOps
Manage an Argo CD configuration as if it were a GitOps application.
You can define Argo CD applications, projects, and settings declaratively by using Kubernetes manifests, and you can manage these manifests in Harness GitOps just as you would a Harness GitOps application.
This topic walks you through setting up Harness GitOps to manage Argo CD configurations stored in your Git repository.
Create the GitOps application
A Harness GitOps application consists of a GitOps repository, cluster, and application settings.
To add the GitOps application for your Argo CD configuration, do the following:
Install a Harness GitOps agent on the destination cluster.
In Harness GitOps, add a GitOps repository for the repository where your Argo CD configurations are stored. For steps on how to do this, go to Add a Harness GitOps repository.

Click to view full size image Add a Harness GitOps cluster for the destination cluster where you installed the Harness GitOps agent.

Click to view full size image Add a Harness GitOps application for the Argo CD configuration.
Use the Harness GitOps repository added earlier.
In Path, select or add the path to the Argo CD configurations.

Click to view full size image Use the Harness GitOps cluster added earlier. In Namespace, provide the namespace where the agent is installed.
Save the Harness GitOps application.
If the sync policy is manual, sync the application manually.
Once these steps are complete, you should be able to see the newly created GitOps entities in the Harness project that you configured in Git.
Git Configuration Files
Most entities, such as ConfigMaps, repository credentials, and applications will work without requiring modifications. Some entities, namely clusters, repositories, and AppProject, need some Harness-specific values added to the existing Argo-provided templates.
Sample repository configuration
Here's a sample repository configuration:
Sample cluster configuration
Here's a sample cluster config:
Additional fields for clusters and repositories
Here are the additional fields required for clusters and repositories:
stringData.projectordata.project, whose value is the AppProject name. Provide this field only if you want the entity to reside within the scope of a Harness project or organization.stringData.nameordata.name, whose value is the name of the entity in Harness.
The remaining fields remain the same as in Argo CD.
Sample Argo AppProject configuration
Here's a sample configuration for the Argo CD AppProject:
Additional fields required for the Argo CD AppProject
Following are the additional fields required for the AppProject:
metadata.labels.accountId, whose value is the Harness account identifier.metadata.labels.orgId, whose value is the Harness organization identifier.metadata.labels.projectId, whose value is the Harness project identifier.
The remaining fields remain the same as in Argo CD.
You can use all other entity configurations without modifying them.
Sample application
Here's a sample application:
Last updated
Was this helpful?
