> For the complete documentation index, see [llms.txt](https://docs.expel.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.expel.io/connect-your-technology/expel-assembler/deploy-the-virtual-machine/deploy-the-assembler-in-vmware.md).

# Deploy the Assembler in VMware

Each assembler you create must be deployed via a virtual machine, and then you can add your technology as a security device in Workbench to complete the full integration. For more information about the Expel Assembler or how it works, see the [About the Expel Assembler](/connect-your-technology/expel-assembler/about-the-expel-assembler.md) guide.

## Prerequisites

* You must have completed all of the steps in [Add a New Assembler](/connect-your-technology/expel-assembler/add-a-new-assembler.md) for each assembler you wish to deploy.
* These instructions assume you are using VMWare Fusion, but you are free to use another tool.

## Step 1: Download the Ignition File

1. [Log in to Workbench](https://workbench.expel.io/auth/login?orig=%2F).
2. In the side menu, navigate to Organization Settings > Assemblers.
3. Find the assembler you created, select Gzip + Base64 Encoded as the file format, and then **Download the CoreOS Ignition File**. This action will download a file that you will need in the next step.<br>

   <figure><img src="/files/XYcGv0Ru0pN43n8fVII2" alt="Select the Gzip format in the right menu, and then select the download link."><figcaption></figcaption></figure>
4. Repeat this process for any additional assemblers.&#x20;

{% hint style="warning" %}
You must keep track of which files came from which assembler, because each assembler has its own unique ignition file.
{% endhint %}

## Step 2: Import the CoreOS Image and Configure the VM

You will need to create and deploy a new virtual machine using either **ESXi Host** (ESXi Host 7.x.x users) or **vSphere** (ESXi Host 8.x.x users).&#x20;

{% hint style="info" %}
The process may vary slightly between the two, but in general you will need to perform the following steps.
{% endhint %}

1. Select the **Create/Register VM** option, and then choose to deploy it via the [**ova file**](#user-content-fn-1)[^1].
2. Select your .ova file to begin the installation process.
3. Select your storage and choose the appropriate VM network.
4. Make sure to **uncheck** the Power on automatically checkbox.
5. Locate the appropriate area to add the ignition config information.
   * If deploying on **vSphere/ESXi version 8**, in vSphere go to **Edit Settings > Advanced Parameters**.&#x20;
   * If deploying on **vSphere/ESXi version 7**, in EXSi Host go to **VM Options > Advanced** and edit your configuration.
6. Use the Attribute and Value fields or the Add Row option to add the following two sets of parameters:
   * **First Attribute** - enter "guestinfo.ignition.config.data.encoding".
   * **First Value** - enter "gzip+base64".
   * Select **Add**.
   * **Second Attribute** - enter "guestinfo.ignition.config.data".
   * **Second Value** - paste in the contents of the [ignition file](#step-1-download-the-ignition-file).
   * Select **Add**.
7. &#x20;Update the virtual hardware to meet the minimum requirements.
   * **Memory** - must be 8GB.&#x20;
   * **Hard drive** - must be at least 20GB.
8. **Power on** the VM.

## Step 3: Verify a "Connected" Status in Workbench

{% hint style="info" %}
It can take 10 to 15 minutes for the assembler’s status to update in Workbench.
{% endhint %}

1. [Log in to Workbench](https://workbench.expel.io/auth/login?orig=%2F).
2. In the side menu, navigate to **Organization Settings > Assemblers** (or, refresh the page if you never logged out).
3. Find your newly created assembler(s) and verify that the status has changed from “Not Yet Connected” to “Connected.”&#x20;
   1. If your assembler(s) still do not show as connected after waiting at least 15 minutes and refreshing the page, see the [Troubleshooting](#troubleshooting) section for help.

## Step 4: Connect Your Technology

You can now set up your vendor technology in Workbench.

<button type="button" class="button primary" data-action="search" data-icon="magnifying-glass">Search for your setup guide…</button>

## Troubleshooting

<details>

<summary>The assembler will not initialize in VSphere Client.</summary>

Try provisioning the VM directly from the ESXi host.&#x20;

{% hint style="info" %}
We have seen cases where customers tried to create the assembler VM using vSphere Client, and they ran into errors during the provisioning stage. When they attempted the same task directly from the ESXi host on which the VM would run, the provisioning steps succeeded.
{% endhint %}

</details>

<details>

<summary>The assembler is still not showing as “Connected” after 15 minutes.</summary>

* Make sure you have the [proper firewall configurations](/connect-your-technology/expel-assembler/add-a-new-assembler.md#step-2-update-your-firewall-configuration) to allow our outbound ports.
* Make sure your chosen machine’s size meets the required minimums (2 virtual CPUs, 8 GB RAM, and 20 GB disk space).

</details>

If all firewall and machine size settings are correct and you are still unable to connect the assembler, [contact Support](/support/how-to-reach-us.md) for help.

[^1]: This is the file you downloaded from Fedora in the [Add a New Assembler](/connect-your-technology/expel-assembler/add-a-new-assembler.md#step-3-download-the-base-coreos-image-artifact) documentation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.expel.io/connect-your-technology/expel-assembler/deploy-the-virtual-machine/deploy-the-assembler-in-vmware.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
