# Autopilot Installation

{% hint style="info" %}
**Note: This Installation is only for ISD UI (formerly known as Autopilot) which connects customer OSS Argo with one or more agents.**
{% endhint %}

## Introduction:&#x20;

This document provides step-by-step instructions for installing ISD+Agent on a Kubernetes cluster.&#x20;

The installation involves the following components:&#x20;

* ISD UI and associated components (Audit, Platform, Autopilot)&#x20;
* Additional supporting/common components (DB, Redis, OpenLDAP)

### **Environment Requirements:**

* 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/additional-resources/previous-releases/isd-argo-v4.1.1/operator-manual/installation-and-configuration/isd-argo-standard-installation/broken-reference)for more information on the Environment setup for ISD for Argo.
* For production-grade installation, please refer to the Infrastructure requirements [**here**](https://docs.opsmx.com/opsmx-intelligent-software-delivery-isd-platform-argo/additional-resources/previous-releases/isd-argo-v4.1.1/operator-manual/installation-and-configuration/isd-argo-standard-installation/broken-reference)**.**

### **ISD-Autopilot Installation Steps:**

Follow the instructions below for ISD for Argo Autopilot installation:

1. Create a namespace in your cluster using the command below.

   ```
   kubectl create ns <namespace name>
   ```
2. Clone the enterprise argo repo and change directory to enterprise-argo using the commands below.

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

   <div data-gb-custom-block data-tag="hint" data-style="success" class="hint hint-success"><p><strong>Note:</strong> The isd-argo-minimal-values.yaml provided in the repo is adequate and recommended for Full Installation. If you would like to have some advanced-level configurations for secret management, cluster configuration, etc, you can use values.yaml. If you need any additional clarifications with respect to values.yaml for installation, please<a href="https://www.opsmx.com/contact/"> <strong>contact</strong></a> OpsMx support.</p></div>
3. Run below commands in your terminal.

   <pre data-overflow="wrap"><code>sed -i "s/installArgoCD: true/installArgoCD: false/g" isd-argo-minimal-values.yaml

   sed -i "s/installArgoRollouts: true/installArgoRollouts: false/g" isd-argo-minimal-values.yaml

   sed -i "s/installdemoapps: true/installdemoapps: false/g" isd-argo-minimal-values.yaml

   sed -i "s/autoconfigureagent: true/autoconfigureagent: false/g" isd-argo-minimal-values.yaml
   </code></pre>
4. Configure URL for Autopilot as per your DNS record. Choose the agent host URL as per your domain name \[For eg: if your domain name is ending with: \*.devops.com, the corresponding agent host URL should be: **\<YOUR-CHOICE\_OF\_Controller-Name>.devops.com]**
5. Modify the below commands by replacing the URL that you have configured and run those commands from your terminal.

   <pre data-overflow="wrap"><code>sed -i "s/ISD.REPLACE.THIS.WITH.YOURCOMPANY.COM/&#x3C;Provide your ISD url here>/g" isd-argo-minimal-values.yaml

   sed -i "s/controller.exampleopsmx.net/&#x3C;YOUR-CHOICE_OF_Controller-Name>.devops.com>/g" isd-argo-minimal-values.yaml
   </code></pre>
6. Run the below command to install Autopilot.

   ```
   helm install <RELEASE_NAME> . -n <NAMESPACE-NAME> -f isd-argo-minimal-values.yaml
   ```

   &#x20;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.
7. After successful installation, you can see the pods in your namespace. Use the below command to check the pods in your namespace.

   ```
   kubectl get pods -n <namespace name>
   ```
8. Once all the pods are up and running, you can access the applications with URLs you have configured before. Use the below command to get those URLs.

   ```
   kubectl get ing -n <namespace name>
   ```
9. Access ingress URL (both for Argo and ISD) through the 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>

Once the Autopilot installation is completed and the user is able to login to ISD, the next step is to integrate Argo Cd with ISD. For more information regarding Integration of Argo Cd with ISD, refer to the section “[**Argo CD Integration with ISD**](https://docs.opsmx.com/intelligent-software-delivery-isd-argo/operator-manual/installation-and-configuration/isd-argo-standard-installation/worker-oea-installation#argo-cd-integration-with-isd)”.
