Argo CD Integration with ISD

This document helps to integrate Argo CD instances with ISD where ISD is running in one cluster and Argo CD is running in a different cluster.

Prerequisites:

  • ISD should be up and running to proceed further with integration of worker OEA/Agent.

  • A Host URL should be assigned to the Agent controller service. For detailed information, refer here.

There are the following two types of CD Integration you can perform through the ISD UI.

Connect existing Argo CD

You can connect an existing Argo CD instance to ISD from the “CD Integration” page in ISD UI. Follow the instructions below to connect an existing Argo CD instance to ISD.

  1. Click the “+ New CD Integration” button and then select “Connect existing Argo CD”. Refer to the image below.

  2. Now the “Connect An Existing Argo CD to ISD” page appears and it has three sections to update the necessary parameters as shown below:

    1. Overview: Provide your existing Argo CD information.

    2. Argo Agent: Install the OpsMx Agent for Argo.

    3. Connect to ISD: Establish the connection between Argo CD and ISD.

  3. Provide your existing Argo CD information under the Overview section and click the “Next” button. Refer to the image below.

    Update the following parameters in the above screen.

    • Argo CD Name: User defined name for this CD integration

    • Namespace: Namespace where Argo CD is installed. Usually it is “argocd

    • Argo CD URL: URL of your Argo CD instance. Providing this is optional.

  4. From the “Argo Agent” section, click on the “Download” button to download the Agent Manifest. Refer to the image below.

  5. Replace the value “ARGOCD_TOKEN_WITH_BASE64ENCODED” in the Agent Manifest (isd-argo-agent.yaml) with your Argo CD API Token. Refer to the image below. For more information on how to generate Argo CD API Token, refer here.

  6. Run the agent yaml where Argo CD is installed by using the below command and click the “Next” button. Refer to the image below.

    kubectl apply -f isd-argo-agent.yml -n  argocd

  7. It may take a few minutes for the agent and Argo CD to start communicating with ISD. Once the Argo CD is connected, the same will get reflected on the “Agents” and “CD Integration” pages in the ISD UI.

    Use the following command to check the status of the Agent pod.

    kubectl get pods -l agent.opsmx.com/role=agent -n argocd
  8. After checking the status, click the “Finish” button. Refer to the image below.

  9. To view the list of Argo CD integration accounts and their status, Refer here.

Create new Argo CD integration

You can add a New Argo CD Integration account from the “CD Integration” page in ISD UI. Follow the instructions below to create a New Argo CD Integration account.

  1. Click the “+ New CD Integration” button and then select “Create new Argo CD” . Refer to the image below.

  2. Now the “Create New Argo CD Instance” page appears and it has three sections to update the necessary parameters as shown below:

    1. Overview: Provide your Argo runtime attributes.

    2. Install OEA: Install the OpsMx Enterprise for Argo with Agent

    3. Connect To ISD: Establish the connection between Argo CD and ISD.

  3. Provide your Argo runtime attributes under the Overview section and click the “Next” button as shown in the image below.

    Update the following parameters in the above screen.

    • Argo CD Name: User defined name for this CD integration

    • Namespace: Namespace where Argo CD needs to be installed. You should create this namespace in your target cluster.

    • Argo CD URL: URL for your new Argo CD instance. Providing this is optional.

    • Include Argo Rollouts: if you wish to include Argo Rollouts, select the “Include Argo Rollouts” checkbox.

    • Description: Provide a description for the CD instance.

    • Labels: Select the required labels to be added to this CD instance from the labels dropdown. The labels are added to the instance for identification of the instances and filtering them during search purpose.

    • Permissions: Select the Enable all access to all the groups for this checkbox if you wish to give access for the CD instance to all the user groups in the application. Deselect Enable all access to all the groups for this checkbox if you wish to give access for the CD instance to only selected user groups. Select the user groups from the Select Group dropdown and enable the required permissions such as View, Edit or Delete to be given for the user groups. Now only the selected groups can do the enabled actions for the CD instance.

  4. From the “Install OEA” section, click on the “Download” button to download the Agent Manifest. Refer to the image below.

  5. After downloading the Agent Manifest file, run the below command in the target cluster and click the “Next” button. Refer to the image below.

    kubectl create namespace argocd
    kubectl apply -f isd-argo-agent.yml -n  argocd

  6. It may take a few minutes for the agent and Argo CD to start communicating with ISD. Once the Argo CD is connected, the same will get reflected on the “Agents” and “CD Integration” pages in the ISD UI.

    Use the following command to check the status of Argo CD and Agent pods.

    kubectl get pods -l app.kubernetes.io/name=argocd-server -n argocd
    kubectl get pods -l agent.opsmx.com/role=agent -n argocd

  7. After checking the status, click the “Finish” button. Refer to the image below.

  8. To view the list of Argo CD integration accounts and their status, Refer here.

Last updated