# Worker OEA Installation

{% hint style="info" %}
**Note: This installation is only for installing the Argo Components, intended to be used with the agent.**
{% endhint %}

## Introduction:

This document provides step-by-step instructions for installing Argo + [**Agent**](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/user-guide/opsmx-agent) on a Kubernetes cluster; it is assumed that the user is already using [**ISD** ](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/operator-manual/isd-argo-standard-installation/isd-argo-platform-standard-installation)in their environment.

The installation involves the following components:

* **Argo Components (Argo CD, Rollouts)**
* **OpenLDAP for authenticating Argo CD**

{% hint style="info" %}
**Note: Worker OEA Installation v4.1.2 supports the following Argo Components:**
{% endhint %}

* Argo CD - **v2.5.4**
* Argo Rollout - **v1.3.1**

## Environment Requirements:

It is assumed that you have a Kubernetes cluster with NGINX and cert-manager already installed. If not, refer to the document [**here** ](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/additional-resources/environment-setup-for-isd-argo)for more information on the Environment setup for ISD-Argo.

## Worker OEA Installation Steps:

Following are the sequence of activities to install Worker OEA.

1. [**Create Namespace**](#step-1-create-namespace)
2. [**Clone the Repo**](#step-2-clone-the-repo)
3. [**Configure URLs**](#step-3-configure-urls)
4. [**Install Application**](#step-4-install-application)
5. [**Confirm Installation**](#step-5-confirm-installation)
6. [**Post Installation: Integrate Argo CD with ISD, Create an application & enable verification**](#post-installation)

### Step:1 Create Namespace

Create a namespace in your cluster using the command below.

```
kubectl create ns <NAMESPACE-NAME>
```

### Step:2 Clone the Repo

Clone the enterprise Argo repo and change the directory to enterprise-argo by using below commands.

```
git clone https://github.com/OpsMx/enterprise-argo.git
cd enterprise-argo/charts/isdargo/
```

### Step:3 Configure URLs

1.  Run below command in your Terminal



    {% code overflow="wrap" %}
    ```
    sed -i "s/autoconfigureagent: true/autoconfigureagent: false/g" argocd-rollouts-values.yaml
    ```
    {% endcode %}
2. Configure Urls for Argo CD and Argo rollouts as per your DNS record.
3.  Update the URLs of Argo CD, Argo Rollouts as per your DNS records in all occurrences of the argocd-rollouts-values.yaml.\


    {% hint style="info" %}
    **Note**: If you are using a Linux machine, replace the URLs by using the sed commands below..
    {% endhint %}



    {% code overflow="wrap" %}
    ```
    sed -i "s/ARGO.REPLACE.THIS.WITH.YOURCOMPANY.COM/<Provide your Argo CD url here>/g" argocd-rollouts-values.yaml

    sed -i "s/ROLLOUTS.REPLACE.THIS.WITH.YOURCOMPANY.COM/<Provide your Argo rollouts url here>/g" argocd-rollouts-values.yaml
    ```
    {% endcode %}

### Step:4 Install Application

Run the below command to install the Argo.

{% code overflow="wrap" %}
```
helm install <RELEASE-NAME> . -n <NAMESPACE-NAME> -f isd-argo-minimal-values.yaml --timeout=10m
```
{% endcode %}

Update the following information in the above command:

* **RELEASE\_NAME**: You can give any name as release name (better to give namespace name as release name).
* **NAMESPACE-NAME**: Give the namespace name which you have created before.

### Step:5 Confirm Installation

1.  After successful installation, you can see the pods in your namespace. Use the below command to check the pods in your namespace.



    {% code overflow="wrap" %}
    ```
    kubectl -n <NAMESPACE-NAME> get pods
    ```
    {% endcode %}
2.  Once all the pods are up and running, you can access the applications with URLs you have prepared before. Use the below command to get those URLs.\


    {% code overflow="wrap" %}
    ```
    kubectl -n <NAMESPACE-NAME> get ing
    ```
    {% endcode %}
3. Access the ISD URL through browser & login into application using the credentials listed below:
   * **User Name**: admin
   *   **Password**: Execute the following command to retrieve the password\
       \
       In case "base64 command not found": Please execute the below command.

       {% code overflow="wrap" %}
       ```
       kubectl -n <namespace> get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d
       ```
       {% endcode %}

After executing the above command, copy the output and decode it using any online decoding site such as[ **https://www.base64decode.org/**](https://www.base64decode.org/)**.**

### Post Installation

Once the Worker OEA installation is completed, the next step is to integrate the Argo CD instances with ISD to enable the verification for your deployments. For detailed information on how to integrate Argo CD with ISD, refer [**here**](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/additional-resources/docs/argo-cd-integration-with-isd).

After the successful installation of Worker OEA and integration of Argo CD with ISD, you can create an application and enable the verification for the deployment of your application.&#x20;

* To create an application, refer [**here**](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/user-guide/manage-application/create-application).
* To enable verification, refer [**here**](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/user-guide/delivery-verification).
