unip-controller/deploy/config.md
2025-04-15 20:56:15 +03:00

122 lines
No EOL
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Параметры конфигурации контроллеров и сервисов управления данными и отслеживания экспериментов
## Конфигурация сервиса управления данными
### Конфигурация подключения объектного хранилища
| Имя параметра | Обязательный | Назначение |
|----------------------------------------|--------------|-----------------------------------------------------------------------------|
| UNIP_BOXES_S3_DEFAULT_USER_DATA_BUCKET | Да | Имя бакета, используемого для хранения данных DataBox типа s3DefaultStorage |
| UNIP_BOXES_S3_SECRET_NAME | Да | Secret с реквизитами доступа к объектному хранилищу |
| UNIP_BOXES_S3_DEFAULT_HOST | Да | Адрес объектного хранилища, используемого по умолчанию |
| UNIP_BOXES_S3_DEFAULT_REGION | Да | Регион в объектном хранилище, используемый по умолчанию |
## Конфигурация сервиса отслеживания экспериментов
### Общие параметры конфигурации
| Имя параметра | Обязательный | Назначение |
|--------------------------------|--------------|---------------------------------------------------------------------|
| UNIP_DOMAIN | Да | Имя основного домена |
| UNIP_FILES_API | Да | Внутренний адрес API сервиса управления данными |
| UNIP_PIPELINES_API | Да | Внешний адрес API сервиса отслеживания экспериментов |
| UNIP_PIPELINE_VALIDATION_IMAGE | Да | Имя валидационного образа конвейера эксперимента |
| UNIP_PIPELINE_RUN_MODE | Нет | Если Debug, то этап валидации результатов не добавляется в конвейер |
| UNIP_DATETIME_FORMAT | Нет | Формат для хранения временных данных |
### Конфигурация подключения к системной СУБД
| Имя параметра | Обязательный | Назначение |
|----------------------------------|--------------|---------------------------------------------------|
| UNIP_DATABASE_PIPELINES_USER | Да | Имя пользователя СУБД |
| UNIP_DATABASE_PIPELINES_PASSWORD | Да | Пароль пользователя СУБД |
| UNIP_DATABASE_PIPELINES_HOST | Да | Адрес хоста СУБД |
| UNIP_DATABASE_PIPELINES_PORT | Да | Порт сервиса СУБД |
| UNIP_DATABASE_PIPELINES_DB | Нет | Имя базы данных сервиса отслежвания экспериментов |
## Конфигурация контроллеров
### Общие параметры конфигурации
| Имя параметра | Обязательный | Назначение |
|--------------------------------|--------------|---------------------------------------------------------------------|
| UNIP_DOMAIN | Да | Имя основного домена |
| UNIP_FILES_API | Да | Внутренний адрес API сервиса управления данными |
| UNIP_PIPELINES_API | Да | Внешний адрес API сервиса отслеживания экспериментов |
### Конфигурация подключения объектного хранилища
| Имя параметра | Обязательный | Назначение |
|----------------------------------------|--------------|-----------------------------------------------------------------------------|
| UNIP_BOXES_S3_DEFAULT_USER_DATA_BUCKET | Да | Имя бакета, используемого для хранения данных DataBox типа s3DefaultStorage |
| UNIP_BOXES_CSI_S3_SECRET_NAME | Да | Secret с реквизитами доступа к объетному хранилищу |
| UNIP_BOXES_CSI_S3_STORAGE_CLASS | Да | Внешний адрес API сервиса отслеживания экспериментов |
### Конфигурация подключения сервиса развертывания
| Имя параметра | Обязательный | Назначение |
|------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------|
| ARGO_CD_ENABLED | Да (кроме отладки) | Если True, то сервис развертывания подключен, иначе не подключен. Отключение сервиса развертывания возможно только для отладки |
| ARGO_CD_USER | Да (кроме отладки) | Имя пользователя администратора сервиса развертывания |
| ARGO_CD_PASSWORD | Да (кроме отладки) | Пароль пользователя администратора сервиса развертывания |
| ARGO_CD_API | Да (кроме отладки) | Адрес API сервиса развертывания вида https://<host>/api/v1 |
### Конфигурация подключения внешнего поставщика реквизитов (OIDC провайдера)
| Имя параметра | Обязательный | Назначение |
|-----------------------------------------------------------|--------------|----------------------------------------------------------------------------------------------|
| OIDC_END_USERS_ISSUER_URL | Да | URL эмитента для реалма конечных пользователей |
| OIDC_END_USERS_REALM | Да | Реалм конечных пользователей |
| OIDC_END_USERS_CLIENT_ID | Да | Идентификатор публичного клиента в реалме конечных пользователей |
| OIDC_END_USERS_CLIENT_SECRET | Да | Значение-заглушка секрета публичного клиента в реалме конечных пользователей |
| OIDC_END_USERS_ADMIN_CLIENT_ID | Да | Идентификатор административного клиента в реалме конечных пользователей |
| OIDC_END_USERS_ADMIN_CLIENT_SECRET | Да | Секрет административного клиента в реалме конечных пользователей |
| OIDC_END_USERS_AUD | Да | aud реалма конечных пользователей |
| OIDC_END_USERS_COOKIE_SECRET | Да | Значение-заглушка секрета cookie для реалма конечных пользователей |
| OIDC_ROBOTS_ISSUER_URL | Да | URL эмитента для реалма робот аккаунтов |
| OIDC_ROBOTS_REALM | Да | Реалм робот аккаунтов |
| OIDC_ROBOTS_CLIENT_ID | Да | Идентификатор публичного клиента в реалме робот аккаунтов |
| OIDC_ROBOTS_CLIENT_SECRET | Да | Значение-заглушка секрета публичного клиента в реалме робот аккаунтов |
| OIDC_ROBOTS_ADMIN_CLIENT_ID | Да | Идентификатор административного клиента в реалме робот аккаунтов |
| OIDC_ROBOTS_ADMIN_CLIENT_SECRET | Да | Секрет административного клиента в реалме робот аккаунтов |
| OIDC_ROBOTS_AUD | Да | aud реалма робот аккаунтов |
| OIDC_KEYCLOAK_HOST | Да | Адрес хоста Keycloak |
| OIDC_MANAGED_GROUPS_ROOT | Нет | Имя корневой группы для групп, управляемых контроллером |
| OIDC_CLUSTER_GROUP_NAME | Нет | Имя группы кластера, которая включает в себя группы, управляемые контроллером |
| OIDC_MODIFY | Нет | Если True, то создает и удаляет необходимые ресурсы Keycloak, иначе только проверяет наличие |
| UNIP_REPOSITORY_KEYCLOAK_ROBOTS_CREDS_NAMESPACE | Нет | Пространство имен для хранения реквизитов робот аккаунтов |
| UNIP_REPOSITORY_KEYCLOAK_ROBOTS_TOKENS_RENEWAL_PERIOD_MIN | Нет | Время обновления токенов робот аккаунтов |
### Конфигурация контроллера модулей данных
| Имя параметра | Обязательный | Назначение |
|-----------------------------------------------|--------------|------------------------------------------------------------------------------------|
| FILES_API_BASE_URL | Да | Внешений адрес API сервиса управления данными |
| INGRESS_RULE_HOST | Да | Хост правила Ingress |
| INGRESS_BACKEND_SERVICE_NAME | Да | Service для правила Ingress |
| INGRESS_BACKEND_SERVICE_PORT | Да | Порт Service для правила Ingress |
| UNIP_DATASET_CMP_CHECK_CONTROLLER_PERMISSIONS | Нет | Включает или выключает (True \ False) проверку прав контроллера, по умолчанию True |
| UNIP_DATASET_CMP_VALIDATE | Нет | Включает или выключает (True \ False) валидацию датасета, по умолчанию True |
### Конфигурация контроллера публикации API
#### Конфигурация CORS (опционально)
| Имя параметра | Обязательный | Назначение |
|---------------------------------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| UNIP_API_CMP_CORS_ENABLED | Нет | Добавляет настройку CORS в Ingress, создаваемые для APIComponent |
| UNIP_API_CMP_APPS_CORS_ENABLED | Нет | Добавляет поддержку настройки CORS в спецификции APIComponent; если не задано, то наследует значение UNIP_API_CMP_CORS_ENABLED |
| UNIP_API_CMP_CORS_ALLOW_METHODS | Нет | разрешенные CORS HTTP методы, перечисленные через запятую; если не задано, то все HTTP методы |
| UNIP_API_CMP_CORS_ALLOW_HEADERS | Нет | разрешенные CORS HTTP заголовки, перечисленные через запятую; если не задано - `DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization` |
| UNIP_API_CMP_CORS_ALLOW_ORIGIN | Нет | разрешенные CORS Origin, переичлснные через запятую; если не задано - `*` |
| UNIP_API_CMP_CORS_MAX_AGE | Нет | время кэширования preflight запросов; если не задано - `1728000` |
При определении конечного значения конкретного параметра для конкретного APIComponent применяется следующая логика:
1. Если `UNIP_API_CMP_CORS_ENABLED: True`, то значения определяются на основе конфигурации контроллера.
2. Если `UNIP_API_CMP_APPS_CORS_ENABLED: True`, то значения, определенные на предыдущем шаге, дополняются значениями
для конкретного APIComponent.
1. Если значение параметра задано в спецификации APIComponent, то используется оно.
2. Если значение параметра не задано в спецификации APIComponent, то используется значение
из конфигурации контроллера.