iac/apps/documentations/api.env.example

132 lines
6.4 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.

# =============================================================================
# documentations-api / documentations-filestream — пример переменных окружения
# =============================================================================
# Все переменные читаются напрямую из окружения процесса библиотекой
# kelseyhightower/envconfig (config/config.go). Префикса и вложенности НЕТ
# имена плоские. Значения ниже — ориентир для локального запуска (аналог
# .docker/.env). Оба бинарника (api и filestreamer) используют один и тот же
# набор переменных.
# --- Адреса прослушивания ----------------------------------------------------
API_ADDRESS=0.0.0.0:6666 # порт основного API (cmd/api)
API_ADDRESS_FILE=0.0.0.0:7777 # порт файлового стримера (cmd/filestreamer)
# --- PostgreSQL --------------------------------------------------------------
POSTGRES_ADDRESS=127.0.0.1
POSTGRES_PORT=5432
POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_DB=documentations
POSTGRES_POOL_SIZE=10 # учитывается только в api; filestreamer жёстко использует 50
ENABLE_SSL=0 # 1 — TLS к БД, тогда нужен YC-PG-CERTIFICATE
# YC-PG-CERTIFICATE= # PEM CA-сертификат PostgreSQL (в проде — из секрета)
# --- S3 (объектное хранилище) ------------------------------------------------
ENABLE_S3=0 # в api при 0 сервис стартует без S3; в filestreamer S3 обязателен
S3_SERVICE_ACCOUNT=/etc/sarex/yc_s3_doc_account.json # путь к JSON сервис-аккаунта
# S3_SERVICE_ACCOUNT_STR= # альтернатива: сам JSON строкой
# --- Sarex backend (Django) --------------------------------------------------
DJANGO_HOST=https://stage.sarex.io
DJANGO_BASIC_AUTH= # basic-auth для системных вызовов Django
DJANGO_BASIC_AUTH_FOR_GET_USER= # отдельный basic-auth для получения пользователей
DJANGO_ORIGINATOR=docs_local
# --- Zitadel (опциональная аутентификация) -----------------------------------
USE_ZITADEL=0
ZITADEL_DOMAIN=idp.dev.stage.sarex.io
ZITADEL_ACCOUNT=/etc/sarex/zitadel/zitadel-account.json
# --- Внешние сервисы (базовые URL) -------------------------------------------
FILE_URL_EXTERNAL=https://stage-api.sarex.io/files
DOCUMENTATION_URL=http://localhost:8000/
WORKFLOW_URL=https://stage-api.sarex.io/workflows/api
WORKSPACE_URL=https://stage-api.sarex.io/worspace/api
WORKSPACE_V2_EXTERNAL_URL=https://stage.sarex.io/workspaces-v2/
WORKSPACE_BUNDLE_VERSION=v1
MARKS_PROCESSING_URL=http://marks-service.documentations:8000
BIM_API_URL=http://bim-api-service.bim-api-stage/
BIM_API_V2_URL=http://bim-core-api.platform.svc.cluster.local:8000/
BIM_API_URL_EXTERNAL=https://stage-api.sarex.io/bim
SYSTEM_LOG_URL=http://localhost:8888
FLOWS_URL=http://backend-service.proc.svc.cluster.local:8000
AUTOMATION_URL=http://automation-api-service.automation-stage.svc.cluster.local:8000
# TRANSMITTALS_BASE_URL=http://transmittal-service.documentations:8000 # опционально
# --- Публичные ссылки на документы -------------------------------------------
PUBLIC_LINK_HOST=https://document-link.stage.sarex.io
PUBLIC_KEY= # PEM RSA public key (PKIX) для проверки JWT
DOCUMENT_PUBLIC_LINK_JWT_SECRET= # секрет HMAC для JWT публичных ссылок/временных загрузок
DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES=5
PUBLIC_LINK_FOLDER_CONNECTOR_ENABLED=1
# --- Подпись ссылок скачивания (signature-in-URL) ----------------------------
ENABLE_SIGNATURE_IN_URL=false # при true обязателен рабочий Valkey и SIGNATURE_SECRET_KEY
SIGNATURE_SECRET_KEY=
SIGNATURE_IN_URL_EXPIRATION_SECONDS=600
ENABLE_AUTH_JWT_IN_URL=true
# --- Valkey / Redis (кэши, кэш подписей) -------------------------------------
VALKEY_ADDR=localhost:6380 # host:port; пустая строка полностью отключает клиент
VALKEY_LOGIN=
VALKEY_PASSWORD=
VALKEY_HOST=
VALKEY_DB=0
VALKEY_CACHE_TTL=1h
VALKEY_SSL=false
VALKEY_SSL_CA_CERTS=
# --- Файловый стример / кэш --------------------------------------------------
READ_WRITE_TIMEOUT_FILE_STREAM=6h
USE_CACHE_IN_FILE_STREAMER=true
CACHE_DEFAULT_EXPIRATION=30s
CACHE_CLEANUP_INTERVAL=35s
# --- BIM / обработка ---------------------------------------------------------
USE_BIMV1_FOR_BIMV2=1
USE_BIM_INSERTER=1
USE_LEGACY_BIM_FLOW=0
LAST_MASTER_BIM=1541
LAST_SLAVE_1_BIM=5000
LAST_SLAVE_2_BIM=15000
CONVERT_DWG_TO_GEOJSON=true
CONVERT_DXF_TO_GEOJSON=true
IS_CONVERTED_PDF_UPLOADING_TO_S3=true
DELETE_S3D_AFTER_MESHOPT=false
WORKFLOW_IMAGES_VERSION=develop
WORKFLOWS_IMAGES_VERSION=develop
CONTAINER_REGISTRY=cr.yandex/crp3ccidau046kdj8g9q
WORKFLOWS_CONFIG_FILEPATH=.example.tasks_execution_config.json
# --- Штампы/маркировки: HTTP или RabbitMQ ------------------------------------
USE_MARKS_RABBITMQ=0 # 0 — ходить в MARKS_PROCESSING_URL по HTTP; 1 — через RabbitMQ
MARKS_RABBITMQ_HOST=
MARKS_RABBITMQ_PORT=
MARKS_RABBITMQ_USER=
MARKS_RABBITMQ_PASSWORD=
MARKS_RABBITMQ_API=
# --- Rate limit для /documents/metadata --------------------------------------
METADATA_RATE_LIMIT_ENABLED=true
METADATA_RATE_LIMIT_MAX_REQUESTS=10
# --- Почта (флаги; сама отправка идёт через внешние сервисы) ------------------
ENABLE_MAILGUN=true
ENABLE_SMTP=false
# --- Наблюдаемость -----------------------------------------------------------
ENVIRONMENT=stage
SENTRY_DSN=
SENTRY_DEBUG=0
NAMESPACE=local
ENABLE_SQL_QUERY=1 # логировать SQL-запросы (для локальной отладки)
TRACER_USE=false
TRACER_HOST=localhost:4317
TRACER_USE_INSECURE=true
TRACER_LOGGER_NAME=tracer_logger
SERVICE_NAME=documentations-api
SERVICE_NAME_FILESTREAM=filestream-api
# --- Только для интеграционных тестов (кодом приложения не читается) ----------
# KEY_JWT=example_jwt