> This page is for Multi-Tenant, version v3.0 (default).
> For other versions, use one of these documentation indexes:
> - v3.0 (default): https://docs.nvidia.com/run-ai/multi-tenant/v3.0/llms.txt
> - v2.26: https://docs.nvidia.com/run-ai/multi-tenant/v2.26/llms.txt
> - v2.25: https://docs.nvidia.com/run-ai/multi-tenant/v2.25/llms.txt
> - v2.24: https://docs.nvidia.com/run-ai/multi-tenant/v2.24/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/run-ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/run-ai/_mcp/server.

# Configuration Templates

Use these templates to start with a complete `config.yaml` instead of building one from scratch. Choose the template that best matches your networking setup, then replace the example values with those prepared for your environment.

| Template | Use this when |
|---|---|
| [Full Installation](#full-installation) | You want every setting a control plane install needs in one place - metrics store, Support-Entitled options, and Ingress-based networking. |
| [Gateway API Installation](#gateway-api-installation) | Your environment uses Kubernetes Gateway API instead of an Ingress controller. |
| [Mimir Metrics Store](#mimir-metrics-store) | Your external metrics store is Grafana Mimir instead of Grafana Labs. |

## Before You Use a Template

Complete [Preparations](/run-ai/multi-tenant/documentation/installation-and-configuration/install/guided-installation/preparations) before using a template. This includes completing the applicable [System Requirements](/run-ai/multi-tenant/documentation/installation-and-configuration/system-requirements) and having the required wildcard domain, TLS certificate, networking values, registry credentials, and other installation inputs ready.

* See [Control Plane Installation](/run-ai/multi-tenant/documentation/installation-and-configuration/install/guided-installation/control-plane-setup/control-plane-installation#create-a-configuration-file) to understand the minimum configuration needed before adapting a template.
* See [Configuration Reference](/run-ai/multi-tenant/documentation/installation-and-configuration/install/guided-installation/configuration-reference) for the full set of supported fields and descriptions.

## Full Installation

```yaml
install:
  mode: runai_control_plane_only
  connectivity: connected

registry:
  type: ngc
  tokenPath: /path/to/ngc-token # Support-Entitled Release only

controlPlane:
  enabled: true
  version: ""
  domain: <WILDCARD_DOMAIN>
  tls:
    certPath: /path/to/cp-cert.pem
    keyPath: /path/to/cp-key.pem
  multiTenant: true
  customHelmValues:
    supportEntitled: true # Support-Entitled Release only
    metricsService:
      config:
        datasourceUrl: <METRIC_STORE_READ_URL> # example: https://prometheus-prod-13-prod-us-east-0.grafana.net/api/prom
    tenantsManager:
      config:
        defaultMetricStore:
          read:
            auth:
              basic:
                password: <METRIC_STORE_READ_PASSWORD>
                username: "1434499"
            url: <METRIC_STORE_READ_URL> # example: https://prometheus-prod-13-prod-us-east-0.grafana.net/api/prom
          useXscopeHeader: true
          write:
            auth:
              basic:
                password: <METRIC_STORE_WRITE_PASSWORD>
                username: "1434499"
            url: <METRIC_STORE_WRITE_URL> # example: https://prometheus-prod-56-prod-us-east-2.grafana.net/api/prom
    thanos:
      enabled: false
    authorization:
      config:
        isCSPEnv: true

externalConnection:
  type: ingress
  ingress:
    className: <YOUR_INGRESS_CLASS>
```

## Gateway API Installation

```yaml
install:
  mode: runai_control_plane_only
  connectivity: connected

registry:
  type: ngc
  tokenPath: /path/to/ngc-token # Support-Entitled Release only

controlPlane:
  enabled: true
  version: ""
  domain: <WILDCARD_DOMAIN>
  tls:
    certPath: /path/to/cp-cert.pem
    keyPath: /path/to/cp-key.pem
  multiTenant: true
  customHelmValues:
    supportEntitled: true # Support-Entitled Release only
    metricsService:
      config:
        datasourceUrl: <METRIC_STORE_READ_URL> # example: https://prometheus-prod-13-prod-us-east-0.grafana.net/api/prom
    tenantsManager:
      config:
        defaultMetricStore:
          read:
            auth:
              basic:
                password: <METRIC_STORE_READ_PASSWORD>
                username: "1434499"
            url: <METRIC_STORE_READ_URL> # example: https://prometheus-prod-13-prod-us-east-0.grafana.net/api/prom
          useXscopeHeader: true
          write:
            auth:
              basic:
                password: <METRIC_STORE_WRITE_PASSWORD>
                username: "1434499"
            url: <METRIC_STORE_WRITE_URL> # example: https://prometheus-prod-56-prod-us-east-2.grafana.net/api/prom
    thanos:
      enabled: false
    authorization:
      config:
        isCSPEnv: true

externalConnection:
  type: gatewayApi
  gatewayApi:
    name: <GATEWAY_NAME>
    namespace: <GATEWAY_NAMESPACE>
```

## Mimir Metrics Store

Use this in place of the Grafana Labs `customHelmValues` shown in [Control Plane Installation](/run-ai/multi-tenant/documentation/installation-and-configuration/install/guided-installation/control-plane-setup/control-plane-installation) when your external metrics store is Grafana Mimir instead:

```yaml
controlPlane:
  enabled: true
  version: ""
  domain: <WILDCARD_DOMAIN>
  tls:
    certPath: /path/to/cp-cert.pem
    keyPath: /path/to/cp-key.pem
  multiTenant: true
  customHelmValues:
    metricsService:
      config:
        datasourceUrl: <METRIC_STORE_READ_URL> # example: http://mimir-query-frontend.monitoring.svc:8080/prometheus
    tenantsManager:
      config:
        defaultMetricStore:
          read:
            auth:
              basic:
                password: ''
                username: ''
            url: <METRIC_STORE_READ_URL> # example: http://mimir-query-frontend.monitoring.svc:8080/prometheus
          useXscopeHeader: true
          write:
            auth:
              basic:
                password: ''
                username: ''
            url: <<REPLACE ME WITH MIMIR ENDPOINT>> # example: http://mimir-distributor.monitoring.svc:8080/api/v1/push
    thanos:
      enabled: false
    authorization:
      config:
        isCSPEnv: true

externalConnection:
  type: ingress
  ingress:
    className: <YOUR_INGRESS_CLASS>
```