Установка и запуск DataLens On-premises

Системные требования

  1. Доступные операционные системы:

    • Ubuntu 20.04/22.04/24.04;
    • Debian 10/11/12;
    • CentOS 7;
    • Astra Linux 1.7;
    • Oracle Linux 8/9;
    • RedHat Linux 8/9;
    • CentOS Stream 8/9.

    Примечание

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

  2. Минимальные системные требования для развертывания:

    • vCPU — 8;
    • RAM — 16 ГБ;
    • SSD — 40 ГБ.
  3. Требования к кластеру Managed Service for PostgreSQL:

    Примечание

    Рекомендуется использовать отдельный кластер Managed Service for PostgreSQL в отказоустойчивой конфигурации (мастер + 1 реплика).

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

      • vCPU — 4;
      • RAM — 8 ГБ;
      • SSD — 100 ГБ.
    • При развертывании кластера для высокой нагрузки нужно рассчитать потребление ресурсов в зависимости от числа пользователей.

    • Расширения базы данных PostgreSQL для сервиса United Storage устанавливаются автоматически, если у пользователя есть соответствующие права:

      • pg_trgm;
      • btree_gin;
      • btree_gist;
      • uuid-ossp.
    • При развертывании кластера БД Managed Service for PostgreSQL в Yandex Cloud для сервиса United Storage:

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

Развертывание DataLens On-premises

  1. Скачайте архив с дистрибутивом DataLens On-premises по предоставленной ссылке любым способом, например:

    URL="..."
    curl -L -o datalens-enterprise.tar "${URL}"
    
  2. Распакуйте дистрибутив в директорию datalens-enterprise:

    mkdir -p ./datalens-enterprise && tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise
    
  3. Перейдите в директорию с дистрибутивом:

    cd ./datalens-enterprise
    

    Если развертывание выполняется на удаленной виртуальной машине, то для удобства можно сразу выполнить все команды:

    URL="..."
    curl -L "${URL}" -o datalens-enterprise.tar
    mkdir -p ./datalens-enterprise && tar -xvf datalens-enterprise.tar --directory ./datalens-enterprise
    cd ./datalens-enterprise
    
  4. Развертывание дистрибутива происходит с помощью скрипта ./init.sh, который находится в корне архива. Скрипт позволяет развернуть DataLens On-premises в существующем кластере Kubernetes. Если кластера Kubernetes нет, скрипт также может развернуть его на виртуальной машине.

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

    Пример использования скрипта:

    ./init.sh [аргументы]
    

    Особенности работы скрипта:

    • Скрипт каждый раз проверяет целостность дистрибутива, верифицируя контрольные суммы, и сохраняет итоговые значения в переменные развертывания.

    • При запуске с аргументом --k3s-install K3s кластер Kubernetes устанавливается автоматически, без доступа к публичной сети.

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

    • Используйте аргумент --values, чтобы задать пользовательский файл values.yaml для переопределения параметров развертывания Helm-чарта и более точечной настройки окружения.

      Примечание

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

    • Если перед выполнением скрипта задать переменную окружения KUBECONFIG, скрипт подключится к уже существующему кластеру Kubernetes для развертывания.

    • В Helm-чарте не указаны лимиты по CPU для контейнеров приложения, чтобы предотвратить троттлинг всего приложения, согласно рекомендациям документации Kubernetes.

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

Особенности развертывания на Oracle Linux

Для запуска K3s кластера Kubernetes на Oracle Linux 8/9 необходимо либо полностью отключить firewalld, либо настроить необходимые правила для корректной работы сети Kubernetes.

Примечание

При развертывании дистрибутива через скрипт ./init.sh с установкой K3s кластера Kubernetes правила для Oracle Linux будут применены в автоматическом режиме.

sudo firewall-cmd --permanent --zone=trusted --add-interface=cni0
sudo firewall-cmd --permanent --zone=trusted --add-interface=flannel.1
sudo firewall-cmd --reload

Основные порты, используемые для работы K3s:

Диапазон портов Протокол Описание
6443 TCP Основной API-сервер Kubernetes (master)
2379-2380 TCP Etcd (при многомастерной установке)
10250 TCP Kubelet API
8472 UDP VXLAN (flannel сеть, если используется)
30000-32767 TCP Диапазон портов для NodePort-сервисов

