186 lines
7.7 KiB
Plaintext
186 lines
7.7 KiB
Plaintext
# ============================================================================
|
||
# workflows-engine (kubernetes-engine) — пример переменных окружения
|
||
# Конфигурация читается через cleanenv (github.com/ilyakaznacheev/cleanenv)
|
||
# из переменных окружения. Префикса нет. Значения по умолчанию — из кода.
|
||
# Сервис — фоновый оркестратор без REST API (только pprof на :8081).
|
||
# ============================================================================
|
||
|
||
# ----- App / Logging -----
|
||
APP_NAME=kubernetes-engine
|
||
APP_VERSION=v1
|
||
# Уровень логирования: debug | info | warn | error
|
||
LOG_LEVEL=info
|
||
|
||
# ----- Database (PostgreSQL) -----
|
||
POSTGRES_ADDRESS=localhost
|
||
POSTGRES_PORT=5432
|
||
POSTGRES_DB=processing_db
|
||
POSTGRES_USER=user
|
||
POSTGRES_PASSWORD=password
|
||
POSTGRES_POOL_SIZE=20
|
||
# Включить TLS-подключение к БД
|
||
POSTGRES_SSL_USE=false
|
||
# CA-сертификат (PEM) для TLS-подключения к БД (значение сертификата)
|
||
YC-PG-CERTIFICATE=
|
||
# Логирование SQL-запросов
|
||
ENABLE_SQL_QUERY=true
|
||
|
||
# ----- Executors / Workers -----
|
||
# Включить AMQP-исполнитель (RabbitMQ). Требует секцию RabbitMQ ниже.
|
||
ENABLE_AMQP_EXECUTOR=0
|
||
# Включить Kubernetes-исполнитель (запуск задач как Job'ов). По умолчанию true.
|
||
ENABLE_KUBERNETES_EXECUTOR=1
|
||
COUNT_RUNNING_WORKERS=1
|
||
COUNT_CANCELING_WORKERS=1
|
||
COUNT_HANDLE_JOB_WORKERS=1
|
||
|
||
# ----- Kubernetes -----
|
||
# Namespace, в котором создаются Job'ы задач
|
||
JOBS_NAMESPACE=processing-testing
|
||
# Путь к kubeconfig. Если ПУСТО — используется in-cluster конфигурация.
|
||
KUBE_CONFIG=
|
||
# Контекст kubeconfig (для out-of-cluster)
|
||
KUBE_CONTEXT=
|
||
# Адрес API-сервера кластера (для out-of-cluster, с InsecureSkipTLSVerify)
|
||
KUBE_ADDR=
|
||
|
||
# ----- RabbitMQ (только при ENABLE_AMQP_EXECUTOR=1) -----
|
||
RABBITMQ_HOST=localhost
|
||
RABBITMQ_PORT=5672
|
||
RABBITMQ_USER=sarex
|
||
RABBITMQ_PASS=sarex
|
||
RABBITMQ_VHOST=/
|
||
RABBITMQ_USE_SSL=false
|
||
RABBITMQ_CERTIFICATE=
|
||
RABBITMQ_CREATE_EXCHANGE=autodesk.inputMessage
|
||
RABBITMQ_CANCEL_EXCHANGE=autodesk.cancelMessage
|
||
RABBITMQ_CREATE_ROUTING_KEY=converting
|
||
RABBITMQ_CANCEL_TOPIC=cancel
|
||
RABBITMQ_COMPLETENESS_EXCHANGE=autodesk.outputMessage
|
||
RABBITMQ_COMPLETENESS_TOPIC=output
|
||
|
||
# ----- Pooling / Workflows -----
|
||
# Лимит одновременно обрабатываемых workflow при выборке
|
||
MAX_WORKFLOWS_LIMIT=100
|
||
# Максимум одновременно выполняющихся Job'ов
|
||
MAX_RUNNING_JOBS=200
|
||
# Глубина выборки задач в часах (нужно для FIFO; 168 ч = 7 дней)
|
||
DEFAULT_GET_SINCE_LAST_HOURS=168
|
||
# Приоритет обрабатываемых workflow: default | high | low (задаёт «роль» инстанса)
|
||
WORKFLOW_PRIORITY=default
|
||
|
||
# ----- Планирование подов (NodeSelector / Tolerations / requests) -----
|
||
# CPU/Memory для high-resources / persistent
|
||
CPU_COUNT=5
|
||
MEMORY_GI=20
|
||
# CPU/Memory для low-resources
|
||
CPU_COUNT_LOW_RESOURCES=2
|
||
MEMORY_GI_LOW_RESOURCES=10
|
||
# CPU/Memory для super-high-resources
|
||
CPU_COUNT_HIGH_MEM=10
|
||
MEMORY_GI_HIGH_MEM=40
|
||
# Включить набор сервисов ресурсов (toleration/nodeselector)
|
||
ENABLE_TOLERATION=1
|
||
# Toleration/NodeSelector для high/low ресурсов
|
||
TOLERATION_KEY=dedicated
|
||
TOLERATION_VALUE=processing
|
||
# Toleration для super-high-resources
|
||
TOLERATION_KEY_HIGH_MEM=dedicated
|
||
TOLERATION_VALUE_HIGH_MEM=high-mem
|
||
# Toleration для persistent
|
||
TOLERATION_KEY_PERSISTENT=
|
||
TOLERATION_VALUE_PERSISTENT=
|
||
# Значения по умолчанию для всех подов
|
||
DEFAULT_TOLERATION_KEY=
|
||
DEFAULT_TOLERATION_VALUE=
|
||
DEFAULT_NODE_SELECTOR_KEY=
|
||
DEFAULT_NODE_SELECTOR_VALUE=
|
||
DEFAULT_IMAGE_PULL_POLICY=always
|
||
DEFAULT_CPU_REQUESTS=100m
|
||
DEFAULT_MEMORY_REQUESTS=64Mi
|
||
|
||
# ----- Хранилища и внешние сервисы (флаги ENABLE_*) -----
|
||
# Путь к service account JSON для S3 (в проде задаётся Helm'ом,
|
||
# напр. /etc/sarex/yc-s3/yc-s3-service-account.json)
|
||
S3_SERVICE_ACCOUNT=
|
||
ENABLE_S3_STORAGE=1
|
||
ENABLE_S3V2_STORAGE=1
|
||
ENABLE_PDM_STORAGE=1
|
||
ENABLE_URL_STORAGE=1
|
||
ENABLE_LOCAL=0
|
||
ENABLE_BIM_API_DB=1
|
||
ENABLE_BIM_API_CH=1
|
||
ENABLE_BIM_API_V2_DB=1
|
||
ENABLE_PDM_API_DB=1
|
||
ENABLE_COMPARISONS_API_DB=1
|
||
ENABLE_ISSUE_API_DB=0
|
||
ENABLE_RESOURCES_API=0
|
||
ENABLE_MAIL_GUN=1
|
||
ENABLE_SMTP=0
|
||
ENABLE_WORKSPACE_API_DB=0
|
||
ENABLE_CROSS_SECTION_API_DB=0
|
||
# Debug-флаги (также пробрасываются в под задачи)
|
||
BIM_API_DEBUG=0
|
||
COMPARISONS_API_DEBUG=0
|
||
|
||
# ----- URL'ы внешних сервисов (internal/external) -----
|
||
INTERNAL_PDM_URL=http://api-service.documentations-stage
|
||
EXTERNAL_PDM_URL=https://stage-api.sarex.io/documentations
|
||
INTERNAL_FILESTREAM_URL=http://filestream-service.documentations-stage
|
||
EXTERNAL_FILESTREAM_URL=https://stage-api.sarex.io/files
|
||
INTERNAL_REMARK_URL=http://remarks-service.remarks-stage
|
||
EXTERNAL_REMARK_URL=https://stage-api.sarex.io/remarks
|
||
INTERNAL_WORKSPACE_URL=http://workspaces-service.workspaces-stage
|
||
EXTERNAL_WORKSPACE_URL=https://stage-api.sarex.io/workspaces
|
||
DJANGO_HOST=https://stage.sarex.io
|
||
|
||
# ----- Security -----
|
||
# Запускать контейнеры задач под фиксированным UID
|
||
ENABLE_RUNASUSER=false
|
||
USER_RUNASUSER=1000
|
||
|
||
# ============================================================================
|
||
# Переменные ниже читаются НЕ конфигом engine, а напрямую через os.Getenv
|
||
# (pkg/kube_services/services.go) и пробрасываются в env запускаемых Job-подов
|
||
# при включённом соответствующем ENABLE_*-флаге. Значения — пути к JSON-конфигам
|
||
# внутри контейнера (в проде монтируются Helm'ом как секреты-volume).
|
||
# ============================================================================
|
||
BIM_API_DB=/etc/sarex/bim-api-db-stage.json
|
||
BIM_API_CH=/etc/sarex/bim-api-ch.json
|
||
BIM_API_CH_DEBUG=0
|
||
BIM_API_V2_DB=/etc/sarex/bim-api-v2-db-stage.json
|
||
BIM_API_V2_DEBUG=0
|
||
BIM_API_V2_DB_2=/etc/sarex/second-bim-bd/db.json
|
||
BIM_API_V2_DB_3=/etc/sarex/third-bim-bd/db.json
|
||
BIM_API_V2_DB_4=/etc/sarex/fourth-bim-bd/db.json
|
||
COMPARISONS_API_DB=/etc/comparisons/comparisons-db-stage.json
|
||
ISSUE_API_DB=/etc/issues/issues-db.json
|
||
ISSUE_API_DEBUG=0
|
||
RESOURCES_API_INTERNAL_HOST=
|
||
SMTP=/etc/smtp-secret/env.json
|
||
PDM_API_DB=/etc/pdm/pdm-api-db-stage.json
|
||
PDM_API_DEBUG=0
|
||
WORKSPACE_API_DB=/etc/ws/ws-api-db.json
|
||
WORKSPACE_API_DEBUG=0
|
||
CROSS_SECTION_API_DB=/etc/cross_section/db.json
|
||
CROSS_SECTION_API_DEBUG=0
|
||
# Прокидываются в под всегда (сервис Default)
|
||
WORKFLOWS_SENTRY_DSN=
|
||
WORKFLOWS_SENTRY_DEBUG=0
|
||
ENVIRONMENT=stage
|
||
# Mailgun-конфиг (при ENABLE_MAIL_GUN)
|
||
MAILGUN=/etc/mailgun-secret/env.json
|
||
|
||
# ============================================================================
|
||
# Переменные ниже присутствуют в config.env / Helm, но кодом engine НЕ читаются
|
||
# (легаси / задел). Оставлены для справки, включать не обязательно:
|
||
# API_ADDRESS — REST API отсутствует, реальный HTTP только pprof на :8081
|
||
# CONTROL_PLANE_PERIOD
|
||
# ENABLE_GOOGLE_STORAGE, GOOGLE_STORAGE_BUCKET, GOOGLE_STORAGE_PROJECT
|
||
# ENABLE_SRX_TMP
|
||
# MAX_TASKS_IN_PERIOD
|
||
# ENABLE_PDM_DB
|
||
# POD_NAME
|
||
# RABBITMQ_CREATE_TOPIC — в конфиге нет такого поля (см. RABBITMQ_CREATE_ROUTING_KEY)
|
||
# ============================================================================
|