unip-controller/deploy/config.md

122 lines
17 KiB
Markdown
Raw Normal View History

2025-01-29 13:13:51 +00:00
# Параметры конфигурации контроллеров и сервисов управления данными и отслеживания экспериментов
## Конфигурация сервиса управления данными
### Конфигурация подключения объектного хранилища
| Имя параметра | Обязательный | Назначение |
|----------------------------------------|--------------|-----------------------------------------------------------------------------|
| 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, то используется значение
из конфигурации контроллера.