> For the complete documentation index, see [llms.txt](https://docs.aohwv.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aohwv.dev/getting-started/01-prerequisites.md).

# Prerequisites

Before you deploy AOH Sync, confirm you have the following. Running through this checklist takes about 5 minutes.

## Core requirements

| Requirement                   | Details                                                                                                                                                                                  |
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Active Azure subscription     | You need the ability to deploy a VM from the Azure Marketplace and create resources in a resource group                                                                                  |
| Azure App Registration rights | You need permission to create an App Registration and grant admin consent for Microsoft Graph permissions in your Entra ID tenant                                                        |
| AOH Sync license key          | Your license key is in the format `CS-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX` (a `CS-` prefix followed by five groups of five alphanumeric characters). It is provided when you purchase AOH Sync |
| A domain you control          | For example, `sync.yourcompany.com`. You need the ability to add an A record with your DNS provider                                                                                      |

{% hint style="info" %}
If you do not have an AOH Sync license key, contact **<support@aohwv.dev>** before proceeding.
{% endhint %}

## Azure roles required

You need two types of access in Azure before you begin:

| Access                                                                                                      | What it's for                                                                                                     |
| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| **VM deployment rights** (Contributor or Owner on the target resource group)                                | Deploying the AOH Sync VM from the Azure Marketplace and creating the associated resources (public IP, NIC, disk) |
| **App Registration + admin consent rights** (Application Administrator or Global Administrator in Entra ID) | Creating the App Registration and granting admin consent for the required Microsoft Graph permissions             |

## VM sizing guidance

AOH Sync runs on an Azure virtual machine. The Marketplace deployment form lets you choose the VM size and disk configuration.

| Setting          | Recommendation                                                                                                                                                                                         |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **VM Size**      | **Standard\_D4s\_v3 or larger** for production. Standard\_D8s\_v3 and Standard\_D4s\_v5 are also recommended. Standard\_D2s\_v3 is the minimum allowed but is not recommended for production workloads |
| **OS Disk Type** | **Premium SSD** recommended for production                                                                                                                                                             |
| **OS Disk Size** | **64 GB minimum**; larger disks are supported                                                                                                                                                          |

## Admin Username

During the Marketplace deployment you will choose an **Admin Username** — this is the SSH user for the VM. Note this value: you will need it if you ever SSH in to use the `cloudsync-maintenance` CLI (see [Managing Your Instance](/getting-started/11-managing-your-instance.md)).

## How to check you're ready

Before moving on:

* [ ] You can sign in to the [Azure Portal](https://portal.azure.com) and reach a subscription with Contributor or Owner rights
* [ ] You have (or can request) Application Administrator or Global Administrator rights in Entra ID
* [ ] You have your AOH Sync license key in the format `CS-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX`
* [ ] You have a domain and access to create DNS records with your DNS provider

## Related

* [Getting Started overview](https://github.com/AOHWV/docs/tree/main/getting-started/README.md)
* [Step 1 — App Registration](/getting-started/02-app-registration.md)


---

# 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.aohwv.dev/getting-started/01-prerequisites.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.
