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