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

# Prerequisites — Self-Managed on Your Kubernetes

> What your platform team needs in place before installing the Serval Helm chart on a cluster you operate

# Prerequisites — Self-Managed on Your Kubernetes

Complete the following before installing the Serval Helm chart under the **Self-Managed on Your Kubernetes** delivery model. Your team operates the cluster and the platform; Serval provides the chart, release artifacts, and product support.

<Warning>
  Self-Managed on Your Kubernetes is the **highest-effort** delivery model and is intended for non-AWS, on-prem, or platform-team-mandated environments. It is *more* work than [Managed in Your AWS](/sections/self-hosting/serval-managed-overview), not less — in addition to running Serval, your team is responsible for:

  * Provisioning and maintaining the Kubernetes cluster itself
  * Ingress controllers and TLS
  * PostgreSQL, Redis, and Temporal (provisioned, backed up, upgraded by you)
  * Monitoring, alerting, on-call, and incident response
  * Backups and restore testing for stateful components
  * Helm chart installs, upgrades, and rollbacks

  If you do not have a hard constraint that rules out Managed in Your AWS, choose that model instead.
</Warning>

## Kubernetes platform

* A running Kubernetes cluster (v1.27+) — any cloud provider or on-prem
* `kubectl` configured to access the cluster
* [Helm](https://helm.sh/docs/intro/install/) 3.12+
* An ingress controller deployed (for example, NGINX Ingress, Traefik, or a cloud-native controller)
* Sufficient node capacity for the chart's default resource requests

## Domain and DNS

* A domain you own with the ability to create DNS records
* DNS records (configured before or after install) for:
  * `app.<your-domain>` — the Serval web application
  * `*.api.<your-domain>` — backend API services (subdomain-based ingress)

## Datastores

The Serval chart can bundle PostgreSQL, Redis, and Temporal for evaluation, but production deployments typically use managed or externally operated datastores. Plan for:

* **PostgreSQL** — primary application database
* **Redis** — caching and ephemeral state
* **Temporal** — workflow orchestration

## Private network access (optional)

If Serval needs to reach resources on your internal network (on-prem AD, internal GitLab, etc.), most of it is free: Serval runs on your cluster and uses whatever networking that cluster already has. See [Private Network Access](/sections/self-hosting/private-network-access) for the full picture.

## LLM / agent API keys

* **Anthropic API key** — primary provider for AI agents and help desk functionality
* **OpenAI API key** — used for embeddings, image description, and specific model tasks

## Image pull credentials

Serval provides a Docker Hub pull token during onboarding. You supply this token to the chart via `global.imagePullToken`.

## Operational readiness

Because your team owns day-2 operations, confirm ownership for:

* Monitoring, alerting, and on-call
* Backups and restore testing for stateful components
* Upgrade cadence and rollback procedures

See the [Production Checklist](/sections/self-hosting/deployment/operations/production-checklist) before going live.

## Next steps

<CardGroup cols={2}>
  <Card title="Deployment instructions" icon="book-open" href="/sections/self-hosting/request-access">
    Get access to install steps, configuration references, and operational runbooks.
  </Card>

  <Card title="Deployment" icon="rocket" href="/sections/self-hosting/deployment/deployment">
    Install the Serval Helm chart from the public OCI registry.
  </Card>
</CardGroup>
