# Installation

DuploCloud HelpDesk is installed directly into your cloud account, running inside a Kubernetes cluster that you own and control. This document explains what you need to provide to DuploCloud, what we will set up, and what prerequisites your environment needs to meet before installation begins.

***

## How Installation Works

DuploCloud deploys the HelpDesk into your cloud environment using a Helm chart. We manage the deployment process on your behalf — you do not need to run any commands yourself. Once the prerequisites are in place and access is granted, our team handles the installation end-to-end.

***

## Supported Cloud Providers

DuploCloud HelpDesk runs on any of the following managed Kubernetes platforms:

| Cloud            | Kubernetes Service | Guide                                                                          |
| ---------------- | ------------------ | ------------------------------------------------------------------------------ |
| **AWS**          | Amazon EKS         | [AWS Installation](/docs/getting-started/installation/aws-installation.md)     |
| **Google Cloud** | GKE                | [GCP Installation](/docs/getting-started/installation/gcp-installation.md)     |
| **Azure**        | AKS                | [Azure Installation](/docs/getting-started/installation/azure-installation.md) |

***

## What You Need to Provide

### 1. An AWS Account (or Existing Cluster)

The simplest path is to provide DuploCloud with a **fresh, dedicated AWS account**. Our team will create all required infrastructure — VPC, Kubernetes cluster, storage, certificates — from scratch with no risk of disrupting existing workloads.

If you already have a Kubernetes cluster and prefer to install into an existing account, that is fully supported. DuploCloud deploys into a dedicated namespace and does not modify any resource that was created outside of DuploCloud.

### 2. Cloud Infrastructure

Depending on your cloud provider, the following infrastructure will be provisioned in your account for installation:

#### AWS (EKS)

| Resource                         | Purpose                                                                 |
| -------------------------------- | ----------------------------------------------------------------------- |
| **AWS Load Balancer Controller** | Routes external traffic to the application                              |
| **EFS Filesystem**               | Shared file storage for the backend (mount targets in each node subnet) |
| **EFS CSI Driver**               | Connects the cluster to EFS                                             |
| **ACM Certificate**              | TLS for the application domain                                          |
| **IRSA Role**                    | Required IAM permissions per service                                    |

#### Google Cloud (GKE)

| Resource                 | Purpose                                              |
| ------------------------ | ---------------------------------------------------- |
| **Ingress Controller**   | Routes external traffic (nginx or GKE built-in)      |
| **Filestore CSI Driver** | Shared file storage for the backend                  |
| **Workload Identity**    | Grants the backend service account access to storage |

#### Azure (AKS)

| Resource                    | Purpose                                                      |
| --------------------------- | ------------------------------------------------------------ |
| **Ingress Controller**      | Routes external traffic (nginx or Azure Application Gateway) |
| **Azure Files CSI Driver**  | Shared file storage for the backend (built-in on AKS ≥ 1.21) |
| **Azure Workload Identity** | Grants the backend service account access to storage         |

### 3. A Domain Name and TLS Certificate

You must provide:

* A domain name (or subdomain) where the application will be hosted, e.g. `ai-helpdesk.yourcompany.com`
* A valid **TLS certificate** for that domain (ACM on AWS, or cert-manager/Let's Encrypt on GCP/Azure)

### 4. Administrator Email Addresses

Provide a list of email addresses that should have **super-admin access** to the platform. These users will have full administrative control and can manage other users after installation.

***

## What DuploCloud Installs

Once the prerequisites are in place, DuploCloud deploys the following into your cluster:

| Component              | Description                                                                                                                               |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Backend**            | ASP.NET Core API server that powers the AI HelpDesk, project management, and agent orchestration                                          |
| **Frontend**           | React web application served via nginx — this is the UI your team interacts with                                                          |
| **MongoDB**            | Embedded database (Kubernetes StatefulSet) for storing tickets, projects, reports, and configuration                                      |
| **Web Terminal**       | Browser-based terminal integration for agent command execution                                                                            |
| **Duplo Agent**        | AI agent                                                                                                                                  |
| **MCP Server**         | Model Context Protocol server for tool integrations                                                                                       |
| **Ingress**            | Load balancer / ingress resource routing HTTPS traffic to the application                                                                 |
| **Persistent Storage** | Shared file volume (EFS / Filestore / Azure Files) mounted into the backend for storing agent working directories and generated artifacts |

All components run inside a dedicated namespace in your cluster and are fully contained within your cloud account — your data stays in your environment.

***

## After Installation

Once the deployment is complete, DuploCloud will provide:

* The **application URL** where your team can log in
* Confirmation that all services are healthy
* Onboarding guidance for creating your first workspace, inviting users, and configuring the AI agent

For questions about the installation process, please contact your DuploCloud account team.


---

# Agent Instructions: 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:

```
GET https://docs.duplocloud.com/docs/getting-started/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