Примеры для firewalld:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

Добавьте правила для нужных портов или для сетевых интерфейсов:

# traffic between k8s pod network subnets
sudo firewall-cmd --permanent --zone=trusted --add-source=10.42.0.0/16
sudo firewall-cmd --permanent --zone=trusted --add-source=10.43.0.0/16
# or
sudo firewall-cmd --permanent --zone=trusted --add-interface=cni0
sudo firewall-cmd --permanent --zone=trusted --add-interface=flannel.1


# k8s api server access for all nodes (optional)
sudo firewall-cmd --permanent --add-port=6443/tcp
# client requests to etcd and peer communication between etcd members (optional)
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
# kubelet api port on each node (optional)
sudo firewall-cmd --permanent --add-port=10250/tcp
# flannel vxlan pod network communication (optional)
sudo firewall-cmd --permanent --add-port=8472/udp
# node port external traffic (optional)
sudo firewall-cmd --permanent --add-port=30000-32767/tcp

sudo firewall-cmd --reload

Если файрвол не мешает работе, предпочтительнее настроить только необходимые порты вместо полного его отключения. Это поможет сохранить базовую безопасность системы при допустимых настройках для Kubernetes.

Доступные аргументы развертывания

Доступные аргументы скрипта развертывания с примерами для типовых конфигураций:

Конфигурация Kubernetes (K3s)

Аргумент Значение по умолчанию Описание
--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-чарта

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

Управление Docker-образами

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

Конфигурация сервиса аутентификации и авторизации

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

Конфигурация Ingress

Аргумент Значение по умолчанию Описание
--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 <file> Указать файл к существующему TLS-сертификату для Ingress ресурса (повторное указание при обновлении не требуется — сертификат будет сохранен в секреты кластера Kubernetes)
--ingress-tls-key <file> Указать файл TLS-ключа (повторное указание при обновлении не требуется — ключ будет сохранен в секреты кластера Kubernetes)

Самоподписанные корневые сертификаты

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

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

Опция Значение по умолчанию Описание
--yandex-map false Включить интеграцию с Яндекс Картами
--yandex-map-token <token> Указать токен Яндекс Карт
--usage-tracking false Включить запись пользовательских событий в ClickHouse через Fluent Bit
--editor false Включить Editor и подключение через JSON (API Connector)
--export false Включить возможность импорта/экспорта воркбуков (также включает дополнительные сервисы meta-manager, ui-api, temporal)
--files false Включить файловые коннекторы (также включает ClickHouse®, Redis, S3)
--compeng-sidecar false Включить PostgreSQL sidecar для движка вычислений
--disable-hc Highcharts библиотека включена (true) Отключить использование библиотеки Highcharts. Если использование библиотеки Highcharts отключено в DataLens On-premises, вместо нее используется библиотека 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 Включить непубличные встраивания
--auth-cookie-domain http://<domain> false Включить встраивания на корпоративном домене, где http://<domain> — домен, на котором будут разрешены такие встраивания
--auth-disable-wildcard-cookie false Отключить всплытия Cookie на уровне поддоменов

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

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

Производительность и масштабирование

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

Инструменты командной строки

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

Примеры типовых команд развертывания

  • Базовая установка с K3s на виртуальной машине с автоматической генерацией самоподписанных сертификатов:

    ./init.sh \
    --k3s-install \
    --ingress-domain <domain> \
    --ingress-tls \
    --ingress-tls-gen
    
  • Развертывание на домене с пользовательскими TLS-сертификатами:

    ./init.sh \
    --k3s-install \
    --ingress-domain <domain> \
    --ingress-tls-crt <crt-file> \
    --ingress-tls-key <key-file>
    
  • Зеркалирование образов в приватный реестр Docker-образов:

    ./init.sh \
    --docker-image-load \
    --docker-image-push \
    --docker-registry <registry-url> \
    --docker-config <docker-config-json-file>
    
  • Развертывание с настройкой пользовательских провайдеров аутентификации:

    ./init.sh --auth-providers-config <auth-provider-config-json-file>
    
  • Развертывание с настройкой параметров через пользовательский файл values.yaml:

    ./init.sh --values <values-file>
    
  • Получение пароля администратора из секретов после развертывания:

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

