iac/apps/processing/workflows-engine.env.example

186 lines
7.7 KiB
Plaintext
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.

# ============================================================================
# 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)
# ============================================================================