Здесь описано развёртывание платформы через Helmfile – рекомендованный способ установки для новых инсталляций.
Перед началом нужно подготовить серверы.
Основные параметры установки через Helmfile собраны в одном файле base.yaml, поэтому для локальных окружений его проще настраивать – хранилище, обновления, кастомные образы и дополнительные параметры.
Установка через Helm Chart подойдёт, если у вас уже есть своя инфраструктура Kubernetes и вы разворачиваете приложения через
helm install/helm upgrade.
Уже используете Helm Chart и переходите на Helmfile? Посмотрите отдельную инструкцию.
Установите Helm 3:
sudo curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
sudo chmod +x get_helm.sh
sudo ./get_helm.sh
Скачайте и установите Helmfile нужной версии.
Актуальная версия есть на странице релизов.
Пример команд для версии v1.7.1:
mkdir helmfile
wget https://github.com/helmfile/helmfile/releases/download/v1.7.1/helmfile_1.7.1_linux_amd64.tar.gz
tar -xvf helmfile_1.7.1_linux_amd64.tar.gz
cp helmfile /usr/bin
Скачайте и распакуйте в рабочую папку актуальный архив конфигурации Helmfile. Это не сама утилита Helmfile из шага выше, а набор файлов настройки платформы для неё.
Переименуйте файл base.yaml.example в base.yaml и внесите в него изменения.
Файл base.yaml.example находится в папке со скачанным архивом. Заполните значения в соответствии с комментариями в файле — проверьте параметры окружения, домена, подключения к базе данных, почты и файлового хранилища приложения.
Обязательно укажите обе версии образов со страницы версий для установки и обновления:
FRONTEND_IMAGE_TAG: "<версия_frontend>"
BACKEND_IMAGE_TAG: "<версия_backend>"
Замените <версия_frontend> и <версия_backend> конкретными тегами перед запуском helmfile sync.
Версии приложения могут обновляться без нового архива Helmfile. Теги, указанные в
base.yaml.example, могут быть устаревшими — замените оба тега на версии с указанной страницы.
По умолчанию пользовательские файлы приложения хранятся в Kubernetes PVC. Если для пользовательских файлов выбран другой вариант хранения, настройте его перед запуском
helmfile sync.
Создайте namespace, в котором будет развёрнуто приложение. По умолчанию в файле base.yaml указан namespace dreamteam:
kubectl create ns %namespace_name%
Создайте секрет с учётной записью для доступа к репозиторию образов вендора https://registry.fact.digital. Имя секрета должно быть docker-registry в нужном namespace:
kubectl create secret docker-registry docker-registry --docker-server='https://registry.fact.digital' --docker-username='имя_пользователя_registry' --docker-password='пароль_пользователя_registry' -n %namespace_name%
Выполните вход в репозиторий:
helm registry login registry.fact.digital
Создайте секрет с сертификатом для домена. Нужны два файла: в --cert – цепочка сертификатов (сертификат хоста и промежуточный сертификат), в --key – приватный ключ без пароля. Имя секрета – в формате ваш-FQDN-tls:
kubectl create secret tls domain.example.com-tls --cert=path/to/cert/file --key=path/to/key/file -n %namespace_name%
Необязательно. Чтобы настроить интеграцию с GigaChat:
8. Зарегистрируйтесь в сервисе https://developers.sber.ru/portal/products/gigachat-api.
9. Получите ClientID и ClientSecret.
10. В файле base.yaml в секции extraENVvars раскомментируйте следующие строки и укажите свои значения:
- name: GIGA_CHAT_CLIENT_ID
value: ""
- name: GIGA_CHAT_CLIENT_SECRET
value: ""
Выполните развёртывание. Параметр environment описывает используемый блок в helmfile.yaml. По умолчанию указан dreamteam:
helmfile --environment dreamteam --file helmfile.yaml sync # до версии релиза 0.0.6
helmfile --environment dreamteam --file helmfile.yaml.gotmpl sync # начиная с версии релиза 0.0.6
kubectl -n %namespace_name% get pods
kubectl -n %namespace_name% get pvc
kubectl -n %namespace_name% get ingress
Все pod приложения должны перейти в состояние Running.
Если используете S3-хранилище файлов приложения, понадобятся дополнительные настройки.
Читайте раздел, если используете единый корпоративный вход (SSO) с несколькими IDP.
Разным подсетям могут соответствовать разные правила обработки запроса авторизации – нужна передача реального IP-адреса клиента через заголовок X-REAL-IP. Также это нужно, чтобы сохранять реальный IP-адрес сотрудника в отчётах.
Пример настройки для ingress-контроллера Traefik: traefik-config.yaml. Сохраните файл на сервере приложения и выполните:
kubectl apply -f traefik-config.yaml
В файле указаны подсети для примера – замените на свои. Если используется внешний балансировщик, настройте передачу заголовка X-REAL-IP на нём.
После развёртывания, когда все podРаботающий экземпляр приложения внутри Kubernetes перешли в статус Running, откройте платформу и авторизуйтесь данными первого пользователя – они указаны в файле base.yaml или values.yaml, в зависимости от способа установки. Приложение покажет предупреждение об отсутствии лицензии.

