# Worker OEA Installation via curl command

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

## Introduction:&#x20;

This document provides step-by-step instructions for installing Argo + Agent on a Kubernetes cluster using a single curl command; it is assumed that the user is already using ISD in his environment.

The installation involves the following components:&#x20;

* Argo Components (ArgoCD, Rollouts)
* Agent configuration and Integration of ArgoCD with ISD
* Additional supporting/common components (Redis, OpenLDAP)

{% hint style="info" %}
**Note:** **Worker OEA Installation via curl command** **v4.1.1 supports the following Argo Components:**

* Argo CD - **v2.4.8**&#x20;
* Argo Rollout - **v1.2.0**
  {% endhint %}

### Environment requirements:&#x20;

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/operator-manual/installation-and-configuration/environment-setup-for-isd-argo)for more information on the Environment setup for ISD for Argo.&#x20;

For production-grade installation, please refer to the Infrastructure requirements [**here**](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/operator-manual/installation-and-configuration/isd-argo-on-prem-production-infrastructure-requirements).

### Pre-requisites:

* kubeconfig of the Argo CD installed cluster
* ISD installed
* URL and Username/Password
* Mapping of host URL with agent-grpc service. If not, do the mapping using this [**doc**](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/operator-manual/installation-and-configuration/create-controller-dns-in-isd).

### **Worker OEA Installation Steps:**

Worker OEA installation can be done using a single curl command. It is Helm in the backend.

Follow the instructions below for installation of Worker OEA and Integration of Argo CD with ISD.

1. Run the following curl command for installation.

   <pre data-overflow="wrap"><code>curl -o argo-agent.sh https://raw.githubusercontent.com/opsmx/enterprise-argo/main/curl/4.1.1/argo-agent.sh &#x26;&#x26; chmod 777 argo-agent.sh &#x26;&#x26; ./argo-agent.sh
   </code></pre>

