> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enkryptai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Infrastructure Requirements

This document outlines the infrastructure requirements for deploying the Enkrypt AI platform on-premises in a Kubernetes environment.

## Cluster-wide Requirements

These components are required for the cluster to function correctly and are used by various parts of the Enkrypt AI platform.

| Component              | Version/Type                                                                                         | Description                                 |
| ---------------------- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| **Kubernetes**         | `v1.31` or newer                                                                                     | Current Stack is not compatibe with 1.34    |
| **Ingress Controller** | [Ingress Controller](https://kubernetes.github.io/ingress-nginx/) `v1.12.1` or newer (or equivalent) | Ensure all domains are configured with TLS. |
| **Metrics Server**     | [Metrics Server](https://github.com/kubernetes-sigs/metrics-server) `v0.8.0` or newer                | Used in Pod autoscaling based on load       |

## Node Group Requirements

The Enkrypt AI platform requires different types of node groups to accommodate the specific needs of its components.

### 1. GPU Node Group for Guardrails

This node group is dedicated to running the Enkrypt AI Guardrails application, which requires NVIDIA GPUs for accelerated performance.

| Attribute            | Specification              |
| -------------------- | -------------------------- |
| **GPU per Node**     | 1                          |
| **GPU Architecture** | NVIDIA A10G                |
| **VRAM**             | 24 GiB                     |
| **vCPU**             | 4                          |
| **RAM**              | 16 GiB                     |
| **Disk Size**        | 100 GB                     |
| **Taint**            | `dedicated=gpu:NoSchedule` |

> **Note:** Due to resource requirements, only one Guardrails pod can be scheduled per node in this configuration.

### 2. Node Group for Redteaming Application

This node group is tailored for the Red Teaming application, which has its own specific CPU and memory requirements.

| Attribute         | Specification               | Notes                                                                      |
| ----------------- | --------------------------- | -------------------------------------------------------------------------- |
| **Instance Type** | `r7i.xlarge` or equivalent  | Example from AWS, use a comparable instance type from your cloud provider. |
| **vCPU**          | 4                           |                                                                            |
| **RAM**           | 32 GiB                      |                                                                            |
| **Disk Size**     | 100 GB                      |                                                                            |
| **Labels**        | `dedicated: redteaming`     | To attract Red Teaming pods to these nodes.                                |
| **Taints**        | `app=redteaming:NoSchedule` | To prevent other pods from being scheduled here.                           |

### 3. General Purpose Node Group

This node group is for running all other Enkrypt AI services and applications that do not have specialized hardware requirements.

| Attribute         | Specification             | Notes                                                                      |
| ----------------- | ------------------------- | -------------------------------------------------------------------------- |
| **Instance Type** | `m5.xlarge` or equivalent | Example from AWS, use a comparable instance type from your cloud provider. |
| **vCPU**          | 4                         |                                                                            |
| **RAM**           | 16 GiB                    |                                                                            |
| **Disk Size**     | 100 GB                    |                                                                            |

## Estimated Cost

The total cost of deploying the Enkrypt AI platform will vary based on your cloud provider, region, and specific resource pricing. The following estimates are based on on-demand pricing and can be used as a reference.

| Instance Type        | vCPU | RAM (GiB) | GPU     | Hourly Cost (USD) | Monthly Cost (USD) |
| -------------------- | ---- | --------- | ------- | ----------------- | ------------------ |
| **NVIDIA A10G**      | 4    | 16        | 1x A10G | \~\$1.01          | \~\$737            |
| **r7i.xlarge (AWS)** | 4    | 32        | -       | \~\$0.26          | \~\$190            |
| **m5.xlarge (AWS)**  | 4    | 16        | -       | \~\$0.19          | \~\$139            |

### 1. Node Group Costs

* **GPU Node Group for Guardrails:** With a single `NVIDIA A10G` instance, the estimated monthly cost is **\~\$737**.
* **Node Group for Redteaming Application:** With a single `r7i.xlarge` instance, the estimated monthly cost is **\~\$190**.
* **General Purpose Node Group:** With a single `m5.xlarge` instance, the estimated monthly cost is **\~\$139**.

### 2. Cluster-wide and Other Costs

* **Kubernetes Cluster Management:** Some cloud providers charge a fee for the Kubernetes control plane (e.g., Amazon EKS, Google GKE, Azure AKS). This can range from **$0.10 to $0.25 per hour**.
* **Ingress and Load Balancers:** Factor in the cost of the Ingress controller and any external load balancers used to expose services. This can add **$20 to $50 per month** depending on traffic.
* **Storage:** Estimate the cost of persistent storage (e.g., EBS, Azure Disk, Google Persistent Disk). A 100GB general-purpose SSD can cost around **$10 to $20 per month**.
* **Data Transfer:** Be mindful of data transfer costs between availability zones and out to the internet, which can vary significantly based on usage.
* **Monitoring and Logging:** If you use managed services for monitoring and logging, their costs will also need to be included in your estimate.

> **Note:** These prices are estimates based on on-demand rates from major cloud providers and are subject to change. For a more accurate estimate, use the pricing calculator provided by your cloud provider.
