# =============================================================================
# documentations-api-v2 (documentation-api-v2) — пример переменных окружения
# Разбор: github.com/kelseyhightower/envconfig, config/config.go + pkg/postgres/gopg/postgres.go
# Префикса у переменных нет; вложенность не используется. Дефолт указан там, где он задан в коде.
# =============================================================================

# --- App ---------------------------------------------------------------------
APP_NAME=documentations-backend          # default: documentations-backend
APP_VERSION=v1                           # default: v1; используется как Sentry Release
ENVIRONMENT=stage                        # stage/preprod/production; идёт в Sentry Environment
NAMESPACE=documentations                 # k8s namespace, используется в бизнес-логике дисков

# --- HTTP-сервер -------------------------------------------------------------
API_ADDRESS=localhost:8000               # адрес прослушивания Fiber (и api_server, и filestream_server)
# API_FILESTREAM_ADDRESS=localhost:8050  # присутствует в шаблоне, но КОДОМ НЕ ЧИТАЕТСЯ (см. Замечания)

# --- PostgreSQL (pkg/postgres/gopg) ------------------------------------------
POSTGRES_ADDRESS=localhost
POSTGRES_PORT=5432
POSTGRES_DB=postgres
POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_POOL_SIZE=1                      # в helm: POSTGRES_POOL_SIZE (в шаблоне встречается опечатка POSTGRES_POLL_SIZE — не читается)
ENABLE_SSL=0                             # 1 → TLS к БД по сертификату из YC-PG-CERTIFICATE
ENABLE_SQL_QUERY=1                       # логирование SQL-запросов
YC-PG-CERTIFICATE=""                     # PEM CA-сертификат PostgreSQL (имя с дефисами, читается через envconfig-тег)
# POSTGRES_EXTERNAL_PORT=6432            # только для docker-compose, приложением не читается

# --- Django / IAM (pkg/django) -----------------------------------------------
DJANGO_HOST=https://stage.sarex.io
DJANGO_BASIC_AUTH=                       # base64(login:password) для Basic-auth в Django и flows
DJANGO_ORIGINATOR=docs_stage            # идентификатор источника для system-log/Django

# --- Внешние сервисы (base URL клиентов) -------------------------------------
DOCUMENTATION_URL=http://api-v2-service.documentations/   # self-URL, подставляется в workflow-задачи
WORKFLOW_URL=http://workflows-api-service.platform:8000/
WORKSPACE_URL=http://workspaces-backend-service.platform:8000/
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://system-log-api-service.platform:80
FLOWS_URL=
FILE_URL_EXTERNAL=                       # внешний URL для отдачи файлов

# --- S3 / MinIO (pkg/s3/minio) -----------------------------------------------
ENABLE_S3=0                              # 1 → инициализировать S3-клиент
S3_SERVICE_ACCOUNT=/etc/sarex/yc-s3-storage/yc-s3-service-account.json  # путь к JSON сервис-аккаунта
S3_SERVICE_ACCOUNT_STR=                  # альтернатива: JSON сервис-аккаунта строкой

# --- Публичные ссылки на документы -------------------------------------------
PUBLIC_LINK_HOST=                        # хост генерируемых публичных ссылок
DOCUMENT_PUBLIC_LINK_JWT_SECRET=""       # HMAC-секрет JWT публичной ссылки
DOCUMENT_PUBLIC_LINK_JWT_EXPIRATION_MINUTES=5  # TTL публичной ссылки (uint8)

# --- Аутентификация ----------------------------------------------------------
PUBLIC_KEY=""                            # PKIX RSA public key (PEM) для проверки JWT sarex-backend

# --- BIM-логика --------------------------------------------------------------
USE_BIMV1_FOR_BIMV2=0                    # использовать BIM v1 API вместо v2
LAST_MASTER_BIM=0                        # граничные id для маршрутизации BIM-запросов
LAST_SLAVE_1_BIM=0

# --- Кеш / файловый стример --------------------------------------------------
READ_WRITE_TIMEOUT_FILE_STREAM=6h        # Go duration
CACHE_DEFAULT_EXPIRATION=60s             # Go duration
CACHE_CLEANUP_INTERVAL=60s               # Go duration
USE_CACHE_IN_FILE_STREAMER=1             # bool

# --- Workflow-задачи ---------------------------------------------------------
WORKFLOWS_IMAGES_VERSION=develop         # тег образов задач (develop/master)
WORKFLOWS_CONFIG_FILEPATH=.example.tasks_execution_config.json  # default; в k8s — /etc/app/tasks_execution_config.json
CONTAINER_REGISTRY=cr.yandex/crp3ccidau046kdj8g9q  # default; реестр образов задач
IS_CONVERTED_PDF_UPLOADING_TO_S3=true    # default: true

# --- Наблюдаемость: Sentry + OpenTelemetry -----------------------------------
SENTRY_DSN=""
SENTRY_DEBUG=false
ENABLE_OBSERVABILITY=0                    # bool; включает slog-хендлер и трассировку в БД
OBSERVABILITY_COLLECTOR_ENDPOINT=0        # endpoint OTLP-коллектора логов
TRACER_USE=false                          # default: false; включить OTEL-трейсинг Fiber
TRACER_HOST=localhost:4317                # default: localhost:4317
TRACER_USE_INSECURE=true                  # default: true
SERVICE_NAME=documentations-api-v2        # default: documentations-api-v2
TRACER_LOGGER_NAME=tracer_logger          # default: tracer_logger