Чтобы активировать лицензию:
.pfx, защищённый паролем), нажмите Получить доступ.Приложение проверяет сертификат через ресурс вендора https://admin.ismyteam.ru в момент активации. В сертификате также зашита информация о модулях платформы, доступных по лицензии.
Полный список переменных, которые можно задать в файле base.yaml или values.yaml.
| Переменная | Краткое описание | Подробное описание |
|---|---|---|
AI_ASSESSMENT_ON |
ИИ-оценка в подборе | Включает возможность использовать автоматическую оценку кандидатов с помощью GigaChat. |
API_RATE_LIMIT |
Лимит API-запросов в минуту | Максимальное число запросов к backend в минуту на пользователя. При превышении возвращается 403. |
API_SERVICE_MAX_URL |
URL микросервиса MAX | Базовый URL для формирования ссылки подключения MAX-бота. |
API_SERVICE_MESSENGERS_DISCONNECT_URL |
URL отвязки мессенджера | Полный URL отвязки Telegram/MAX в микросервисе. |
API_SERVICE_TELEGRAM_URL |
URL микросервиса Telegram | Базовый URL для формирования ссылки подключения Telegram-бота: ?token=&domain=. |
APP_AWS_ACCESS_KEY_ID |
AWS Access Key (приложение) | Ключ доступа S3/MinIO для хранения файлов приложения (диски app-s3, s3). |
APP_AWS_BUCKET |
Имя S3-бакета (приложение) | Бакет для хранения загруженных файлов, аватаров, вложений. |
APP_AWS_DEFAULT_REGION |
AWS-регион (приложение) | Регион S3-хранилища для файлов приложения. |
APP_AWS_ENDPOINT |
Endpoint S3 (приложение) | Адрес S3-совместимого хранилища (MinIO, Yandex Object Storage). |
APP_AWS_SECRET_ACCESS_KEY |
AWS Secret Key (приложение) | Секретный ключ S3/MinIO для файлов приложения. |
APP_AWS_URL |
Публичный URL S3 (приложение) | Базовый URL для доступа к файлам в бакете. |
APP_AWS_USE_PATH_STYLE_ENDPOINT |
Path-style URL для S3 | true – для MinIO и совместимых хранилищ, использующих path-style адресацию. |
APP_BACKEND_VERSION |
Версия backend | Отображается в API и используется для контроля обновлений. |
APP_COMPANY_NAME |
Название компании при инициализации | Используется при первичном развёртывании (команда app:init-data) для создания организации. |
APP_CUSTOMIZATION_AVAILABLE |
Доступность кастомизации приложения | Включает функционал кастомизации. |
APP_FIRSTUSER_LOGIN |
Логин первого пользователя | Email администратора, создаваемого при инициализации приложения (app:init-data). |
APP_FIRSTUSER_PASSWORD_HASH |
Хеш пароля первого пользователя | Bcrypt-хеш пароля для первого администратора. Задаётся при развёртывании. |
APP_FRONTEND_VERSION |
Версия frontend | Передаётся клиенту для проверки актуальности интерфейса и уведомлений об обновлении. |
APP_KEY |
Ключ шифрования приложения | Случайная строка base64 для шифрования сессий, cookies и данных Laravel. Генерируется через php artisan key:generate. |
APP_NAME |
Отображаемое имя приложения | Используется в письмах, уведомлениях и интерфейсе. Подставляется в MAIL_FROM_NAME по умолчанию. |
APP_PROXY_DOMAIN |
Домен прокси для внешних API | Используется для подгрузки праздников по производственному календарю через прокси. |
APP_TIMEZONE |
Часовой пояс приложения | Определяет отображение дат и время выполнения задач по расписанию. Пример: Europe/Moscow. |
APP_URL |
Базовый URL backend | Корневой адрес приложения без порта. Используется для генерации ссылок, cookies и central_domains в мультитенантности. |
APP_URL_PROXI |
Прокси-URL для внешних ссылок в письмах | Подставляется в ссылки писем оффера и пребординга кандидатам, когда прямой доступ к APP_URL недоступен. |
APP_WORKERS_COUNT |
Число worker-процессов Octane | Количество Swoole worker для обработки HTTP-запросов. |
APP_WORKERS_MAX_REQUESTS |
Перезапуск worker после N запросов | После указанного числа запросов worker перезапускается для предотвращения утечек памяти. |
AUTH_RATE_LIMIT |
Лимит запросов авторизации | Ограничение частоты попыток входа для защиты от перебора паролей. |
AVITO_CLIENT_ID |
Avito Client ID | Идентификатор приложения Avito для интеграции с площадкой вакансий. |
AVITO_CLIENT_SECRET |
Avito Client Secret | Секрет приложения Avito. |
BACKUP_ARCHIVE_PASSWORD |
Пароль архива бэкапа | Пароль для шифрования zip-архивов резервных копий. |
BACKUP_DELETE_OLDEST_BACKUPS_WHEN_USING_MORE_MEGABYTES_THAN |
Лимит объёма бэкапов | При превышении объёма (МБ) удаляются самые старые архивы. |
BACKUP_DISC |
Диск для хранения бэкапов | Имя диска из filesystems (backup, s3) для сохранения архивов. |
BACKUP_KEEP_ALL_BACKUPS_FOR_DAYS |
Хранение всех бэкапов | Сколько дней хранить каждый бэкап до перехода на стратегию daily/weekly. |
BACKUP_KEEP_DAILY_BACKUPS_FOR_DAYS |
Хранение ежедневных бэкапов | Сколько дней хранить один ежедневный бэкап. |
BACKUP_KEEP_MONTHLY_BACKUPS_FOR_MONTHS |
Хранение ежемесячных бэкапов | Сколько месяцев хранить один ежемесячный бэкап. |
BACKUP_KEEP_WEEKLY_BACKUPS_FOR_WEEKS |
Хранение еженедельных бэкапов | Сколько недель хранить один еженедельный бэкап. |
BACKUP_KEEP_YEARLY_BACKUPS_FOR_YEARS |
Хранение ежегодных бэкапов | Сколько лет хранить один ежегодный бэкап. |
BACKUP_MAXIMUM_AGE_IN_DAYS |
Максимальный возраст бэкапа | Мониторинг: если последний бэкап старше N дней – срабатывает событие UnHealthyBackupWasFound. |
BACKUP_RUN_ENABLED |
Включение резервного копирования | true – планировщик создаёт бэкапы БД и файлов по расписанию. |
BIRTHDAY_WORK_ANNIVERSARY_ENABLE |
Уведомления о днях рождения и юбилеях | Включает автоматические уведомления о днях рождения и годовщинах работы сотрудников. |
CACHE_DRIVER |
Драйвер кэша | Хранилище кэша: redis, file, memcached и др. Рекомендуется redis для production. |
CHUNG_QUEUE_SIZE_IMPORT |
Размер очереди импорта сотрудников | Число записей в пакете очереди при импорте сотрудников. |
CHUNG_READ_SIZE_IMPORT |
Размер чанка импорта сотрудников | Число строк, читаемых за одну итерацию при импорте сотрудников из файла. |
CHUNK_READ_SIZE_IMPORT_CANDIDATES |
Размер чанка импорта кандидатов | Число строк за итерацию при импорте кандидатов. |
DB_CONNECTION |
Драйвер БД | Тип подключения: pgsql, mysql и др. По умолчанию pgsql. |
DB_DATABASE |
Имя базы данных | Название основной (central) базы данных приложения. |
DB_HOST |
Хост базы данных | Адрес сервера PostgreSQL/MySQL. |
DB_PASSWORD |
Пароль БД | Пароль пользователя базы данных. |
DB_PORT |
Порт базы данных | Порт СУБД. Для PostgreSQL – 5432. |
DB_USERNAME |
Пользователь БД | Имя пользователя для подключения к базе данных. |
ENV_CSP_BASE_URI |
Базовые адреса страницы | Директива base-uri: адреса, которые страница может назначить базовыми для относительных ссылок. |
ENV_CSP_CONNECT_SRC |
Адреса фоновых запросов | Директива connect-src: адреса, к которым платформа обращается фоновыми запросами и по веб-сокету. |
ENV_CSP_DEFAULT_SRC |
Общее правило загрузки | Директива default-src: действует для типов содержимого, у которых нет своей директивы. |
ENV_CSP_FONT_SRC |
Источники шрифтов | Директива font-src: адреса, с которых разрешено загружать шрифты. |
ENV_CSP_FORM_ACTION |
Адреса отправки форм | Директива form-action: адреса, куда разрешено отправлять данные форм. |
ENV_CSP_FRAME_ANCESTORS |
Встраивание платформы | Директива frame-ancestors: сайты, которым разрешено встраивать платформу в свой фрейм. |
ENV_CSP_FRAME_SRC |
Источники фреймов | Директива frame-src: адреса, которые можно встроить во фрейм – видеохостинги, документы, конструкторы страниц. |
ENV_CSP_IMG_SRC |
Источники изображений | Директива img-src: адреса, с которых разрешено загружать изображения. |
ENV_CSP_MEDIA_SRC |
Источники аудио и видео | Директива media-src: адреса, с которых платформа проигрывает аудио и видео. |
ENV_CSP_OBJECT_SRC |
Встроенные объекты | Директива object-src: источники встроенных объектов устаревших форматов. По умолчанию 'none' – запрещены все. |
ENV_CSP_SCRIPT_SRC |
Источники скриптов | Директива script-src: адреса, с которых разрешено загружать и выполнять скрипты. |
ENV_CSP_SCRIPT_SRC_ELEM |
Источники скриптов на странице | Директива script-src-elem: адреса скриптов, подключённых отдельным тегом на странице. |
ENV_CSP_STYLE_SRC |
Источники стилей | Директива style-src: адреса, с которых разрешено загружать стили оформления. |
FILESYSTEM_DISK |
Диск файловой системы | Драйвер хранения файлов: local или s3. |
FILESYSTEM_STORAGE_TIME_DELETED_FILES |
Срок хранения удалённых файлов | Число дней, в течение которых физически удалённые файлы хранятся перед окончательным удалением. |
GIGA_CHAT_CLIENT_ID |
Client ID GigaChat | Идентификатор OAuth-приложения Sber GigaChat API. |
GIGA_CHAT_CLIENT_MODEL |
Модель GigaChat | Название модели для генерации: GigaChat-Pro и др. |
GIGA_CHAT_CLIENT_SCOPE |
Scope GigaChat API | Область доступа OAuth. По умолчанию GIGACHAT_API_CORP. |
GIGA_CHAT_CLIENT_SECRET |
Client Secret GigaChat | Секрет OAuth-приложения GigaChat. При наличии client_id и secret модуль ИИ включается. |
GOOGLE_CLIENT_ID |
Google OAuth Client ID | Идентификатор приложения Google для интеграции календаря и авторизации. |
GOOGLE_CLIENT_SECRET |
Google OAuth Client Secret | Секрет приложения Google OAuth. |
GOOGLE_REDIRECT_URI |
Google OAuth Redirect URI | URL обратного вызова после авторизации Google (config/services.php). |
HABR_CAREER_API_URL |
Habr Career API URL | Базовый URL API Habr Career. |
HABR_CAREER_CLIENT_ID |
Habr Career Client ID | Идентификатор OAuth-приложения Habr Career. |
HABR_CAREER_CLIENT_SECRET |
Habr Career Client Secret | Секрет OAuth-приложения Habr Career. |
HABR_CAREER_REDIRECT_URI |
Habr Career Redirect URI | URL обратного вызова OAuth для Habr Career. |
HABR_CAREER_WEB_URL |
Habr Career Web URL | Базовый URL веб-интерфейса Habr Career (test-career.habr.com для песочницы). |
HH_CLIENT_ID |
HeadHunter Client ID | Идентификатор OAuth-приложения hh.ru для публикации вакансий и импорта откликов. |
HH_CLIENT_SECRET |
HeadHunter Client Secret | Секрет OAuth-приложения hh.ru. |
HH_REDIRECT_URI |
HeadHunter Redirect URI | URL обратного вызова OAuth для интеграции с hh.ru. |
HTTP_CLIENT_NO_PROXY |
Исключения из прокси | Список хостов/масок, для которых прокси не применяется (через запятую). |
HTTP_CLIENT_PROXY |
HTTP-прокси для исходящих запросов | Адрес прокси-сервера для внешних HTTP-запросов (интеграция с HeadHunter и др.). |
LOG_LEVEL |
Уровень логирования | Минимальный уровень записи: debug, info, warning, error. |
MAIL_ENCRYPTION |
Шифрование SMTP | Протокол шифрования: tls, ssl или null. |
MAIL_FROM_ADDRESS |
Адрес отправителя | Email, с которого отправляются системные письма. |
MAIL_FROM_NAME |
Имя отправителя | Отображаемое имя в поле «От» исходящих писем. |
MAIL_HOST |
SMTP-хост | Адрес SMTP-сервера для отправки писем. |
MAIL_MAILER |
Драйвер почты | Способ отправки: smtp, sendmail, log и др. |
MAIL_PASSWORD |
SMTP-пароль | Пароль SMTP. Для Yandex – пароль приложения из профиля. |
MAIL_PORT |
SMTP-порт | Порт SMTP-сервера (465 для SSL, 587 для TLS). |
MAIL_RATE_LIMIT |
Лимит отправки писем | Максимальное число писем в единицу времени для защиты SMTP. |
MAIL_VERIFY_PEER |
Проверка сертификата сервера | true – проверка включена (значение по умолчанию), false – проверка выключена. |
MAIL_USERNAME |
SMTP-логин | Имя пользователя для аутентификации на SMTP-сервере. |
MENU_CUSTOMIZATION_ENABLED |
Кастомное меню с backend | true – меню формируется и настраивается с сервера, false – меню работает по старой схеме. |
MENU_MOBILE_CUSTOMIZATION_ENABLED |
Кастомные пункты меню в мобильном приложении | Разрешает настройку пользовательских пунктов меню для мобильного клиента. |
MICROSERVICE_KEDO_API_TOKEN |
API-токен КЭДО | Токен авторизации запросов к микросервису КЭДО. |
MICROSERVICE_KEDO_HOST |
Хост микросервиса КЭДО | URL сервиса электронного документооборота (КЭДО). При наличии включается интеграция. |
MICROSERVICE_LIBREOFFICE_HOST |
Хост сервиса LibreOffice | URL микросервиса конвертации документов (PDF, штампы). |
MICROSERVICE_LIBREOFFICE_SECRET |
Секрет LibreOffice-сервиса | Ключ авторизации запросов к микросервису конвертации документов. |
MICROSERVICE_RESIZE_HOST |
Хост сервиса ресайза изображений | URL микросервиса изменения размера изображений. При наличии включается обработка. |
OUTLOOK_ENABLE |
Интеграция Outlook | Включает синхронизацию с календарём Microsoft Outlook/Office 365. |
OUTLOOK_URL_API |
URL API Outlook | Базовый URL Microsoft Graph/Outlook API. |
OUTLOOK_URL_LOGIN |
URL авторизации Outlook | Базовый URL Microsoft login (login.microsoftonline.com). |
PUSHER_APP_CLUSTER |
Pusher Cluster | Кластер Pusher. Для Soketi обычно mt1 или local. |
PUSHER_APP_ID |
Pusher App ID | Идентификатор приложения Pusher/Soketi для WebSocket. |
PUSHER_APP_KEY |
Pusher App Key | Публичный ключ для подключения клиента к WebSocket. |
PUSHER_APP_SECRET |
Pusher App Secret | Секретный ключ сервера Pusher/Soketi. |
QUEUE_CONNECTION |
Драйвер очередей | Способ обработки фоновых задач: database, redis, sync. |
REDIS_CLIENT |
Клиент Redis | Библиотека подключения: phpredis или predis. |
REDIS_CLUSTER |
Режим кластера Redis | Установить redis для кластерной конфигурации с несколькими нодами. Пустое значение – одиночный инстанс. |
REDIS_DB |
Номер БД Redis (default) | Индекс базы Redis для общих данных. По умолчанию 0. |
REDIS_HOST |
Хост Redis | Адрес сервера Redis. |
REDIS_PASSWORD |
Пароль Redis | Пароль аутентификации Redis. null – без пароля. |
REDIS_PORT |
Порт Redis | Порт сервера Redis. По умолчанию 6379. |
REDIS_PREFIX |
Префикс ключей Redis | Префикс для всех ключей Redis. По умолчанию формируется из APP_NAME. |
REDIS_SESSION_DB |
Номер БД Redis (сессии) | Индекс базы Redis для хранения пользовательских сессий. По умолчанию 2. |
REDIS_URL |
URL подключения Redis | Полная строка подключения (альтернатива host/port/password). |
REPORT_CHUNK_SIZE |
Размер чанка экспорта отчётов | Число записей за итерацию при формировании больших отчётов. |
RESIZE_MEMORY_LIMIT |
Лимит памяти ресайза | Ограничение памяти (МБ) для операций изменения размера изображений. |
SERVICE_REDIRECT_URL |
URL сервиса редиректов | Базовый URL api-gateway для формирования ссылок редиректа (мобильное приложение, OAuth). |
SHOW_NEW_DESIGN |
Флаг нового дизайна | Включает отображение обновлённого дизайна интерфейса на frontend. |
SJ_CLIENT_ID |
SuperJob Client ID | Идентификатор приложения SuperJob для интеграции с площадкой. |
SJ_CLIENT_SECRET |
SuperJob Client Secret | Секрет приложения SuperJob. |
WAZZUP_CHECK_TOKEN |
Проверка токена Wazzup webhook | Включает дополнительную проверку токена входящих webhook-запросов от Wazzup. |
WAZZUP_KEY |
Ключ Wazzup webhook | Ключ для проверки входящих webhook-запросов Wazzup. |
WAZZUP_REFERRER_LINK |
Реферальная ссылка Wazzup | URL для перехода к подключению интеграции Wazzup. |
WAZZUP_SECRET |
Секрет Wazzup | Секретный ключ для верификации webhook от Wazzup. |
WIKI_API_TOKEN |
Токен Wiki API | Токен авторизации запросов к wiki. |
WIKI_API_URL |
URL Wiki API | Адрес внутренней wiki для интеграции справочной документации. |
После развёртывания можно настроить отправку почтовых уведомлений. Для этого заполните блок SMTPПротокол и настройки, через которые платформа отправляет письма-параметров в файле base.yaml:
| Переменная | Что задаёт |
|---|---|
MAIL_ENCRYPTION |
Шифрование SMTP-сервера – tls или none |
MAIL_FROM_ADDRESS |
Адрес почтового ящика в поле «От кого» исходящих писем |
MAIL_FROM_NAME |
Имя отправителя в поле «От кого» исходящих писем |
MAIL_HOST |
Адрес SMTP-сервера |
MAIL_PORT |
Порт SMTP-сервера |
MAIL_USERNAME |
Имя пользователя для авторизации по SMTP |
MAIL_PASSWORD |
Пароль SMTP-пользователя для исходящих писем |
Укажите значения, которые действуют в инфраструктуре клиента.
Платформа передаёт браузеру Content-Security-PolicyПеречень адресов, с которых браузеру разрешено загружать содержимое страницы – перечень адресов, с которых разрешено загружать скрипты, стили, шрифты, изображения и видео. Содержимое с адреса, которого нет в перечне, браузер блокирует: виджет поддержки не открывается, ролик не проигрывается, вместо фирменного шрифта подставляется системный.
Настройте перечень, если встраиваете в платформу внешние сервисы – свой видеохостинг, чат поддержки или аналитику. Каждому типу содержимого соответствует своя директиваПравило политики безопасности, которое отвечает за один тип содержимого – скрипты, шрифты или изображения и своя переменная окружения ENV_CSP_*. Пересобирать образ не нужно.
Переменные
ENV_CSP_*доступны начиная с версии Helm Chart 1.0.39 и версии frontend v1.61.4.
Чтобы разрешить свой адрес:
Откройте файл base.yaml при установке через Helmfile или values.yaml при установке через Helm Chart.
В блоке frontend добавьте в секцию environment переменную нужной директивы:
frontend:
applicationVersion: "<тег_frontend_из_страницы_версий>"
environment:
ENV_CSP_IMG_SRC: "'self' https://media.example.com"
deployment:
replicas: 1
Примените изменения так же, как при развёртывании – командой helmfile --environment dreamteam --file helmfile.yaml.gotmpl sync или helm upgrade.
Как записывать значения:
'self', 'none', 'unsafe-inline'.https://media.example.com. Адрес в одинарных кавычках браузер не примет.*.example.com.Переменная заменяет значение по умолчанию целиком, а не дополняет его – скопируйте значение из таблицы ниже и допишите свой адрес в конец.
| Переменная | Директива | Что разрешает |
|---|---|---|
ENV_CSP_DEFAULT_SRC |
default-src |
Общее правило для типов содержимого, у которых нет своей директивы |
ENV_CSP_SCRIPT_SRC |
script-src |
Источники скриптов |
ENV_CSP_SCRIPT_SRC_ELEM |
script-src-elem |
Источники скриптов, подключённых отдельным тегом на странице |
ENV_CSP_STYLE_SRC |
style-src |
Источники стилей оформления |
ENV_CSP_FONT_SRC |
font-src |
Источники шрифтов |
ENV_CSP_MEDIA_SRC |
media-src |
Источники аудио и видео, которые платформа проигрывает сама |
ENV_CSP_IMG_SRC |
img-src |
Источники изображений |
ENV_CSP_FRAME_SRC |
frame-src |
Адреса, которые можно встроить во фрейм: видеохостинги, документы, конструкторы страниц |
ENV_CSP_CONNECT_SRC |
connect-src |
Адреса, к которым платформа обращается фоновыми запросами и по веб-сокету |
ENV_CSP_FORM_ACTION |
form-action |
Адреса, куда разрешено отправлять данные форм |
ENV_CSP_FRAME_ANCESTORS |
frame-ancestors |
Сайты, которым разрешено встраивать платформу в свой фрейм |
ENV_CSP_BASE_URI |
base-uri |
Адреса, которые страница может назначить базовыми для относительных ссылок |
ENV_CSP_OBJECT_SRC |
object-src |
Источники встроенных объектов устаревших форматов, по умолчанию запрещены все |
ENV_CSP_DEFAULT_SRC: "'self'"
ENV_CSP_SCRIPT_SRC: "'self' 'unsafe-inline' 'unsafe-eval' https://lib.usedesk.ru yastatic.net *.yandex.ru *.adfox.ru yandex.ru yandex.com verify.yandex.ru"
ENV_CSP_SCRIPT_SRC_ELEM: "'self' 'unsafe-inline' 'unsafe-eval' https://lib.usedesk.ru https://mc.yandex.com yastatic.net *.yandex.ru *.adfox.ru yandex.ru yandex.com"
ENV_CSP_STYLE_SRC: "'self' 'unsafe-inline' https://*.usedesk.ru/ yastatic.net *.adfox.ru"
ENV_CSP_FONT_SRC: "'self' data: https://secure.usedesk.ru yastatic.net *.usedesk.ru"
ENV_CSP_MEDIA_SRC: "'self' https://secure.usedesk.ru yastatic.net *.yandex.net *.yandex.ru *.adfox.ru yandex.ru yandex.com blob: data:"
ENV_CSP_IMG_SRC: "* data: blob: https://secure.usedesk.ru *.yandex.net *.adfox.ru *.yandex.ru yandex.ru yandex.com"
ENV_CSP_FRAME_SRC: "'self' https://rutube.ru https://www.youtube.com https://youtube.com https://vkvideo.ru https://drive.google.com https://docs.google.com https://player.vimeo.com https://player.rutube.ru https://tilda.ws https://*.tilda.ws https://*.tilda.cc https://*.tilda.website https://video.google.com https://accounts.google.com https://app.wazzup24.com/ https://i.pinimg.com https://i.ytimg.com/ https://mc.yandex.md yandexadexchange.net *.yandexadexchange.net yastatic.net *.yandex.ru *.adfox.ru *.doodocs.kz blob:"
ENV_CSP_CONNECT_SRC: "'self' https://*.usedesk.ru/ wss://*.usedesk.ru/ https://mc.yandex.com wss://mc.yandex.ru yastatic.net *.yandex.net *.adfox.ru *.yandex.ru *.yandex.com yandex.ru yandex.com data: blob:"
ENV_CSP_FORM_ACTION: "'self'"
ENV_CSP_FRAME_ANCESTORS: "'self'"
ENV_CSP_BASE_URI: "'self'"
ENV_CSP_OBJECT_SRC: "'none'"
После развёртывания настройте резервное копирование.