# Online installation with Embedded Cluster (Beta)

This topic describes how to install an application in an online (internet-connected) environment with Replicated Embedded Cluster. For air gap installations, see [Air gap installation with Embedded Cluster](installing-embedded-air-gap). For an introduction to Embedded Cluster, see [Embedded Cluster overview](embedded-overview).

## Prerequisites

Before you install, complete the following prerequisites:

* Ensure that your installation environment meets the Embedded Cluster requirements. See [Embedded Cluster Requirements](/embedded-cluster/v3/installing-embedded-requirements).

* The application release that you want to install must include an [Embedded Cluster Config](/embedded-cluster/v3/embedded-config).

* The license used to install must have the **Embedded Cluster Enabled** license field enabled. See [Create and Manage Customers](/vendor/releases-creating-customer).

* Ensure that the required domains are reachable from the installation host. See [Firewall openings for online installations](installing-embedded-requirements#firewall).

## Install using the Embedded Cluster UI

This section describes how to install using the interactive Embedded Cluster installer UI.

### Use the Enterprise Portal for a guided install

To use the guided install experience in the Enterprise Portal:

1. Log in to the [Replicated Enterprise Portal](/vendor/enterprise-portal-about) with a user for your test customer.

1. Follow the Linux install instructions for Embedded Cluster.

### Install using instructions from the Vendor Portal

To install from the Vendor Portal:

1. In the [Vendor Portal](https://vendor.replicated.com), open the **Customers** page and select a customer that belongs to the channel you use for testing.

1. At the top of the customer page, click **Install instructions** and select **Embedded Cluster**. (The control may appear as **Embedded Cluster install instructions**.)

   :::note
   You can also open the Enterprise Portal to get install and upgrade instructions.
   :::

1. In the **Select a version** field (or equivalent), choose the application version you promoted to that channel for testing, or leave the latest version selected if that is what you want to install.

1. On a Linux machine, run the three commands from the dialog in order: download the archive, extract it, then run the install command.

   After extraction, you may see additional binaries and artifacts compared to Embedded Cluster 2.x. Embedded Cluster uses these internally. You can ignore them.

1. Complete any prompts from the install command (for example, acceptance of a self-signed certificate and installer password).

1. Open the URL from the install output in a browser to open the installer UI.

1. Log in to the installer with the password you set when you ran the install command.

1. On the **Configure** page, enter the configuration values for your application.

1. On the **Set Up** page, provide any information required for the cluster installation. This corresponds to values you previously passed with install flags in Embedded Cluster 2.x (for example, proxy settings).

1. On the **Run** page, start the installation and wait for it to complete.

1. On the **Finish** page, confirm completion. If your KOTS Application custom resource defines links, they appear on this page.

   :::note
   Links to port-forwarded services are not available on this page.
   :::

## Install using the CLI (Headless)

With headless installation, you provide all necessary installation assets with the installation command rather than through the UI. Assets include the license file and the application config values. During headless installations, any preflight checks defined for the application run automatically from the command line rather than appearing in the UI. You can also ignore preflight checks during headless installations when testing in development environments. See [Ignore preflight checks during installation](#ignore-preflights) on this page.

To install using the CLI:

1. In the Vendor Portal, open the **Customers** page and select a customer that belongs to the channel you use for testing.

1. At the top of the customer page, click **Install instructions** and select **Embedded Cluster**. (The control may appear as **Embedded Cluster install instructions**.)

   :::note
   You can also open the Enterprise Portal to get install and upgrade instructions.
   :::

1. In the **Select a version** field (or equivalent), choose the application version you promoted to that channel for testing, or leave the latest version selected if that is what you want to install.

1. On a Linux machine, run the first two commands from the dialog (download the archive, then extract it).

   After extraction, you may see additional binaries and artifacts compared to Embedded Cluster 2.x. Embedded Cluster uses these internally. You can ignore them.

1. For the third command, run `install` with the following flags:

   * `--headless` to run without the interactive installer UI.
   * `--config-values` with the path to your [ConfigValues](/reference/custom-resource-configvalues) file.
   * `--installer-password` with the password you will use to access the installer later.

   Example:

   ```bash
   sudo ./APP_SLUG install --license LICENSE_FILE --headless --config-values PATH_TO_CONFIGVALUES --installer-password INSTALLER_PASSWORD
   ```

   Replace `APP_SLUG`, `LICENSE_FILE`, `PATH_TO_CONFIGVALUES`, and `INSTALLER_PASSWORD` with the values for your environment. Add any other flags you need. For the full set of flags, see [install](embedded-cluster-install).

1. Monitor the command output until the install completes, then access your application as you normally do.


## (Optional) Ignore preflight checks during installation {#ignore-preflights}

You can ignore both application-level preflight checks and Embedded Cluster host preflight checks during installation. When you ignore preflight checks, the installation proceeds despite any preflight failures. This is useful for automated installations in development environments. For more information about the `--ignore-host-preflights` and `--ignore-app-preflights` options, see [install](embedded-cluster-install).

Ignoring host preflight checks is _not_ recommended for production installations.

* To ignore preflight checks:

    ```bash
    sudo ./APP_SLUG install --license license.yaml --ignore-host-preflights --ignore-app-preflights --yes
    ```
    Where:
    * `APP_SLUG` is the unique slug for the application
    * The `--yes` flag addresses the prompt for `--ignore-host-preflights` to continue with installation