# ISD-Argo Full Installation via curl command

## **Introduction**

This document provides step-by-step instructions for installing ISD-Argo with an agent on a Kubernetes cluster using a single curl command.&#x20;

The installation involves the following components:&#x20;

* OEA(OpsMx Enterprise for Argo)-UI and associated components (Audit, Platform, Autopilot)&#x20;
* Argo components (ArgoCD + Argo Rollouts)&#x20;
* Additional supporting/common components (DB, Redis, OpenLDAP)&#x20;

In Full Installation mode, you can install ISD + Master OEA (Argo components: ArgoCD+Rollouts) and you can connect worker OEAs with/without an agent.

{% hint style="info" %}
**Note:** **ISD-Argo Full 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 k8s 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).

### **ISD-Argo Full Installation Steps:**

ISD-Argo full installation can be done using a single curl command. It is Helm in the backend. You can decide the modes as per the type of installation and provide the required inputs.

Follow the instructions below for Full Installation of ISD for Argo:

1. Run the following curl command for installation.

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

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

   * Specify Mode of installation: **ISD-ARGO**&#x20;
   * Specify Namespace: **isdargo**&#x20;
   * Specify ISD-UI URL: **isd.argo.opsmx.net**
   * Specify ArgoCD URL: **argocdagent.argo.opsmx.net**
   * Specify ArgoRollout URL: **argoroll.argo.opsmx.net**

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

   ```
   $ curl -o install.sh https://raw.githubusercontent.com/opsmx/enterprise-argo/main/curl/4.1.1/install.sh && chmod 777 install.sh && ./install.sh
     % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                    Dload  Upload   Total   Spent    Left  Speed
   100 12816  100 12816    0     0  21870      0 --:--:-- --:--:-- --:--:-- 21870
     * I S D - A R G O *                                                                        
   ------------------------------------------------------------
    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/
   -------------------------
   Press enter to continue...
   -------------------------------------
              Pre Installation          
   -------------------------------------
   Please Specify the required data for installation ....

   Installation Modes
    _________________________________________________________
   |         Description                    -      Mode      |
   |---------------------------------------------------------|
   |To install only ISD mode is             -       ISD      |
   |                                                         |
   |Full installation with ISD-ARGO mode is -     ISD-ARGO   |
   |_________________________________________________________|

   Specify Mode of installation: ISD-ARGO

   Specify Namespace: isdargo
   Specify ISD-UI URL: isd.argo.opsmx.net
   Specify ArgoCD URL: argocdagent.argo.opsmx.net
   Specify ArgoRollout URL: argoroll.argo.opsmx.net
   ---
   Checking for dependency......
   Kubectl present in server..
   Helm present in server..
   yq present in server..
   Existing CRD's analysisruns.argoproj.io
   -------------------------------------
                Installation     
   -------------------------------------
   Adding the helm repo....
   Updating the helm repo ...
   Creating the Namespace ...
   namespace/isdargo created

   Installing...

   NAME: isdargoisdargo
   LAST DEPLOYED: Mon Oct 31 10:13:24 2022
   NAMESPACE: isdargo
   STATUS: deployed
   REVISION: 1
   TEST SUITE: None
   -------------------------------------
                Post Installation       
   -------------------------------------
   ISD services to be stabilize
          ISD services are Up and Ready..

              ....Installation Completed Sucessfully....

          Access the ISD    --> https://isd.argo.opsmx.net

          Access the ArgoCD --> https://argocdagent.argo.opsmx.net

          Access the Argorollouts --> https://argoroll.argo.opsmx.net

          Login with Openldap Credentials
         ------------------------------------------------------
   ```

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.<br>

   <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.
