Argo Configurations
Git Configuration
Login to Argo tool → Settings
2. Navigate to Repositories
3. Click “Connect repo using HTTPS” / SSH as per requirement
4. Enter the details:
Select the type as git
Enter Repo URL and credentials and connect
5. The added Repo details get reflected in Repositories
Project Configuration
Navigate to Repositories → Projects
Click New Project
Enter the required details and save
The saved project is reflected
Kubernetes Cluster Configuration
The cluster added to Argo via CLI is reflected in “Clusters” tab of Argo tool.
Install ArgoCD CLI based on your system from https://argoproj.github.io/argo-cd/cli_installation/
Update the kubeconfig file through AWS CLI and create external clusters inside ArgoCD
# Update the kubeconfig file for auth. aws eks update-kubeconfig --region us-east-2 --name cluster-name # Login to argocd server through cli argocd login <argocd_server_url> --password <password> --username <username> # add external cluster through cli to argocd argocd cluster add <kube_context> --name <cluster-name> Note: kube_context format for EKS: arn:aws:eks:<region>:<account_id>:cluster/<cluster_name>
Opsera Configuration
Tool Registry Configuration
Login tohttps://portal.opsera.io -> Tool Registry -> Click ‘+New Tool’ Button
2. Locate ‘Argo’ tool and click ‘Select Tool’ to open Create New Tool form.
Enter Tool Name and any other tool details.
3. Click ‘Create’ button for the tool to be registered
4. In ‘Connections’ tab, enter connection details:
Argo Container URL, Argo User ID and Argo Password and click the ‘Save’ button.
5. Click 'Test Connection’ button to ensure the credentials are valid and the connection succeeds.
6. Navigate to ‘Clusters’ tab and click ‘+ New Argo Clusters' button.
7. Provide selections for drop-downs and click ‘Create’ button. Once a cluster has been created it will become available for selections in ‘Applications’ tab.
6. Navigate to Application tab and Click ‘+New Argo Application’ button.
7. Select correct values from the provided fields. The cluster added in ‘Clusters’ tab will be available in the ‘Cluster’ drop-down.
8. Navigate to git ‘Repositories’ tab, click ' + New Argo Repositories' button and provide values for the following fields:
Name - Provide a unique name for the new Argo repository.
SCM type - Select the source control management tool to configure. Choose from Bitbucket, Github or Gitlab.
SCM Tool - Select your configured source control management tool provided in the drop down.
Repository Name - Select a repository, fetched from the selected source control management tool.
9. Navigate to ‘Projects’ tab, click ‘+ New Argo Project’ button and provide values for the following fields:
Name - Create a unique name for the Argo project.
Description
Sources - The drop down list will provide sources from the repository selected in the git Repositories tab.
Destinations - *
Whitelisted Cluster Resources - *
Blacklisted Namespaced Resources - *
Whitelisted Namespaced Resources - *
Click ‘Save’ button to save the project.
Pipeline Setup and Configuration:
Sample pipeline flow:
Jenkins Docker Build → ECR Push → Argo Deploy
Jenkins - Docker Build
Sample Configuration screenshot of Docker build step:
2. ECR Push step configuration sample screenshot:
3. Argo deploy step configuration sample screenshot:
Rollback Enabled - When this step is enabled , rollback will happen automatically by deploying the artifact which is pointed to the artifacts.
Repository Tag - Select the repository or run to rollback to.
4. Save the steps and run the pipeline by clicking ‘Start Pipeline’.
5. Pipeline Logs: successful run
Argo Validation
Login to Argo Tool and verify the application reflected and synced