Skip to main content
Version: Early Access

Argo CD Plugin

This topic describes the tasks available with the Argo CD plugin.

About Argo CD

Argo CD is a GitOps continuous delivery tool for Kubernetes, which continuously monitors all the running applications and compares the live state with the desired state specified in the Git repo. Argo CD automates the deployment of the desired application states in the specified target environments. Application deployments can track updates to branches, tags, or pinned to a specific version of manifests at a Git commit.

A deployed application is considered OutOfSync when its live state deviates from the target state.


Prerequisites

  1. Digital.ai Release 22.0.x or later
  2. A running Argo CD server

Setup Connection to Argo CD Server

  1. Log on to Digital.ai Release as an Administrator.

  2. Navigate to CONFIGURATION > Connections.

  3. Click the + icon next to ArgoCD: Server.

  4. Fill in the required information:

    FieldDescription
    TitleA name for the Argo CD server connection.
    URLThe base URL where the Argo CD server can be reached.
    UsernameLogin username for the Argo CD server.
    PasswordLogin password for the Argo CD server.
    Auth TokenAuthentication token for connecting to the Argo CD server. Use this instead of username/password when token-based authentication is enabled.
    ProxyFill in the proxy details if needed.
    CapabilitiesDefines routing rules for remote runners. Add one or more capability labels to direct tasks to appropriate runners.

    argocd

  5. Click Test to verify your connection to the Argo CD server.

  6. Click Save if the connection is successful.


Available Tasks

The following tasks are available with the Argo CD plugin:

  • Add Or Update Repository
  • Create Project
  • Create Or Update Application
  • Sync Application
  • Get Sync Status
  • Get Manifest
  • Wait For Status
  • Get Revision Metadata
  • List Projects
  • List Repositories
  • Rollback Application
  • Delete Application

Each task in the Argo CD plugin includes a set of input properties and output properties. Input properties pass in parameters required for execution, while output properties capture the results returned by Argo CD.

tip

The task output properties can be mapped to Release variables for later use.
For more information, see Mapping Task Output Properties to Variables.


Add Or Update Repository

Adds a new repository configuration in the ArgoCD instance or updates the configuration if it already exists.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
Repo typeSpecifies the type of repository being added or updated (git and helm).
Repo URLURL to the Git or Helm chart repository.
Repository nameOptional unique identifier for this repository configuration within ArgoCD.
ProjectName of the ArgoCD project to which the repository will be associated.
Repo usernameUsername used for authenticating to the repository.
Repo passwordPassword or token used for repository authentication.
Enable LFSEnables Git Large File Storage (LFS) support for the repository.
Enable OCIEnables OCI support when configuring an OCI-based Helm repository.
Inherited credentialsUses credentials defined at the ArgoCD server level instead of providing task-level credentials.
InsecureAllows insecure connections (e.g., skipping certificate validation).
Insecure Ignore host keyDisables SSH host key verification when connecting via SSH.
ProxyHTTP/HTTPS proxy URL used when accessing the repository.
SSH keySSH private key (in plain text) for authenticating to an SSH-based Git repository.
TLS client certificateTLS certificate (PEM format) for repository connections requiring client-side certificates.
TLS client keyTLS private key (PEM format) paired with the client certificate.
UpsertUpdates the repository configuration if it already exists instead of failing.

Output Properties

FieldDescription
Repository URLThe final repository URL configured in ArgoCD.
ResponseKey-value map containing the response returned by ArgoCD for the operation.

add repository


Create Project

Creates a new project in the ArgoCD instance.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
Project nameName of the ArgoCD project. Must be lowercase.
Source repositoriesList of repository URLs that the project is allowed to reference.
DestinationsKey-value map specifying allowed deployment destinations (cluster URL and namespace).

Output Properties

FieldDescription
Project nameReturns the created project name.

create project


Create Or Update Application

Creates a new application in the ArgoCD instance or updates the configuration if it already exists.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
App nameName of the ArgoCD application.
Project nameArgoCD project under which this application will be created.
Cluster URLDestination cluster URL for deploying the application.
NamespaceNamespace in the target cluster where the application will be deployed.
Repo URLSource repository URL containing the manifests, Helm chart, or Kustomize configuration.
PathRepository path where the application manifests or chart are located.
Helm chart nameName of the Helm chart (when using Helm).
Target revisionGit/Helm reference to sync (commit, tag, branch, semver expression).
LabelsKey-value labels to attach to the application. These labels can be used to organize, search, and filter applications in the Argo CD UI.
Value filesList of Helm value files to use during rendering.
ValuesInline Helm values in YAML/JSON format.
Helm parametersKey-value parameters to override Helm chart defaults.
Helm file parametersFile-based Helm parameters.
Helm missing valuesWhether to ignore missing Helm values during rendering.
Pass credentialsPasses credentials (username/password or SSH private key) to submodules.
Release nameHelm release name. If not provided, ArgoCD uses the application name.
Skip CRDsSkips installing CRDs when deploying Helm charts.
Helm template versionHelm version to use for templating.
Force Helm parametersForces Helm parameters to take precedence.
Kustomize common annotationsKey-value annotations added to all Kustomize resources.
Common annotations overrideAllows overriding Kustomize annotations at resource level.
Kustomize common labelsKey-value labels added to all Kustomize resources.
Force common annotationsForces Kustomize common annotations to override resource annotations.
Force common labelsForces Kustomize common labels to override resource labels.
Kustomize imagesList of Kustomize image transformations for deployment.
Kustomize name prefixPrefix added to Kustomize-managed resources.
Kustomize name suffixSuffix added to Kustomize-managed resources.
Kustomize namespaceNamespace applied to all Kustomize-managed resources.
Kustomize versionVersion of Kustomize to use for templating.
UpsertUpdates the application configuration if it already exists.
ValidateValidates application manifests before deploying.
Auto syncEnables automatic syncing of the application.
Prune resourcesDeletes resources that are no longer defined in Git.
Self healAutomatically corrects drift between live and desired state.
Skip dry runIgnores dry-run validation before making modifications.
Skip cluster validationBypasses cluster-side validation when deploying resources.
Prune lastDeletes resources only after successful sync of new objects.
Auto create namespaceAutomatically creates the namespace if it does not exist.
Apply out of sync onlyOnly applies resources that are out of sync.
Prune propagation policyDefines pruning strategy (foreground, background, and orphan).
RevisionGit revision or Helm chart version to deploy.

