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

# Install prerequisites

> Create the cloud resources Tembo on Kubernetes needs, with Terraform.

> [!NOTE]
>
> Kubernetes support is currently in early access. To get on the list, book a demo call with the Tembo team: [Book a Demo](https://book.avoma.com/tembo/tembo-demo/)

Installing Tembo on Kubernetes takes two steps, the same on every cloud:

1. **Install prerequisites (this page):** Tembo's Terraform module creates the cloud resources Tembo needs, and the Helm values that use them.
2. **[Deploy the Helm chart](https://docs.tembo.io/features/self-hosted/kubernetes/install.md):** one `helm install` with those values.

## What you need

From Tembo, once you're in early access:

* A license key.
* The chart package, `tembo-<version>.tgz`. Use 0.1.16 or later.
* The image tags for the platform and the host controller.
* Access to Tembo's images and agent host image from your cloud account.

Your own:

* A Kubernetes cluster with an Ingress controller, and a TLS certificate for your hostname.
* DNS for your hostname, through [external-dns](https://github.com/kubernetes-sigs/external-dns) or records you create.
* Helm 3, kubectl and Terraform.

***

## On AWS

You need an EKS cluster with the EKS Pod Identity agent (EKS Auto Mode includes it), an ACM certificate for your hostname, and subnets in the cluster's VPC for agent hosts.

The Ingress uses an IngressClass named `alb`. The AWS Load Balancer Controller creates it. On EKS Auto Mode, create it yourself:

```yaml theme={null}
apiVersion: eks.amazonaws.com/v1
kind: IngressClassParams
metadata:
  name: alb
spec:
  scheme: internet-facing
---
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: alb
spec:
  controller: eks.amazonaws.com/alb
  parameters:
    apiGroup: eks.amazonaws.com
    kind: IngressClassParams
    name: alb
```

The [`tembo-agent-host` module](https://github.com/tembo/terraform-aws-tembo-agent-host) creates the IAM roles for the host controller and agent hosts, the hosts' security group, and an S3 bucket for project images, session snapshots and file uploads:

```hcl theme={null}
module "tembo" {
  source = "git::https://github.com/tembo/terraform-aws-tembo-agent-host.git?ref=v0.3.0"

  cluster_name         = "<your-eks-cluster>"
  kubernetes_namespace = "tembo"
  release_name         = "tembo"

  vpc_id          = "<your-vpc-id>"
  host_subnet_ids = ["<subnet-id>", "<subnet-id>"]

  # Shared by Tembo with your account.
  image_parameter_arn = "<agent-host-image-parameter-arn>"

  # Your Tembo URL, so browsers can upload files.
  object_storage_cors_allowed_origins = ["https://tembo.example.com"]
}

output "helm_values" {
  value = module.tembo.helm_values
}
```

Apply it and save its Helm values:

```bash theme={null}
terraform apply
terraform output -json helm_values > tembo-aws.json
```

* Install the chart with the `kubernetes_namespace` and `release_name` you set here.
* The Helm values include a pool of agent hosts on `c8id.8xlarge`. To change them, see [Agent hosts](https://docs.tembo.io/features/self-hosted/kubernetes/configuration.md#agent-hosts).
* To use managed Postgres or Redis, see [Postgres and Redis](https://docs.tembo.io/features/self-hosted/kubernetes/configuration.md#postgres-and-redis).

## On GCP

Coming soon.

## On Azure

Coming soon.

***

## Need Help?

If you run into any issues, contact [support@tembo.io](mailto:support@tembo.io).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.