# iams-v2 — пример переменных окружения.
# Конфиг читается из окружения (github.com/sethvargo/go-envconfig).
# Перед разбором подхватывается env-файл через godotenv: путь из ENV_FILE, иначе ".env".
# Значения ниже — дефолты из кода и примеры для локального запуска.

# App
ENVIRONMENT=local
LOG_LEVEL=info
SERVICE_NAME=iams
SERVICE_VERSION=0.0.0

# HTTP (prefix HTTP_)
HTTP_PORT=8080
# ReadBufferSize (Fiber/fasthttp), байты
HTTP_READ_BUFFER_SIZE=131072

# Database (prefix DB_)
DB_DSN=postgres://postgres:secret@localhost:5432/postgres?sslmode=disable
DB_MIGRATIONS_PATH=migrations

# Auth — внешний контур /external/api/* (prefix AUTH_)
# false ⇒ группа /external/api не регистрируется, JWT не разбирается
AUTH_ENABLED=false

# Sonyflake — machine id для генерации resource.id (prefix SONYFLAKE_)
SONYFLAKE_MACHINE_ID=1

# Zitadel Management API (prefix ZITADEL_)
# при ENABLED=true обязательны HOST, ACCESS_TOKEN, ORG_RULES_FILE
ZITADEL_ENABLED=false
ZITADEL_HOST=
ZITADEL_ACCESS_TOKEN=
ZITADEL_ORG_RULES_FILE=config/zitadel/org-rules-stage.json

# S3 (presigned GET для вложений виджета) (prefix S3_)
# при ENABLED=true обязательны ENDPOINT_URL, BUCKET_NAME, ACCESS_KEY_ID, SECRET_ACCESS_KEY
S3_ENABLED=false
S3_ENDPOINT_URL=https://storage.yandexcloud.net
S3_BUCKET_NAME=
S3_REGION=ru-central1
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_PRESIGN_EXPIRES=1h

# Kafka (prefix KAFKA_)
KAFKA_ENABLED=false
KAFKA_BROKERS=localhost:9092
KAFKA_SECURITY_PROTOCOL=PLAINTEXT
KAFKA_SASL_MECHANISM=
KAFKA_SASL_PLAIN_USERNAME=
KAFKA_SASL_PLAIN_PASSWORD=
KAFKA_SSL_CAFILE=
# Политика имён топиков (prefix KAFKA_TOPIC_)
# По умолчанию topic = event_type. PREFIX добавляется ко всем именам.
KAFKA_TOPIC_PREFIX=
# Путь к JSON-файлу {event_type: topic} с переопределениями
KAFKA_TOPIC_OVERRIDES_FILE=
# Legacy-топик (BrokerMessage пользователя)
KAFKA_TOPIC_LEGACY_AMS_SYNC=ams-sync

# OpenTelemetry (prefix OTEL_)
OTEL_ENABLED=false
OTEL_HOST=localhost
OTEL_PORT=4317
OTEL_INSECURE=true
OTEL_SERVICE_NAME=iams

# Переменная выбора env-файла (читается до разбора конфига)
# ENV_FILE=.env

# --- Вспомогательное (не читается конфигом приложения) ---
# DSN для интеграционных тестов (общий контейнер Postgres): см. Makefile/README
# TEST_DB_DSN=postgres://postgres:secret@localhost:5432/postgres?sslmode=disable
# Включение Kafka в docker compose для сервиса http
# COMPOSE_KAFKA_ENABLED=false