2. After running the above curl command, enter the following inputs.

   * Specify Namespace: **argoagent**&#x20;
   * Specify ISD-UI URL: **isd.ninja-test.opsmx.net**&#x20;
   * Specify ISD Username: **admin**&#x20;
   * Specify ISD Password: Execute the following command to retrieve the password\
     `kubectl get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d`
   * Specify Controller DNS: **isdcontroller.agent.opsmx.net**&#x20;
   * Specify ArgoCD URL: **argocdagent.argo.opsmx.net**&#x20;
   * Specify ArgoRollout URL: **argorolloutagent.argo.opsmx.net**&#x20;
   * Specify Agent name: **argoremote**

   After passing the above parameters, the output appears as follows. Wait for the installation to complete.<br>

   <pre><code>$ curl -o argo-agent.sh https://raw.githubusercontent.com/opsmx/enterprise-argo/main/curl/4.1.1/argo-agent.sh &#x26;&#x26; chmod 777 argo-agent.sh &#x26;&#x26; ./argo-agent.sh

     % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left  Speed
   100 13870  100 13870    0     0  20609      0 --:--:-- --:--:-- --:--:-- 20578

       A R G O - A G E N T                                                                                                                                                            
   ------------------------------------------------------------
    System Requirements 
   ------------------------------------------------------------
      Configuration with at least 4 cores and 16 GB memory
      Kubernetes cluster 1.19 or later                    
      Helm 3 is setup on the client system   Installation - https://helm.sh/docs/intro/install/
      Nginx ingress controlled installed     Installation - https://kubernetes.github.io/ingress-nginx/deploy/
      Cert-manager installed                 Installation - https://cert-manager.io/docs/installation/kubernetes/
   ------------------------------------------------------------
    Prerequisite:
   ------------------------------------------------------------
                1. ISD installed
                2. Controller mapped to the DNS
                       CHECK: nslookup &#x3C;controller DNS>
   -------------------------
   Press enter to continue...
   -------------------------------------
              Pre Installation          
   -------------------------------------
   Please Specify the required data for installation ....

   Specify Namespace: argoagent
   Specify ISD-UI URL: isd.ninja-test.opsmx.net
   Specify ISD Username: admin
   Specify ISD Password: Execute the following command to retrieve the password
   <strong>kubectl get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d
   </strong>Specify Controller DNS: isdcontroller.agent.opsmx.net
   Specify ArgoCD URL: argocdagent.argo.opsmx.net
   Specify ArgoRollout URL: argorolloutagent.argo.opsmx.net
   ---
   Specify Agent name: argoremote
   Checking for dependency......
   Kubectl present in server..
   Helm present in server..
   yq present in server..
   Installed ArgoCLI dependency
   Existing CRD's analysisruns.argoproj.io
   -------------------------------------
                Installation     
   -------------------------------------
   Adding the helm repo....
   Updating the helm repo ...
   Creating the Namespace ...
   namespace/argoagent created

   Installing...

   NAME: isdargoargoagent
   LAST DEPLOYED: Thu Nov  3 11:20:02 2022
   NAMESPACE: argoagent
   STATUS: deployed
   REVISION: 1
   TEST SUITE: None
   -------------------------------------
                Post Installation       
   -------------------------------------
   ARGO services to be stabilize
          Waiting for ARGO services to be ready
          ARGO services are Up and Ready..

   'admin:login' logged in successfully
   Context 'argocdagent.argo.opsmx.net' updated
   {"id":14}  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left  Speed
   100 11105  100 11105    0     0   3207      0  0:00:03  0:00:03 --:--:--  3207
   LICENSE
   README.md
   kubectl-slice
   Wrote /tmp/yamls/serviceaccount-opsmx-agent-argoremote.yaml -- 163 bytes.
   Wrote /tmp/yamls/clusterrole-opsmx-agent-argoremote.yaml -- 897 bytes.
   Wrote /tmp/yamls/clusterrolebinding-opsmx-agent-argoremote.yaml -- 382 bytes.
   Wrote /tmp/yamls/role-opsmx-role-argoremote.yaml -- 293 bytes.
   Wrote /tmp/yamls/rolebinding-opsmx-binding-argoremote.yaml -- 348 bytes.
   Wrote /tmp/yamls/deployment-opsmx-agent-argoremote.yaml -- 1619 bytes.
   Wrote /tmp/yamls/configmap-opsmx-agent-argoremote.yaml -- 2704 bytes.
   Wrote /tmp/yamls/secret-opsmx-agent-argoremote.yaml -- 4675 bytes.
   8 files generated.

   -------------------------------------------------
      Applying the agent file in argocd namespcace
   clusterrole.rbac.authorization.k8s.io/opsmx-agent-argoremote created
   clusterrolebinding.rbac.authorization.k8s.io/opsmx-agent-argoremote created
   configmap/opsmx-agent-argoremote created
   deployment.apps/opsmx-agent-argoremote created
   configmap/opsmx-services-argoremote created
   role.rbac.authorization.k8s.io/opsmx-role-argoremote created
   rolebinding.rbac.authorization.k8s.io/opsmx-binding-argoremote created
   secret/opsmx-agent-argoremote created
   serviceaccount/opsmx-agent-argoremote created

   -------------------------------------------------------
              ....Installation Completed Sucessfully....

   Access the URL's:
           ISD   : isd.ninja-test.opsmx.net
           ArgoCD: argocdagent.argo.opsmx.net
           ArgoRollouts: argorolloutagent.argo.opsmx.net
           Login with Openldap Credentials
   -------------------------------------------------------
   </code></pre>

3. Once the installation is successfully completed, you can find the URLs of ISD, Argo CD, Argo Rollouts and Login Credentials in the output.

4. Access the URLs (ISD/Argo CD/Argo Rollouts) through browser & login into application using the credentials listed below:
   * **User Name**: admin
   * **Password**: Execute the following command to retrieve the password

     <pre data-overflow="wrap"><code>kubectl get secret openldap -o jsonpath='{.data.LDAP_ADMIN_PASSWORD}'| base64 -d
     </code></pre>

5. Now go to the ISD UI and refresh it, you will see the Agent in healthy status, which means the agent is successfully connected to ISD. Refer to the image below.

   <figure><img src="https://lh4.googleusercontent.com/RJIr6JYcNlo2XBry2TEMHekdZXqI4HdUOojzRymSTL90UPCyvPDHCh1OVNBHq-xxn-9nB4mHtnqLCwlnFT-ppq4Vg_99H2HVkUOyH1_bZ4AgmZ36vk2bhngAvmyrELkwvWGf9exaWwiMH7Cqk_0X6_h6N8F38Cl-LHwcC3p_61lExEmU2Gfup1YNp5f_PA" alt=""><figcaption></figcaption></figure>

6. Now you can create applications in Argo CD/Argo Rollouts and they will get synced in ISD automatically.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opsmx.com/opsmx-1/opsmx-intelligent-software-delivery-isd-platform-argo/additional-resources/previous-releases/isd-argo-v4.1.1/operator-manual/installation-and-configuration/installation-via-curl-command/worker-oea-installation-via-curl-command.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
