Argo CD Container Plugin
The Argo CD plugin allows you to seamlessly integrate Argo CD with your existing CI/CD pipelines, streamlining your Kubernetes continuous delivery workflow.
You must set up a connection to the AWS server before adding AWS tasks. For more information, see Set up Connection to Argo CD Server.
In the release flow editor, Container tasks have a blue border.
Argo CD plugin provides the following features:
- Check Application Status (Container)
- Create Application (Container)
- Create Project (Container)
- Create Repository (Container)
- Delete Application (Container)
- Delete Project (Container)
- Delete Repository (Container)
- Get Application Details (Container)
- Get Repository Details (Container)
- Get Version Command (Container)
- Get Project Details (Container)
- List Applications (Container)
- List Projects (Container)
- List Repositories (Container)
- Rollback Application (Container)
- Sync Application (Container)
- Update Application (Container)
- Update Repository (Container)
Prerequisites
For Argo CD integration, you need the following:
- Argo CD server running and accessible via HTTP(s)
- Digital.ai Release Runner setup to run the container tasks
Set up Connection to Argo CD Server
- From the navigation pane, under CONFIGURATION, click Connections.
- Under HTTP Server connections, next to ArgoCD API Server (Container), click . The New ArgoCD API Server (Container) page opens.
- In the Title field, enter a name for the configuration.
- In the URL field, enter the server URL.
- If you want to connect to the server, without validating the TLS certificate, select the Insecure checkbox.
- In the CA field, enter the trusted root certificate for server in base64 format.
- In the Authentication Method field, select your relevant authentication type from the drop-down list.
- PAT
- Basic
- For Basic, you can enter Username and Password.
- For PAT, you can enter the Password.
- To test the connection, click Test.
- To save the configuration, click Save.
Check Application Status (Container)
This task is used to retrieve the current status of a specified application, including its health, synchronization state, and recent activity. This task is essential for monitoring application performance and health.
- In the release flow tab of a Release template, add a task of type Argocd > Check Application Status (Container).
- Click the added task to open it.
- In the Capabilities field, enter a value that matches the capability set for your Runner. This will help you to route jobs to that particular Runner.
- In the Server field, select the configured Argo CD server.
- In the Application Name field, enter the name of the application.
- In the Retry field, enter a value to define the number of times you want to retry to check the status.
- In the Delay field, enter a value to define the duration between each retry attempt.
Check if ArgoCD Application Already Exists (Container)
This task is used to check if an Argo CD application already exists, which involves querying the Argo CD instance to see if a specific application name is already in use. This task is needed to prevent conflicts and duplicate deployments, ensuring a clean and organized deployment environment.
Create Application (Container)
This task is used to set up a new application in the Argo CD instance by defining its source repository, destination cluster, and other configuration parameters. This task is needed to automate the deployment and management of applications, ensuring they are consistently deployed to the desired environments.
Create Project (Container)
This task is used to set up a new project within the Argo CD instance. This task is necessary for organizing and managing applications and environments.
- In the release flow tab of a Release template, add a task of type Argocd > Create Project (Container).
- Click the added task to open it.
- In the Capabilities field, enter a value that matches the capability set for your Runner. This will help you to route jobs to that particular Runner.
- In the Server field, select the configured Argo CD server.
- In the Project Name field, enter the name of the project that you want to create in lowercase.
- In the Description field, enter the description of the project.
- In the Source Repositories field, you can add the URLs of the GIT repositories.
- If you select the Upsert toggle, ArgoCD will attempt to update the project if it already exists.
Create Repository (Container)
This task is used to add a new source code repository to the Argo CD instance by specifying its URL and access credentials. This task is needed to enable Argo CD to monitor and deploy applications from the specified repository, ensuring that the source code is integrated into the continuous delivery pipeline.
Delete Application (Container)
This task is used to remove an existing application from the Argo CD instance, including its configurations and deployment records. This task is needed to clean up and manage resources, ensuring that obsolete applications do not consume resources.
Delete Project (Container)
This task is used to remove an existing project from the Argo CD instance, along with its associated configurations and policies. This task is needed to manage and clean up resources, ensuring that outdated projects do not consume resources.
Delete Repository (Container)
This task is used to remove an existing Git repository from the Argo CD instance, including its access credentials and related configurations. This task is needed to clean up and manage repository integrations, ensuring that outdated repositories do not pose any security risks.
Get Application Details (Container)
This task is used to retrieve information about a specific application. This task is needed to provide insights and visibility into the application's current state and deployment history.
Get Repository Details (Container)
This task is used to retrieve detailed information about a specific Git repository, including its URL, access credentials, and associated applications. This task is needed to provide insights into the repository's configuration and usage, helping with management and troubleshooting.
Get Version Command (Container)
This task is used to retrieve the version information of the Argo CD instance or plugin itself. This task is used to ascertain the current version of the software for maintenance, compatibility checks, and upgrade planning purposes.
Get Project Details (Container)
This task is used to retrieve information about a specific project within the Argo CD instance. This task is essential for Administrators to gain visibility into project configurations, manage access control effectively, and ensure applications are deployed and managed properly.
List Applications (Container)
This task is used to retrieve and display a list of all applications managed within the Argo CD instance. This task is essential for Administrators and users to view and manage the current state and configurations of all deployed applications.
List Projects (Container)
This task is used to display a list of all the projects configured within the Argo CD instance. This task is crucial for Administrators and users to gain visibility into the organization of different environments or application groupings managed by Argo CD.
List Repositories (Container)
This task is used to display a list of all the Git repositories configured in the Argo CD instance. This task is essential for Administrators and users to manage and monitor the repositories used for deploying applications.
Rollback Application (Container)
This task is used to roll back an application to a previous version or state based on its deployment history. This task is crucial for quickly addressing issues or failures by restoring a known good state, ensuring application stability and minimizing downtime.
Sync Application (Container)
This task is used to match the desired state defined in the Git repository to the actual state of the application in the Kubernetes cluster. This task is essential for maintaining consistency between the declared configuration and the live environment.
Update Application (Container)
This task is used to modify the configuration of an existing application, including its source repository, destination cluster, and other deployment settings. This task is necessary for applying changes and improvements to applications, ensuring they remain current and properly configured.
Update Repository (Container)
This task is used to modify the configuration of an existing source code repository. This task is essential for maintaining accurate and up-to-date repository settings, ensuring seamless integration and security in the continuous delivery pipeline.