---
metadata:
  - name: generator
    content: Diplodoc Platform v5.63.0
alternate:
  - en/concepts/create-instance
  - ru/concepts/create-instance
  - href: ru/concepts/create-instance.md
    type: text/markdown
    title: Markdown version
csp:
  - script-src:
      - https://mc.yandex.ru
    img-src:
      - https://mc.yandex.ru
    connect-src:
      - https://mc.yandex.ru
      - wss://mc.yandex.ru
    child-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-ancestors:
      - 'blob:'
      - https://mc.yandex.ru
canonical: ru/concepts/create-instance.html
title: Как развернуть DataLens On-premises
description: Следуя данной инструкции, вы сможете развернуть DataLens On-premises.
vcsPath: ru/concepts/create-instance.md
---


# Инструкция по развертыванию DataLens On-premises

В этом разделе вы найдете информацию об установке и запуске DataLens On-premises:

* [Системные требования](#system-requirements)
* [Развертывание](#deployment)
* [Обновление](#update-distr)
* [Управление доступом администратора](#admin-access)
* [Аргументы развертывания](#args)
* [Описание параметров файла values.yaml](#values-yaml)


## Системные требования {#system-requirements}

Перед установкой DataLens On-premises подготовьте окружение для развертывания. От доступных ресурсов и конфигурации инфраструктуры зависит стабильность работы системы и производительность при одновременной работе пользователей с дашбордами.


### Условия доступа к дистрибутиву {#distr-access}

Дистрибутив DataLens On-premises предоставляется по договору с Yandex Cloud.

Для доступа к Yandex Cloud и скачивания дистрибутива нужен активный платежный аккаунт. Пользователю, который скачивает дистрибутив, необходима [роль](../security/roles.md#datalens-admin) `datalens.admin` или выше на уровне организации.


### Операционные системы {#operating-systems}

| Операционная система | Версии |
| -------------------- | ------ |
| Ubuntu               | 20.04, 22.04, 24.04 |
| Debian               | 10, 11, 12 |
| CentOS               | 7 |
| Astra Linux          | 1.7 |
| Oracle Linux         | 8, 9 |
| Red Hat Enterprise Linux | 8, 9 |
| CentOS Stream        | 8, 9 |
| РЕД ОС               | Поддерживаемые версии |

{% note info %}

Работоспособность гарантирована только для дистрибутивов, основанных на Debian.

{% endnote %}


### Оборудование {#hardware}



#### Рекомендуемые системные требования для промышленной эксплуатации

Для промышленной эксплуатации требования зависят от количества одновременных пользователей и сложности дашбордов. При планировании ресурсов для 100 и более активных пользователей рекомендуется закладывать не менее следующей конфигурации:

* vCPU — 16.
* RAM — 32 ГБ.
* SSD — 100 ГБ.

Точные требования к ресурсам определяются по результатам нагрузочного тестирования.


### Требования к кластеру PostgreSQL {#postgresql}

{% note info %}

Для промышленной эксплуатации рекомендуется использовать отдельный кластер PostgreSQL в отказоустойчивой конфигурации: мастер + 1 реплика.

{% endnote %}

Внешний отказоустойчивый кластер PostgreSQL повышает надежность системы и снижает риск потери служебных данных DataLens On-premises.

Минимальные системные требования к кластеру:

* vCPU — 4.
* RAM — 8 ГБ.
* SSD — 100 ГБ.

При развертывании кластера PostgreSQL для высокой нагрузки нужно рассчитать потребление ресурсов в зависимости от числа пользователей.

Для базы данных PostgreSQL сервиса United Storage необходимы следующие расширения:

* `pg_trgm`
* `btree_gin`
* `btree_gist`
* `uuid-ossp`

Они устанавливаются автоматически, если у пользователя есть соответствующие права.

При развертывании кластера Yandex Managed Service for PostgreSQL для сервиса United Storage:

* Укажите вручную в консоли управления перечисленные выше расширения.
* Укажите параметры `Локаль сортировки (LC_COLLATE)` и `Локаль набора символов (LC_CTYPE)` со значением `en_US.UTF-8`. Это обеспечит эффективное создание индексов для поиска пользователей.


## Развертывание {#deployment}

Развертывание можно выполнить с сервера Linux/amd64, на котором будет происходить установка. Также можно выполнить развертывание с удаленной машины, имеющей доступ к кластеру Kubernetes на Linux/amd64 или macOS/arm64.


### Скачайте дистрибутив {#download-distr}

1. Убедитесь, что выполнены [условия доступа к дистрибутиву](#distr-access).
1. Получите ссылку на скачивание дистрибутива:

    1. Откройте [список версий DataLens On-premises](https://datalens.ru/download).
    1. Напротив нужной версии нажмите <!-- diplodoc:svg ![arrow-down-to-line](../_assets/console-icons/arrow-down-to-line.svg) --><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M8.53 11.78a.75.75 0 0 1-1.06 0l-2.5-2.5a.75.75 0 0 1 1.06-1.06l1.22 1.22V1.75a.75.75 0 0 1 1.5 0v7.69l1.22-1.22a.75.75 0 1 1 1.06 1.06zM1.75 13.5a.75.75 0 0 0 0 1.5h12.5a.75.75 0 0 0 0-1.5z" clip-rule="evenodd"/></svg> **Скачать**.
    1. Ознакомьтесь с лицензионным соглашением и нажмите **Продолжить**.
    1. В окне **Загрузка дистрибутива** нажмите **Копировать ссылку**.

1. На целевой виртуальной машине сохраните полученную ссылку в переменную:

    ```bash
    URL="<ссылка_на_дистрибутив>"
    ```

1. Скачайте и распакуйте архив в папку `datalens-enterprise`:

    ```bash
    curl -L "$URL" -o datalens-enterprise.tar
    mkdir -p ./datalens-enterprise
    tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise
    ```


### Разверните дистрибутив {#deploy-distr}

Скрипт `./init.sh` позволяет развернуть DataLens On-premises в существующем кластере Kubernetes. Если кластера Kubernetes нет, скрипт также может установить его на ВМ.

Чтобы развернуть дистрибутив:

1. Перейдите в корневую папку дистрибутива:

    ```bash
    cd ./datalens-enterprise
    ```

1. Выполните команду развертывания с нужными [аргументами](#args):

    ```bash
    ./init.sh
    ```

    Например, чтобы выполнить полную сборку DataLens On-premises:

    ```bash
    ./init.sh \
      --k3s-install \
      --ingress-domain <домен> \
      --ingress-tls \
      --ingress-tls-gen \
      --export \
      --files \
      --editor \
      --yandex-map \
      --cache \
      --usage-tracking
    ```

    После каждого развертывания генерируется файл `./values.debug.yaml`, в котором сохраняются все параметры, кроме секретов. Этот файл может помочь в диагностике системы при обращении в службу поддержки.

{% cut "Примеры использования скрипта" %}

* Базовая установка с K3s на ВМ с автоматической генерацией самоподписанных TLS-сертификатов:

    ```sh
    ./init.sh \
      --k3s-install \
      --ingress-domain <домен> \
      --ingress-tls \
      --ingress-tls-gen
    ```

* Развертывание на домене с пользовательскими TLS-сертификатами:

    ```sh
    ./init.sh \
      --k3s-install \
      --ingress-domain <домен> \
      --ingress-tls-crt <путь_к_сертификату> \
      --ingress-tls-key <путь_к_ключу>
    ```

* Зеркалирование образов в приватный реестр Docker-образов:

    ```sh
    ./init.sh \
      --docker-image-load \
      --docker-image-push \
      --docker-registry <URL_реестра> \
      --docker-config <путь_к_файлу_конфигурации_Docker>
    ```

* Развертывание с настройкой пользовательских провайдеров аутентификации:

    ```sh
    ./init.sh \
      --auth-providers-config <путь_к_файлу_провайдеров_аутентификации>
    ```

* Развертывание с настройкой параметров через [пользовательский файл](#values-yaml) `values.yaml`:

    ```sh
    ./init.sh \
      --values <путь_к_файлу>
    ```

* Получение пароля администратора из секретов после развертывания:

    ```sh
    ./init.sh \
      --get-admin-password
    ```

* Развертывание с настройкой AI-ассистента:

    ```sh
    ./init.sh \
      --ai-endpoint <эндпоинт> \
      --ai-model-name <имя_модели> \
      --ai-api-token <API-ключ>
    ```

    Например, для Yandex AI Studio:

    ```sh
    ./init.sh \
      --ai-endpoint https://ai.api.cloud.yandex.net/v1 \
      --ai-model-name gpt://<идентификатор_каталога>/deepseek-v4-flash/latest \
      --ai-api-token <API-ключ>
    ```

* Получение всех логов из всех подов DataLens для отладки:

    ```sh
    ./init.sh --stern . -o extjson > datalens.enterprise.log
    ```

* Получение всех событий кластера Kubernetes для отладки ошибок развертывания:

    ```sh
    ./init.sh --kubectl events
    ```

{% endcut %}


### Особенности скрипта развертывания {#script-features}

Скрипт `./init.sh` — основная точка управления дистрибутивом. Он запускает служебные скрипты из дистрибутива и выполняет операции развертывания, обновления, диагностики и администрирования. Например, с помощью `./init.sh` можно развернуть DataLens On-premises, обновить установленную версию, получить пароль администратора или выполнить команду `kubectl` в кластере Kubernetes.


#### Выбор кластера Kubernetes {#k8s-cluster-selection}

Если кластера Kubernetes нет, передайте аргумент `--k3s-install`: скрипт автоматически установит локальный кластер K3s без доступа к публичной сети. Если DataLens On-premises нужно развернуть в существующем кластере Kubernetes, перед запуском скрипта задайте переменную окружения `KUBECONFIG`. В этом случае `./init.sh` подключится к указанному кластеру и применит конфигурацию в нем.


#### Настройка параметров развертывания {#config-deployment}

Параметры развертывания можно задавать напрямую аргументами командной строки или через [пользовательский файл](#values-yaml) `values.yaml`:

* Аргументы командной строки удобны для базовых сценариев: установки K3s, настройки домена, TLS-сертификатов и включения дополнительных возможностей.
* Файл `values.yaml` удобен для расширенной настройки Helm-чарта и параметров, которые не задаются отдельными аргументами командной строки. Чтобы использовать такой файл, передайте его скрипту с помощью аргумента `--values`.

В обоих случаях развертывание выполняется через `./init.sh`: скрипт получает параметры из аргументов командной строки и, при необходимости, из пользовательского файла `values.yaml`, затем применяет итоговую конфигурацию к Helm-чарту.

{% note info %}

Не редактируйте исходный файл `./helm/values.yaml`. Используйте копию оригинального файла или копию файла примера `./help/values.example.yaml`.

{% endnote %}


#### Проверка и выполнение операции {#check-and-run}

При каждом запуске `./init.sh` проверяет целостность дистрибутива: верифицирует контрольные суммы и сохраняет итоговые значения в переменные развертывания.

При первом развертывании RSA-ключи для сервиса аутентификации и авторизации генерируются автоматически, если не указано другое поведение.

Если запустить скрипт с аргументом `--atomic`, операция развертывания или обновления будет выполнена как единая транзакция: она либо завершится полностью успешно, либо полностью откатится.


#### Ресурсы контейнеров {#containers-resources}

В Helm-чарте не указаны лимиты по CPU для контейнеров приложения. Это предотвращает троттлинг всего приложения и соответствует рекомендациям [документации Kubernetes](https://kubernetes.io/docs/tasks/configure-pod-container/assign-cpu-resource/).


## Обновление дистрибутива {#update-distr}

1. [Скачайте](#download-distr) дистрибутив и распакуйте архив в папку `datalens-enterprise` поверх предыдущей версии DataLens On-premises.
1. Выполните действия в зависимости от предыдущей версии:

    {% list tabs %}

    - 26.5.0 и выше

      Выполните команду развертывания:

      ```bash
      ./init.sh --update
      ```

    - 26.4.2 и ниже

      1. Выполните команды для [обратной совместимости PostgreSQL](../changelog.md#changes-26.5.0):

          ```bash
          ./init.sh --pg /init/utils.sh --update-template-collation
          ./init.sh --pg /init/init-db-aux.sh
          ```

      1. Выполните команду развертывания:

          ```bash
          ./init.sh --update
          ```

    - 25.10.0 и ниже

      1. Выполните команды для [обратной совместимости PostgreSQL](../changelog.md#changes-26.5.0):

          ```bash
          ./init.sh --pg /init/utils.sh --update-template-collation
          ./init.sh --pg /init/init-db-aux.sh
          ```

      1. Выполните команды для [обратной совместимости Redis](../changelog.md#changes-25.11.1):

          ```bash
          # удаляем развертывание Redis-базы данных
          ./init.sh --kubectl delete deployment datalens-enterprise-redis

          # удаляем хранилище Redis-базы данных
          ./init.sh --kubectl delete pvc redis-volume
          ```

      1. Выполните команду развертывания:

          ```bash
          ./init.sh --update
          ```

    {% endlist %}


## Управление доступом администратора {#admin-access}

При первой установке система автоматически генерирует сложный пароль для пользователя `admin`. Его можно получить с помощью команды:

```bash
./init.sh --get-admin-password
```

Сохраните пароль. Если он будет утерян, его можно сбросить и сгенерировать новый.


## Аргументы развертывания {#args}

Доступные аргументы скрипта развертывания `./init.sh` можно разделить на группы по назначению:

* [Процесс развертывания](#deployment-itself)
* [Обновление дистрибутива](#distribution-update)
* [Конфигурация Kubernetes (K3s)](#k8s-k3s-config)
* [Конфигурация Helm-чарта](#helm-config)
* [Управление Docker-образами](#docker-images-managing)
* [Конфигурация сервиса аутентификации и авторизации](#auth-service-config)
* [Конфигурация Ingress](#ingress-config)
* [Самоподписанные корневые сертификаты](#tls-ca)
* [Функциональные возможности](#functionality)
* [Управление базой данных PostgreSQL](#pg)
* [Производительность и масштабирование](#productivity-and-scaling)
* [Инструменты командной строки](#command-line-tools)


### Процесс развертывания {#deployment-itself}

| Аргумент   | Значение по умолчанию | Описание |
| ---------- | --------------------- | -------- |
| `--atomic` | `false`               | Развернуть в виде единой транзакции, которая либо завершается полностью успешно, либо полностью откатывается. При откате Helm удаляет созданные ресурсы, что делает невозможным анализ причины сбоя. При первом развертывании использовать не рекомендуется |


### Обновление дистрибутива {#distribution-update}

| Аргумент   | Значение по умолчанию | Описание |
| ---------- | --------------------- | -------- |
| `--update` | `false`               | Обновить дистрибутив с учетом предыдущих параметров развертывания. Перед запуском обновления распакуйте новый дистрибутив поверх старого с заменой файлов. Пример использования: `./init.sh --update` |


### Конфигурация Kubernetes (K3s) {#k8s-k3s-config}

| Аргумент                   | Значение по умолчанию | Описание |
| -------------------------- | --------------------- | -------- |
| `--k3s-install`            | `false`               | Установить кластер Kubernetes K3s |
| `--k3s-image-load`         | `false`               | Автоматически загрузить Docker-образы DataLens On-premises в K3s кластер (выполняется автоматически при развертывании k3s кластера с использованием флага `--k3s-install`) |
| `--k3s-external-ip <IP-адрес>`   | —                     | Разрешить доступ до K3s кластера через публичный IP-адрес. IP адрес указывается опционально, в случае отсутствия используется глобальный IP-адрес машины |
| `--get-k3s-kubeconfig`     | —                     | Получить содержимое файла из переменной `KUBECONFIG` для удаленного подключения к кластеру |


### Конфигурация Helm-чарта {#helm-config}

| Аргумент                | Значение по умолчанию | Описание |
| ----------------------- | --------------------- | -------- |
| `--release-name`        | `datalens-enterprise` | Установить имя релиза при развертывании Helm-чарта |
| `--release-namespace`   | `datalens-enterprise` | Установить пространство имен Kubernetes для развертывания |
| `--values <путь_к_файлу>`       | —                     | Указать [пользовательский файл](#values-parameters) `values.yaml` для развертывания Helm-чарта |
| `--values-merge`        | `false`               | Объединить частично заполненный пользовательский файл values.yaml с переданными аргументами конфигурации |
| `--no-wait`             | `false`               | Не ожидать завершения развертывания Helm-чарта |
| `--deploy-dir`          | `./`                  | Указать директорию для развертывания, если скрипт находится в другой директории. Может быть использовано при отладке или обновлении |


### Управление Docker-образами {#docker-images-managing}

| Аргумент                           | Значение по умолчанию | Описание |
| ---------------------------------- | --------------------- | -------- |
| `--docker-image-load`              | `false`               | Загрузить Docker-образы из tar-файла в локальный Docker |
| `--docker-image-push`              | `false`               | Отправить Docker-образы в указанный реестр         |
| `--docker-registry <URL_реестра>` | —                     | Указать URL реестра Docker-образов для отправки и последующей загрузки образов при развертывании |
| `--docker-config <путь_к_файлу>`           | —                     | Указать файл конфигурации доступа к реестру Docker-образов в формате JSON (подробнее в примере в файле `./help/docker-config.example.json`) |


### Конфигурация сервиса аутентификации и авторизации {#auth-service-config}

| Аргумент                           | Значение по умолчанию | Описание |
| ---------------------------------- | --------------------- | -------- |
| `--auth-rsa-gen`                   | `false`               | Сгенерировать новые RSA-ключи для сервиса аутентификации (выполняется автоматически при первом развертывании) |
| `--temporal-rsa-gen`               | `false`               | Сгенерировать новые RSA-ключи для сервиса Temporal (выполняется автоматически при первом развертывании) |
| `--auth-providers-config <путь_к_файлу>`   | —                     | Указать файл конфигурации провайдеров аутентификации (подробнее в примере в файле `./help/auth-provider-config.example.json`) |
| `--get-admin-password`             | —                     | Получить пароль администратора для уже развернутого DataLens On-premises |


### Конфигурация Ingress {#ingress-config}

| Аргумент                     | Значение по умолчанию | Описание |
| ---------------------------- | --------------------- | -------- |
| `--ingress-domain`           | `datalens.enterprise` | Указать домен доступа к DataLens On-premises для Ingress ресурса |
| `--ingress-ip`               | —                     | Указать IP-адрес доступа к DataLens On-premises для Ingress ресурса |
| `--ingress-tls`              | `false`               | Включить TLS для Ingress ресурса. Заголовки Cookie будут выписываться только при аутентификации по HTTPS |
| `--ingress-tls-gen`          | `false`               | Сгенерировать новые самоподписанные TLS-сертификаты для домена. Сертификаты будут сохранены по пути `./certs` |
| `--ingress-tls-crt <путь_к_файлу>`   | —                     | Указать файл к существующему TLS-сертификату для Ingress ресурса (повторное указание при обновлении не требуется — сертификат будет сохранен в секреты кластера Kubernetes) |
| `--ingress-tls-key <путь_к_файлу>`   | —                     | Указать файл TLS-ключа (повторное указание при обновлении не требуется — ключ будет сохранен в секреты кластера Kubernetes) |


### Самоподписанные корневые сертификаты {#tls-ca}

| Аргумент                                          | Значение по умолчанию | Описание |
| ------------------------------------------------- | --------------------- | -------- |
| `--postgres-tls-ca <путь_к_файлу_сертификата>`   | `null`                | Указать путь до файла CA сертификата для PostgreSQL |
| `--clickhouse-tls-ca <путь_к_файлу_сертификата>` | `null`                | Указать путь до файла CA сертификата для ClickHouse® |
| `--redis-tls-ca <путь_к_файлу_сертификата>`      | `null`                | Указать путь до файла CA сертификата для Redis |
| `--s3-tls-ca <путь_к_файлу_сертификата>`         | `null`                | Указать путь до файла CA сертификата для S3 |


### Функциональные возможности {#functionality}

| Опция                                  | Значение по умолчанию                         | Описание |
| -------------------------------------- | --------------------------------------------- | -------- |
| `--yandex-map`                         | `false`                                       | Включить интеграцию с Яндекс Картами               |
| `--yandex-map-token <токен>`           | —                                             | Указать [токен Яндекс Карт](https://yandex.ru/dev/jsapi-v2-1/doc/ru/) |
| `--usage-tracking`                     | `false`                                       | Включить запись пользовательских событий в ClickHouse через Fluent Bit |
| `--editor`                             | `false`                                       | Включить Editor и подключение через JSON (API Connector) |
| `--export`                             | `false`                                       | Включить возможность импорта/экспорта воркбуков (также включает дополнительные сервисы `meta-manager`, `ui-api`, `temporal`) |
| `--background-exports`                 | `false`                                       | Включить возможность фонового экспорта данных в формате CSV и XLSX для табличных чартов |
| `--files`                              | `false`                                       | Включить файловые коннекторы (также включает ClickHouse®, Redis, S3) |
| `--compeng-sidecar`                    | `false`                                       | Включить PostgreSQL sidecar для движка вычислений |
| `--disable-hc`                         | Highcharts библиотека включена (`true`)       | Отключить использование библиотеки Highcharts. Если использование библиотеки [Highcharts](https://github.com/highcharts/highcharts/blob/master/readme.md) отключено в DataLens On-premises, вместо нее используется библиотека [Gravity UI Charts](https://github.com/gravity-ui/charts) |
| `--disable-demo`                       | Демо-данные включены (`true`)                 | Отключить демо-данные: подключения/датасеты/чарты/дашборды |
| `--disable-postgres`                   | Встроенный сервис PostgreSQL включен (`true`)   | Отключить встроенный PostgreSQL для использования внешнего кластера |
| `--disable-clickhouse`                 | `false`                                       | Отключить встроенный ClickHouse® для использования внешнего кластера |
| `--disable-redis`                      | `false`                                       | Отключить встроенный Redis для использования внешнего кластера |
| `--disable-fluent-bit`                 | `false`                                       | Отключить сборщик пользовательских событий из логов Fluent Bit |
| `--disable-temporal`                   | `false`                                       | Отключить сервис Temporal для выполнения отложенных задач |
| `--disable-s3`                         | `false`                                       | Отключить встроенное S3 хранилище (MinIO) |
| `--cache`                              | `false`                                       | Включить кеширование датасетов |
| `--sec-embeds`                         | `false`                                       | Включить [непубличные встраивания](../security/private-embedded-objects.md) |
| `--auth-cookie-domain http://<домен>` | `false`                                       | Включить [встраивания на корпоративном домене](../security/embedded-objects.md), где `http://<домен>` — домен, на котором будут разрешены такие встраивания |
| `--auth-disable-wildcard-cookie`       | `false`                                       | Отключить всплытия Cookie на уровне поддоменов |
| `--ai-endpoint <эндпоинт>`             | `—`                                           | Указать базовый URL OpenAI-совместимого API |
| `--ai-model-name <имя_модели>`         | `—`                                           | Указать идентификатор AI-модели (передается как есть в поле model) |
| `--ai-api-token <API-ключ>`            | `—`                                           | Указать API-токен провайдера |
| `--ai-provider_stream` | `true` | Включить потоковый запрос к AI-провайдеру |
| `--public-api` | `false` | Включить возможность использования [Public API](../operations/api-start.md) |



### Управление базой данных PostgreSQL {#pg}

| Опция                           | Значение по умолчанию | Описание |
| ------------------------------- | --------------------- | -------- |
| `--dump-postgres`               | `false`               | Создать дамп базы данных PostgreSQL|
| `--restore-postgres <путь_к_файлу>`     | —                     | Восстановить базу данных PostgreSQL из указанного файла дампа |
| `--restore-postgres-with-clear` | `false`               | Включить перед восстановлением базы данных PostgreSQL полную предварительную очистку старых объектов в базе данных |
| `--pg`                          | `false`               | Запустить интерактивную оболочку PostgreSQL |
| `--pg-sql`                      | `false`               | Запустить SQL-клиент PostgreSQL |


### Производительность и масштабирование {#productivity-and-scaling}

| Опция                    | Значение по умолчанию | Описание |
| ------------------------ | --------------------- | -------- |
| `--cpu-scale <коэффициент>`   | `1.0`                 | Коэффициент масштабирования CPU-ресурсов для всех компонентов. Можно понизить запрос ресурсов по CPU внутри кластера сразу для всех сервисов, указав значение `0.5`. |


### Инструменты командной строки {#command-line-tools}

| Опция                  | Значение по умолчанию | Описание |
| ---------------------- | --------------------- | -------- |
| `--local-bin`          | `false`               | Использовать локальные CLI-инструменты (`yq`, `kubectl`, `helm`, `helm-diff`, `stern`) вместо встроенных |
| `--skip-meta-check`    | `false`               | Пропустить проверку метаданных и контрольной суммы при развертывании |
| `--stern <аргументы>`  | `false`               | Запустить сборщик логов `stern` для пространства имен по умолчанию |
| `--kubectl <аргументы>` | `false`              | Запустить утилиту `kubectl` для пространства имен по умолчанию |


## Описание параметров файла values.yaml для развертывания DataLens On-premises {#values-yaml}

Файл `values.yaml` содержит конфигурацию для развертывания DataLens On-premises через Helm-чарты. Доступны следующие параметры:

* [Конфигурация реестра Docker-образов](#docker-reestr-config)
* [Версия релиза](#release-version)
* [Конфигурация Ingress ресурса](#ingress-resource-config)
* [Инфраструктура](#infrastructure)
* [Конфигурация приложения](#app-config)
* [Секреты](#secrets)
* [Конфигурация PostgreSQL](#pg-config)
* [Видимые коннекторы](#visible-connectors)
* [Функциональные возможности](#functionality-values)
* [Контрольная сумма](#checksum)


### Примечания {#notes}

1. Если использование библиотеки Highcharts отключено в DataLens On-premises, вместо нее используется библиотека [Gravity Charts](https://github.com/gravity-ui/charts).
1. После каждого развертывания генерируется файл `./values.debug.yaml` с сохранением всех параметров развертывания за исключением секретов. Данный файл может быть полезен для первичной диагностики работы системы при обращении в службу поддержки.
1. При передаче в URL параметра `?full_login_page=true` отображаются все способы аутентификации, доступные по умолчанию.
1. Для использования функциональности Usage Tracking с внешней ClickHouse® базой данных необходимо создать таблицы в целевом кластере при помощи запроса.

    {% cut "Запрос" %}

    ```sql
    CREATE TABLE $CLICKHOUSE_DB_USAGE_TRACKING.$CLICKHOUSE_TABLE_USAGE_TRACKING
    ON CLUSTER '{cluster}' (
        event_time DateTime64(9),
        event_date Date,
        source_entry_id String,
        dash_id Nullable(String),
        dash_tab_id Nullable(String),
        chart_id Nullable(String),
        chart_kind Nullable(String),
        response_status_code Nullable(UInt64),
        dataset_id Nullable(String),
        user_id Nullable(String),
        request_id Nullable(String),
        query Nullable(String),
        source Nullable(String),
        connection_id Nullable(String),
        dataset_mode Nullable(String),
        username Nullable(String),
        execution_time Int64,
        status Nullable(String),
        error Nullable(String),
        connection_type Nullable(String),
        host Nullable(String),
        cluster Nullable(String),
        clique_alias Nullable(String),
        cache_used UInt8,
        cache_full_hit UInt8,
        endpoint_code Nullable(String),
        query_type Nullable(String),
        err_code Nullable(String),
        workbook_id Nullable(String)
    ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/$CLICKHOUSE_DB_USAGE_TRACKING.$CLICKHOUSE_TABLE_USAGE_TRACKING', '{replica}')
    PARTITION BY toYYYYMM(event_date)
    ORDER BY (toStartOfHour(event_time), connection_id, dash_id, dataset_id, chart_id, user_id, event_time)
    TTL event_date + toIntervalMonth(6)
    SETTINGS index_granularity = 8192, allow_nullable_key = 1;
    ```

    Где:

    * `$CLICKHOUSE_DB_USAGE_TRACKING` — имя базы данных ClickHouse® в вашем кластере.
    * `$CLICKHOUSE_TABLE_USAGE_TRACKING` — имя таблицы ClickHouse® в вашем кластере.

    {% endcut %}


### Конфигурация реестра Docker-образов {#docker-reestr-config}

```yaml
registry:
  private: true
  url: ''
```

| Параметр           | Тип     | Значение по умолчанию | Описание |
| ------------------ | ------- | --------------------- | -------- |
| `registry.private` | boolean | `true`                | Указывает, является ли реестр Docker-образов закрытым и требуется ли указание файла конфигурации доступа `docker-config.json` |
| `registry.url`     | string  | `''`                  | URL-адрес реестра Docker-образов для получения образов приложения |


### Версия релиза {#release-version}

```yaml
release_version: '25.6.0'
```

| Параметр          | Тип    | Значение по умолчанию | Описание |
| ----------------- | ------ | --------------------- | -------- |
| `release_version` | string | `'25.6.0'`            | Версия дистрибутива DataLens On-premises |


### Конфигурация Ingress ресурса {#ingress-resource-config}

```yaml
ingress:
  enabled: true
  domain: datalens.enterprise
  np: false
  tls:
    enabled: false
    secret:
      crt: null
      key: null
```

| Параметр                 | Тип     | Значение по умолчанию | Описание |
| ------------------------ | ------- | --------------------- | -------- |
| `ingress.enabled`        | boolean | `true`                | Добавляет развертывание Ingress ресурса в кластере для доступа к приложению                 |
| `ingress.domain`         | string  | `datalens.enterprise` | Домен, используемый для доступа к приложению  |
| `ingress.ip`             | string  | `null`                | IP-адрес, используемый для доступа к приложению  |
| `ingress.np`             | boolean | `false`               | Использование `NodePort` конфигурации вместо `ClusterIP` для UI-сервиса  |
| `ingress.tls.enabled`    | boolean | `false`               | Активация TLS для Ingress ресурса для доступа только по защищенному соединению. Заголовки Cookie будут выписываться только при аутентификации по HTTPS |
| `ingress.tls.secret.crt` | string  | `null`                | Содержимое TLS-сертификата в формате PEM (подробнее в примере в файле `./help/values.example.yaml`)  |
| `ingress.tls.secret.key` | string  | `null`                | Содержимое приватного ключа TLS в формате PEM (подробнее в примере в файле `./help/values.example.yaml`)  |


### Инфраструктура {#infrastructure}

```yaml
infra:
  postgres:
    enabled: true
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
        storage: 1Gi
      limits:
        memory: 1024Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  clickhouse:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
        storage: 10Gi
      limits:
        memory: 1024Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  redis:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 128Mi
        storage: 512Mi
      limits:
        memory: 256Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  s3:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 128Mi
        storage: 1Gi
      limits:
        memory: 256Mi
  temporal:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  fluent_bit:
    enabled: false
    extra_envs: []
    resources:
      requests:
        cpu: 0.1
        memory: 128Mi
      limits:
        memory: 128Mi
```

| Параметр                                      | Тип           | Значение по умолчанию | Описание |
| --------------------------------------------- | ------------- | --------------------- | -------- |
| `infra.postgres.enabled`                      | boolean       | `true`                | Развертывание встроенной базы данных PostgreSQL |
| `infra.postgres.extra_envs`                   | list          | `[]`                  | Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения PostgreSQL |
| `infra.postgres.resources.requests.cpu`       | string/number | `1`                   | Запрашиваемое количество CPU для PostgreSQL |
| `infra.postgres.resources.requests.memory`    | string        | `512Mi`               | Запрашиваемый объем памяти для PostgreSQL |
| `infra.postgres.resources.requests.storage`   | string        | `1Gi`                 | Запрашиваемый объем хранилища для PostgreSQL |
| `infra.postgres.resources.limits.memory`      | string        | `1024Mi`              | Ограничение памяти для PostgreSQL |
| `infra.postgres.tls.enabled`                  | boolean       | `false`               | Включение TLS для PostgreSQL |
| `infra.postgres.tls.secret.ref`               | string        | `null`                | Ссылка на секрет с TLS сертификатом |
| `infra.postgres.tls.secret.ca`                | string        | `null`                | CA сертификат для PostgreSQL |
| `infra.clickhouse.enabled`                    | boolean       | `false`               | Развертывание встроенной базы данных ClickHouse® |
| `infra.clickhouse.extra_envs`                 | list          | `[]`                  | Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения ClickHouse® |
| `infra.clickhouse.resources.requests.cpu`     | string/number | `1`                   | Запрашиваемое количество CPU для ClickHouse® |
| `infra.clickhouse.resources.requests.memory`  | string        | `512Mi`               | Запрашиваемый объем памяти для ClickHouse® |
| `infra.clickhouse.resources.requests.storage` | string        | `10Gi`                | Запрашиваемый объем хранилища для ClickHouse® |
| `infra.clickhouse.resources.limits.memory`    | string        | `1024Mi`              | Ограничение памяти для ClickHouse® |
| `infra.clickhouse.tls.enabled`                | boolean       | `false`               | Включение TLS для ClickHouse® |
| `infra.clickhouse.tls.secret.ref`             | string        | `null`                | Ссылка на секрет с TLS сертификатом |
| `infra.clickhouse.tls.secret.ca`              | string        | `null`                | CA сертификат для ClickHouse® |
| `infra.redis.enabled`                         | boolean       | `false`               | Развертывание встроенного Redis |
| `infra.redis.extra_envs`                      | list          | `[]`                  | Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения Redis |
| `infra.redis.resources.requests.cpu`          | string/number | `0.5`                 | Запрашиваемое количество CPU для Redis |
| `infra.redis.resources.requests.memory`       | string        | `128Mi`               | Запрашиваемый объем памяти для Redis |
| `infra.redis.resources.requests.storage`      | string        | `512Mi`               | Запрашиваемый объем хранилища для Redis |
| `infra.redis.resources.limits.memory`         | string        | `256Mi`               | Ограничение памяти для Redis |
| `infra.redis.tls.enabled`                     | boolean       | `false`               | Включение TLS для Redis |
| `infra.redis.tls.secret.ref`                  | string        | `null`                | Ссылка на секрет с TLS сертификатом |
| `infra.redis.tls.secret.ca`                   | string        | `null`                | CA сертификат для Redis |
| `infra.s3.enabled`                            | boolean       | `false`               | Развертывание встроенного S3 (MinIO) |
| `infra.s3.extra_envs`                         | list          | `[]`                  | Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения S3 |
| `infra.s3.resources.requests.cpu`             | string/number | `0.5`                 | Запрашиваемое количество CPU для S3 |
| `infra.s3.resources.requests.memory`          | string        | `128Mi`               | Запрашиваемый объем памяти для S3 |
| `infra.s3.resources.requests.storage`         | string        | `1Gi`                 | Запрашиваемый объем хранилища для S3 |
| `infra.s3.resources.limits.memory`            | string        | `256Mi`               | Ограничение памяти для S3 |
| `infra.s3.tls.enabled`                        | boolean       | `false`               | Включение TLS для S3 |
| `infra.s3.tls.secret.ca`                      | string        | `null`                | CA сертификат для S3 |
| `infra.temporal.enabled`                      | boolean       | `false`               | Развертывание сервиса Temporal |
| `infra.temporal.extra_envs`                   | list          | `[]`                  | Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения сервиса Temporal |
| `infra.temporal.resources.requests.cpu`       | string/number | `0.5`                 | Запрашиваемое количество CPU для Temporal |
| `infra.temporal.resources.requests.memory`    | string        | `256Mi`               | Запрашиваемый объем памяти для Temporal |
| `infra.temporal.resources.limits.memory`      | string        | `512Mi`               | Ограничение памяти для Temporal |
| `infra.fluent_bit.enabled`                    | boolean       | `false`               | Развертывание сборщика пользовательских событий Fluent Bit |
| `infra.fluent_bit.extra_envs`                 | list          | `[]`                  | Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения Fluent Bit |
| `infra.fluent_bit.resources.requests.cpu`     | string/number | `0.1`                 | Запрашиваемое количество CPU для Fluent Bit |
| `infra.fluent_bit.resources.requests.memory`  | string        | `128Mi`               | Запрашиваемый объем памяти для Fluent Bit |
| `infra.fluent_bit.resources.limits.memory`    | string        | `128Mi`               | Ограничение памяти для Fluent Bit |

С помощью параметра `extra_envs` можно переопределить/дополнить переменные окружения. Например, для PostgreSQL:

```yaml
  postgres:
    enabled: true
    extra_envs:
      - name: MY_VAR
        value: test123
      - name: MY_VAR_SECRET
        valueFrom:
          secretKeyRef:
            name: test-secret
            key: test-secret-key
```


### Конфигурация приложения {#app-config}

```yaml
application:
  control_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 2048Mi
      limits:
        memory: 4096Mi
  data_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 2048Mi
      limits:
        memory: 4096Mi
  ui:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
      limits:
        memory: 1024Mi
  ui_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  us:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
      limits:
        memory: 1024Mi
  auth:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 512Mi
      limits:
        memory: 1024Mi
  meta_manager:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  file_secure_reader:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  file_uploader_worker:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  file_uploader_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs: []
    resources:
      requests:
        cpu: 1
        memory: 256Mi
      limits:
        memory: 512Mi
```

Каждый компонент приложения имеет следующие параметры:

| Параметр                                            | Тип           | Значение по умолчанию (varies) | Описание  |
| --------------------------------------------------- | ------------- | ------------------------------ | --------- |
| `application.<компонент>.replicas`                  | number        | `1`                            | Количество реплик для компонента                            |
| `application.<компонент>.version`                   | string        | varies                         | Версия компонента                                           |
| `application.<компонент>.maxSurge`                  | string/number | `50%`                          | Максимальное количество дополнительных подов при обновлении |
| `application.<компонент>.maxUnavailable`            | string/number | `0`                            | Максимальное количество удаляемых подов при обновлении      |
| `application.<компонент>.resources.requests.cpu`    | string/number | varies                         | Запрашиваемое количество CPU для компонента                 |
| `application.<компонент>.resources.requests.memory` | string        | varies                         | Запрашиваемый объем памяти для компонента                   |
| `application.<компонент>.resources.limits.memory`   | string        | varies                         | Ограничение памяти для компонента                           |
| `application.<компонент>.extra_envs`                | list          | `[]`                           | Список переменных и их значений, который позволяет переопределить или дополнить переменные окружения компонента приложения |

**Доступные компоненты приложения:**
* `control_api` — сервис управления подключениями и датасетами.
* `data_api` — сервис обработки запросов к источникам.
* `ui` — пользовательский интерфейс.
* `ui_api` — служебный сервис для приватного API дашбордов и чартов.
* `us` — сервис United Storage для управления хранением всех данных работы системы.
* `auth` — сервис аутентификации.
* `meta_manager` — менеджер обработки отложенных задач.
* `file_secure_reader` — сервис безопасного чтения файлов.
* `file_uploader_worker` — сервис загрузки и обработки файлов.
* `file_uploader_api` — сервис для API загрузки файлов.

С помощью параметра `extra_envs` можно переопределить или дополнить переменные окружения компонента приложения. Например, для компонента `control_api`:

```yaml
application:
  control_api:
    replicas: 1
    version: '...'
    maxSurge: 50%
    maxUnavailable: 0
    extra_envs:
      - name: MY_VAR
        value: test123
      - name: MY_VAR_SECRET
        valueFrom:
          secretKeyRef:
            name: test-secret
            key: test-secret-key
    resources:
      requests:
        cpu: 1
        memory: 2048Mi
      limits:
        memory: 4096Mi
```


### Секреты {#secrets}

```yaml
secrets:
  ref: null
  #
  AUTH_TOKEN_PRIVATE_KEY: null
  AUTH_TOKEN_PUBLIC_KEY: null
  AUTH_PROVIDERS_CONFIG: null
  AUTH_ADMIN_PASSWORD: null
  AUTH_CALLBACK_COOKIE_SECRET: null
  #
  CSRF_SECRET: null
  #
  AUTH_MASTER_TOKEN: null
  US_MASTER_TOKEN: null
  FILE_UPLOADER_MASTER_TOKEN: null
  EXPORT_DATA_VERIFICATION_KEY: null
  #
  CONTROL_API_CRYPTO_KEY: null
  #
  DOCKER_CONFIG_JSON: null
  #
  POSTGRES_PASSWORD_ROOT: null
  POSTGRES_PASSWORD_US: null
  POSTGRES_PASSWORD_COMPENG: null
  POSTGRES_PASSWORD_AUTH: null
  POSTGRES_PASSWORD_TEMPORAL: null
  POSTGRES_PASSWORD_META_MANAGER: null
  POSTGRES_PASSWORD_DEMO: null
  #
  TEMPORAL_AUTH_PRIVATE_KEY: null
  TEMPORAL_AUTH_PUBLIC_KEY: null
  #
  CLICKHOUSE_PASSWORD: null
  #
  REDIS_PASSWORD: null
  #
  S3_ACCESS_KEY_ID: null
  S3_SECRET_ACCESS_KEY: null
```

| Параметр                                 | Тип    | Значение по умолчанию | Описание |
| ---------------------------------------- | ------ | --------------------- | -------- |
| `secrets.ref`                            | string | `null`                | Ссылка на внешний секрет Kubernetes                          |
| `secrets.AUTH_TOKEN_PRIVATE_KEY`         | string | `null`                | Приватный ключ RSA для подписи токенов аутентификации        |
| `secrets.AUTH_TOKEN_PUBLIC_KEY`          | string | `null`                | Публичный ключ RSA для проверки токенов аутентификации       |
| `secrets.AUTH_PROVIDERS_CONFIG`          | string | `null`                | Конфигурация провайдеров аутентификации в формате JSON       |
| `secrets.AUTH_ADMIN_PASSWORD`            | string | `null`                | Пароль администратора                                        |
| `secrets.AUTH_CALLBACK_COOKIE_SECRET`    | string | `null`                | Ключ шифрования Cookie для аутентификации                    |
| `secrets.CSRF_SECRET`                    | string | `null`                | Ключ шифрования CSRF-токена                                  |
| `secrets.AUTH_MASTER_TOKEN`              | string | `null`                | Мастер-токен для сервиса аутентификации                      |
| `secrets.US_MASTER_TOKEN`                | string | `null`                | Мастер-токен для сервиса хранения мета-информации            |
| `secrets.FILE_UPLOADER_MASTER_TOKEN`     | string | `null`                | Мастер-токен для сервиса загрузки файлов                     |
| `secrets.EXPORT_DATA_VERIFICATION_KEY`   | string | `null`                | Ключ проверки целостности для импорта/экспорта воркбуков     |
| `secrets.CONTROL_API_CRYPTO_KEY`         | string | `null`                | Ключ шифрования для подключений                              |
| `secrets.DOCKER_CONFIG_JSON`             | string | `null`                | Конфигурация доступа к реестру docker-образов в формате JSON |
| `secrets.POSTGRES_PASSWORD_ROOT`         | string | `null`                | Пароль root пользователя PostgreSQL                          |
| `secrets.POSTGRES_PASSWORD_US`           | string | `null`                | Пароль для базы данных сервиса мета-информации               |
| `secrets.POSTGRES_PASSWORD_COMPENG`      | string | `null`                | Пароль для базы данных движка вычислений                     |
| `secrets.POSTGRES_PASSWORD_AUTH`         | string | `null`                | Пароль для базы данных сервиса аутентификации                |
| `secrets.POSTGRES_PASSWORD_TEMPORAL`     | string | `null`                | Пароль для базы данных Temporal                              |
| `secrets.POSTGRES_PASSWORD_META_MANAGER` | string | `null`                | Пароль для базы данных сервиса `meta-manager`                |
| `secrets.POSTGRES_PASSWORD_DEMO`         | string | `null`                | Пароль для базы данных демо-данных                           |
| `secrets.TEMPORAL_AUTH_PRIVATE_KEY`      | string | `null`                | Приватный ключ RSA для аутентификации Temporal               |
| `secrets.TEMPORAL_AUTH_PUBLIC_KEY`       | string | `null`                | Публичный ключ RSA для аутентификации Temporal               |
| `secrets.CLICKHOUSE_PASSWORD`            | string | `null`                | Пароль для ClickHouse®                                          |
| `secrets.REDIS_PASSWORD`                 | string | `null`                | Пароль для Redis                                          |
| `secrets.S3_ACCESS_KEY_ID`               | string | `null`                | Ключ доступа Access Key ID для S3                            |
| `secrets.S3_SECRET_ACCESS_KEY`           | string | `null`                | Ключ доступа Secret Access Key для S3                        |


### Конфигурация PostgreSQL {#pg-config}

```yaml
postgres:
  POSTGRES_HOST: postgres-cip
  POSTGRES_PORT: '5432'
  POSTGRES_USER_AUTH: pg-auth-user
  POSTGRES_DB_AUTH: pg-auth-db
  POSTGRES_USER_COMPENG: pg-compeng-user
  POSTGRES_DB_COMPENG: pg-compeng-db
  POSTGRES_USER_US: pg-us-user
  POSTGRES_DB_US: pg-us-db
  POSTGRES_USER_META_MANAGER: pg-meta-manager-user
  POSTGRES_DB_META_MANAGER: pg-meta-manager-db
  POSTGRES_USER_DEMO: pg-demo-user
  POSTGRES_DB_DEMO: pg-demo-db
  POSTGRES_USER_TEMPORAL: pg-temporal-user
  POSTGRES_DB_TEMPORAL: pg-temporal-db
  POSTGRES_DB_TEMPORAL_VISIBILITY: pg-temporal-visibility-db
```

| Параметр                                   | Тип    | Значение по умолчанию       | Описание |
| ------------------------------------------ | ------ | --------------------------- | ---------|
| `postgres.POSTGRES_HOST`                   | string | `postgres-cip`              | Хост PostgreSQL                                         |
| `postgres.POSTGRES_PORT`                   | string | `'5432'`                    | Порт PostgreSQL                                         |
| `postgres.POSTGRES_USER_AUTH`              | string | `pg-auth-user`              | Пользователь для БД сервиса аутентификации            |
| `postgres.POSTGRES_DB_AUTH`                | string | `pg-auth-db`                | Имя БД сервиса аутентификации                         |
| `postgres.POSTGRES_USER_COMPENG`           | string | `pg-compeng-user`           | Пользователь для БД движка вычислений                 |
| `postgres.POSTGRES_DB_COMPENG`             | string | `pg-compeng-db`             | Имя БД движка вычислений                              |
| `postgres.POSTGRES_USER_US`                | string | `pg-us-user`                | Пользователь для БД сервиса мета-информации           |
| `postgres.POSTGRES_DB_US`                  | string | `pg-us-db`                  | Имя БД сервиса мета-информации                        |
| `postgres.POSTGRES_USER_META_MANAGER`      | string | `pg-meta-manager-user`      | Пользователь для БД Meta Manager                      |
| `postgres.POSTGRES_DB_META_MANAGER`        | string | `pg-meta-manager-db`        | Имя БД Meta Manager                                   |
| `postgres.POSTGRES_USER_DEMO`              | string | `pg-demo-user`              | Пользователь для БД демо-данных                       |
| `postgres.POSTGRES_DB_DEMO`                | string | `pg-demo-db`                | Имя БД демо-данных                                    |
| `postgres.POSTGRES_USER_TEMPORAL`          | string | `pg-temporal-user`          | Пользователь для БД Temporal                          |
| `postgres.POSTGRES_DB_TEMPORAL`            | string | `pg-temporal-db`            | Имя БД Temporal                                       |
| `postgres.POSTGRES_DB_TEMPORAL_VISIBILITY` | string | `pg-temporal-visibility-db` | Имя служебной БД для построения индексов для Temporal |


### Конфигурация ClickHouse® {#ch-config}

```yaml
clickhouse:
  CLICKHOUSE_HOST: clickhouse-cip
  CLICKHOUSE_PORT: '8123'
  CLICKHOUSE_USER: ch-user
  CLICKHOUSE_DB_USAGE_TRACKING: ch-usage-tracking-db
  CLICKHOUSE_TABLE_USAGE_TRACKING: ch-usage-tracking-table
```

| Параметр                                     | Тип    | Значение по умолчанию     | Описание |
| -------------------------------------------- | ------ | ------------------------- | -------- |
| `clickhouse.CLICKHOUSE_HOST`                 | string | `clickhouse-cip`          | Хост ClickHouse®                                     |
| `clickhouse.CLICKHOUSE_PORT`                 | string | `'8123'`                  | Порт ClickHouse®                                     |
| `clickhouse.CLICKHOUSE_USER`                 | string | `ch-user`                 | Пользователь ClickHouse®                             |
| `clickhouse.CLICKHOUSE_DB_USAGE_TRACKING`    | string | `ch-usage-tracking-db`    | Имя БД для хранения пользовательских событий      |
| `clickhouse.CLICKHOUSE_TABLE_USAGE_TRACKING` | string | `ch-usage-tracking-table` | Имя таблицы для хранения пользовательских событий |


### Конфигурация Redis {#rd-config}

```yaml
redis:
  REDIS_HOSTS:
    - redis-cip
  REDIS_PORT: '6379'
  REDIS_CLUSTER_NAME: null
  REDIS_DB_CACHE_DATA: '0'
  REDIS_DB_CACHE_MUTATIONS: '1'
  REDIS_DB_FILE_API: '9'
  REDIS_DB_FILE_WORKER: '11'
```

| Параметр                          | Тип          | Значение по умолчанию | Описание |
| --------------------------------- | ------------ | --------------------- | -------- |
| `redis.REDIS_HOSTS`               | list(string) | `redis-cip`           | Хосты Redis |
| `redis.REDIS_PORT`                | string       | `'6379'`              | Порт Redis |
| `redis.REDIS_CLUSTER_NAME`        | string       | `null`                | Имя кластера Redis |
| `redis.REDIS_DB_CACHE_DATA`       | string       | `'0'`                 | БД Redis с кешем данных |
| `redis.REDIS_DB_CACHE_MUTATIONS`  | string       | `'1'`                 | БД Redis с кешем датасетов |
| `redis.REDIS_DB_FILE_API`         | string       | `'9'`                 | БД Redis для хранения метаданных при обработке загружаемых файлов |
| `redis.REDIS_DB_FILE_WORKER`      | string       | `'11'`                | БД Redis для очереди задач file-uploader-worker  |


### Конфигурация S3 {#s3-config}

```yaml
s3:
  S3_ENDPOINT: http://s3-cip:9000
  S3_BUCKET_TEMPORARY: dl-file-uploader-tmp
  S3_BUCKET_PERSISTENT: dl-file-uploader
```

| Параметр                  | Тип    | Значение по умолчанию  | Описание |
| ------------------------- | ------ | ---------------------- | -------- |
| `s3.S3_ENDPOINT`          | string | `http://s3-cip:9000`   | Адрес доступа к S3 хранилищу                                        |
| `s3.S3_BUCKET_TEMPORARY`  | string | `dl-file-uploader-tmp` | Имя бакета для хранения временных файлов                            |
| `s3.S3_BUCKET_PERSISTENT` | string | `dl-file-uploader`     | Имя бакета для хранения загруженных файлов для файловых подключений |


### Конфигурация Temporal {#temporal-config}

```yaml
temporal:
  TEMPORAL_ENDPOINT: temporal-cip:7233
```

| Параметр                     | Тип    | Значение по умолчанию | Описание               |
| ---------------------------- | ------ | --------------------- | ---------------------- |
| `temporal.TEMPORAL_ENDPOINT` | string | `temporal-cip:7233`   | Адрес сервиса Temporal |


### Доступные коннекторы {#visible-connectors}

```yaml
visible_connectors:
  - clickhouse
  - postgres
  - chyt
  - ydb
  - mysql
  - greenplum
  - mssql
  - oracle
  - trino
  - metrika_api
  - appmetrica_api
```

| Параметр             | Тип   | Значение по умолчанию | Описание                                                  |
| -------------------- | ----- | --------------------- | --------------------------------------------------------- |
| `visible_connectors` | array | (список)              | Список коннекторов к базам данных, доступных в интерфейсе |


### Функциональные возможности {#functionality-values}

```yaml
features:
  auth:
    enabled: true
    local: true
    skip_local: false
    force_redirect_open_id: false
  meta_manager:
    enabled: false
  ui_api:
    enabled: false
  demo:
    enabled: true
  hc:
    enabled: true
    endpoint: ''
    protocol: ''
  yandex_map:
    enabled: false
    token: ''
  editor:
    enabled: false
  export:
    enabled: false
  background_exports:
    enabled: false
  compeng_sidecar:
    enabled: false
  usage_tracking:
    enabled: false
  files:
    enabled: false
  cache:
    enabled: false
  sec_embeds:
    enabled: false
  auth_cookie:
    enabled: false
    domain: ''
  ai:
    enabled: false
    api_token: ''
    model_name: ''
    endpoint: ''
    model_context_window_size: ''
    extra_headers: ''
    provider_stream: true
  public_api:
    enabled: false

```

| Параметр                                | Тип     | Значение по умолчанию | Описание |
| --------------------------------------- | ------- | --------------------- | -------- |
| `features.auth.enabled`                 | boolean | `true`                | Включение сервиса аутентификации |
| `features.auth.local`                   | boolean | `true`                | Включение локальных пользователей. При отключении вход в систему возможен только через пользователей внешних IdP-провайдеров |
| `features.auth.skip_local`              | boolean | `false`               | Пропускает (не отключает) шаг локального входа. Если IdP-провайдеры не указаны (пустой массив в конфигурации), этот параметр не оказывает влияния |
| `features.auth.force_redirect_open_id`  | boolean | `false`               | Перенаправляет на OpenID-авторизацию, если параметр `features.auth.skip_local` имеет значение `true`, отсутствует LDAP-провайдер и указан только один OpenID-провайдер |
| `features.meta_manager.enabled`         | boolean | `false`               | Включение сервиса `meta-manager` для обработки отложенных задач   |
| `features.ui_api.enabled`               | boolean | `false`               | Включение `ui-api` сервиса |
| `features.demo.enabled`                 | boolean | `true`                | Включение развертывания демо-данных |
| `features.hc.enabled`                   | boolean | `true`                | Включение использования библиотеки Highcharts  |
| `features.hc.endpoint`                  | string  | `''`                  | Хост и порт для скачивания ресурсов библиотеки Highcharts |
| `features.hc.protocol`                  | string  | `''`                  | Протокол для скачивания ресурсов библиотеки Highcharts `http`/`https` |
| `features.yandex_map.enabled`           | boolean | `false`               | Включение интеграции с Яндекс Картами |
| `features.yandex_map.token`             | string  | `''`                  | [Токен для Яндекс Карт](https://yandex.ru/dev/jsapi-v2-1/doc/ru/)  |
| `features.editor.enabled`               | boolean | `false`               | Включение Editor и JSON (API Connector) |
| `features.export.enabled`               | boolean | `false`               | Включение возможности импорта/экспорта воркбуков |
| `features.background_exports.enabled`   | boolean | `false`               | Включение возможности фонового экспорта данных в формате CSV и XLSX для табличных чартов |
| `features.compeng_sidecar.enabled`      | boolean | `false`               | Развертывание БД PostgreSQL для вычислений в виде sidecar |
| `features.usage_tracking.enabled`       | boolean | `false`               | Включение возможности отслеживания пользовательских событий |
| `features.cache.enabled`                | boolean | `false`               | Включение кеширования данных запросов и метаданных датасетов |
| `features.sec_embeds.enabled`           | boolean | `false`               | Включение [непубличного встраивания объектов](../security/private-embedded-objects.md) |
| `features.auth_cookie.enabled`          | boolean | `false`               | Включение [встраивания объектов на корпоративном домене](../security/embedded-objects.md) |
| `features.auth_cookie.domain`           | string  | `''`                  | Корпоративный домен для встраивания объектов на корпоративном домене, в формате `http://<домен>` |
| `features.ai.enabled`                   | boolean | `false`               | Включает использование AI, если заполнены следующие три переменные ^1^ |
| `features.ai.api_token`                 | string  | `''`                  | API-токен провайдера |
| `features.ai.model_name`                | string  | `''`                  | Идентификатор модели (передается как есть в поле `model`) |
| `features.ai.endpoint`                  | string  | `''`                  | Базовый URL OpenAI-совместимого API |
| `features.ai.model_context_window_size` | string  | `''`                  | (опционально) Размер контекстного окна в токенах (по умолчанию 128 000) |
| `features.ai.extra_headers`             | string  | `''`                  | (опционально) Дополнительные HTTP-заголовки (только сервер, в браузер не попадают) |
| `features.ai.provider_stream`           | boolean | `true`                | Включение потокового запроса к AI-провайдеру         |
| `features.public_api.enabled`           | boolean | `false`                | Включить возможность использования [Public API](../operations/api-start.md)         |

^1^ Если в инсталляции включена аутентификация, Нейроаналитик передает AI-провайдеру технические заголовки с данными пользователя:

* `x-dl-user-id` — доверенный идентификатор пользователя;
* `x-dl-user-login` — логин пользователя (отправляется, если удалось его получить, иначе запрос уходит с одним `x-dl-user-id`).

Если аутентификация отключена (`AUTH_ENABLED=false`), инсталляция остается анонимной — заголовки `x-dl-user-id` и `x-dl-user-login` не отправляются. Применяется ко всем AI-вызовам, включая fallback-провайдер. Значения `x-dl-user-id` и `x-dl-user-login`, заданные через `AI_EXTRA_HEADERS`, игнорируются — эти заголовки зарезервированы системой и не могут быть переопределены пользовательской конфигурацией.


### Конфигурация системы {#system-config}

```yaml
config:
  cpu_request_scale: 1.0
```

| Параметр                   | Тип    | Значение по умолчанию | Описание                                                      |
| -------------------------- | ------ | --------------------- | ------------------------------------------------------------- |
| `config.cpu_request_scale` | number | `1.0`                 | Коэффициент масштабирования CPU-ресурсов для всех компонентов |


### Контрольная сумма {#checksum}

```yaml
checksum: null
```

| Параметр   | Тип    | Значение по умолчанию | Описание                 |
| ---------- | ------ | --------------------- | ----------------------------------------------------------------------------------- |
| `checksum` | string | `null`                | Контрольная сумма дистрибутива для проверки целостности (заполняется автоматически) |


<!-- source: ru/_includes/clickhouse-disclaimer.md -->
_ClickHouse® является зарегистрированным товарным знаком [ClickHouse, Inc](https://clickhouse.com)._
<!-- endsource: ru/_includes/clickhouse-disclaimer.md -->