Output Properties

FieldDescription
App nameReturns the configured application name.
ResponseKey-value map containing the response returned by ArgoCD for the operation.

create application


Sync Application

This task lets you sync an Argo CD application to the Kubernetes cluster provided.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
Application nameName of the ArgoCD application.
Auto create namespaceAutomatically creates the namespace if it does not exist.
Prune resourcesDeletes resources that are no longer defined in Git.
Prune propagation policyDefines the deletion propagation strategy (foreground, background, orphan).
RefreshRefresh mode for the application (normal or hard).
Server-Side ApplyEnables Kubernetes Server-Side Apply when syncing resources.
Wait for syncWaits until the sync operation completes successfully.
Retry wait timeTime in seconds to wait between retry attempts.
Max retriesMaximum number of retry attempts.

Output Properties

FieldDescription
StatusResult of the application sync operation.
RevisionThe application revision that was synced.

sync application


Get Sync Status

Retrieves the sync status of an existing ArgoCD application.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
App nameName of the ArgoCD application.

Output Properties

FieldDescription
Sync statusCurrent sync status of the application.
RevisionGit revision or chart version currently applied by the application.

get sync status


Get Manifest

Retrieves the manifest of a specific resource within an ArgoCD application.

Input Properties

FieldDescription
ArgoCD ServerThe ArgoCD server connection to use for this operation.
App NameName of the ArgoCD application.
Resource NameName of the resource inside the application whose manifest is requested.

Output Properties

FieldDescription
Live manifestThe live manifest of the resource as observed in the cluster.
Desired manifestThe desired manifest of the resource as defined in Git.

get manifest


Wait For Status

This task is used to wait for the Argo application to move to the expected sync and health status.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
App nameName of the ArgoCD application.
Expected sync statusSync status the task waits for.
Expected health statusHealth status the task waits for.
Retry wait timeTime in seconds to wait between retry attempts.
Max retriesMaximum number of retry attempts.

Output Properties

FieldDescription
Sync statusFinal sync status of the application.
Health statusFinal health status of the application.
RevisionCurrent revision of the application at the time of completion.

Wait For Status


Get Revision Metadata

This task is used to retrieve the application revision metadata based on the revision ID.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
App nameName of the ArgoCD application.
RevisionThe specific application revision whose metadata is requested. This Revision field is added as an output field in SyncApplication and SyncStatus tasks. You can use these revision values in a complete flow context.

Output Properties

FieldDescription
MetadataMetadata details for the specified application revision.

Get Revisions Metadata


List Projects

Retrieves the list of all projects configured in the ArgoCD instance.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.

Output Properties

FieldDescription
Project listList of all ArgoCD projects.

List Projects


List Repositories

Retrieves and displays information about all the GIT repositories configured in the Argo CD instance.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.

Output Properties

FieldDescription
RepositoriesList of added repositories.

List Repos


Rollback Application

Rolls back an ArgoCD application to a previous revision.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
Project nameName of the ArgoCD project.
Application nameName of the ArgoCD application.
Application namespaceNamespace where the application is deployed.
History ID and revisionRevision identifier to roll back to. Format: HistoryID-Revision. If left empty, the application rolls back to the previous revision.
Prune resourcesDeletes resources that are no longer defined in Git.
Dry runSimulates the rollback without applying any actual changes.
Wait for completionWaits until the operation completes.
Retry wait timeTime in seconds to wait between retry attempts.
Max retriesMaximum number of retry attempts.

Output Properties

FieldDescription
Application sync statusSync status of the application after the rollback.
Current revisionThe application revision after rollback completion.

Rollback application


Delete Application

This task deletes an application from Argo CD.

Deletes an existing ArgoCD application along with its managed resources.

Input Properties

FieldDescription
ArgoCD serverThe ArgoCD server connection to use for this operation.
Project nameName of the ArgoCD project.
Application nameName of the ArgoCD application.
Propagation policySpecifies the policy for propagating deletions of resource (foreground, background, non-cascading).
Application namespaceNamespace where the application is deployed.
Wait for completionWaits until the operation completes.
Retry wait timeTime in seconds to wait between retry attempts.
Max retriesMaximum number of retry attempts.

List Repos