Примеры вспомогательных команд

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

    ./init.sh --stern . -o extjson > datalens.enterprise.log
    
  • Получение всех событий кластера Kubernetes для отладки ошибок развертывания:

    ./init.sh --kubectl events
    

Описание всех параметров файла values.yaml

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

Конфигурация реестра Docker-образов

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

Версия релиза

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

Конфигурация Ingress ресурса

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)

Инфраструктура

infra:
  postgres:
    enabled: true
    resources:
      requests:
        cpu: 1
        memory: 512Mi
        storage: 1Gi
      limits:
        memory: 1024Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  clickhouse:
    enabled: false
    resources:
      requests:
        cpu: 1
        memory: 512Mi
        storage: 10Gi
      limits:
        memory: 1024Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  redis:
    enabled: false
    resources:
      requests:
        cpu: 0.5
        memory: 128Mi
        storage: 512Mi
      limits:
        memory: 256Mi
    tls:
      enabled: false
      secret:
        ref: null
        ca: null
  s3:
    enabled: false
    resources:
      requests:
        cpu: 0.5
        memory: 128Mi
        storage: 1Gi
      limits:
        memory: 256Mi
  temporal:
    enabled: false
    resources:
      requests:
        cpu: 0.5
        memory: 256Mi
      limits:
        memory: 512Mi
  fluent_bit:
    enabled: false
    resources:
      requests:
        cpu: 0.1
        memory: 128Mi
      limits:
        memory: 128Mi
Параметр Тип Значение по умолчанию Описание
infra.postgres.enabled boolean true Развертывание встроенной базы данных 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.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.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.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.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.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

Конфигурация приложения

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

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

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

Доступные компоненты приложения:

  • control_api - Сервис управления подключениями и датасетами
  • data_api - Сервис обработки запросов к источникам
  • ui - Пользовательский интерфейс
  • ui_api - Служебный сервис для приватного API дашбордов и чартов
  • us - Сервис United Storage для управления хранением всех данных работы системы
  • auth - Сервис аутентификации
  • meta_manager - Менеджер обработки отложенных задач
  • file_secure_reader - Сервис безопасного чтения файлов
  • file_uploader_worker - Сервис загрузки и обработки файлов
  • file_uploader_api - Сервис для API загрузки файлов

Секреты

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

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®

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

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

Доступные коннекторы

visible_connectors:
  - clickhouse
  - postgres
  - chyt
  - ydb
  - mysql
  - greenplum
  - mssql
  - oracle
  - trino
  - metrika_api
  - appmetrica_api
Параметр Тип Значение по умолчанию Описание
visible_connectors array (список) Список коннекторов к базам данных, доступных в интерфейсе

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

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
  compeng_sidecar:
    enabled: false
  usage_tracking:
    enabled: false
  files:
    enabled: false
  cache:
    enabled: false
  sec_embeds: 
    enabled: false
  auth_cookie:
    enabled: false
    domain: ''
Параметр Тип Значение по умолчанию Описание
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 '' Токен для Яндекс Карт
features.editor.enabled boolean false Включение Editor и JSON (API Connector)
features.export.enabled boolean false Включение возможности импорта/экспорта воркбуков
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 Включение непубличного встраивания объектов
features.auth_cookie.enabled boolean false Включение встраивания объектов на корпоративном домене
features.auth_cookie.domain string '' Корпоративный домен для встраивания объектов на корпоративном домене, в формате http://<domain>

Конфигурация системы

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

Контрольная сумма

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

Примечания

  1. Если использование библиотеки Highcharts отключено в DataLens On-premises, вместо нее используется библиотека Gravity Charts.

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

  3. При передаче в URL параметра ?full_login_page=true отображаются все способы аутентификации, доступные по умолчанию.

  4. Для использования функциональности Usage Tracking с внешней ClickHouse® базой данных необходимо создать таблицы в целевом кластере при помощи запроса:

    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_TABLE_USAGE_TRACKING — имя базы данных и имя таблицы ClickHouse® в вашем кластере.