# deploy/bundled/.env — конфиг bundle-ИНФРЫ (ORCH-103, ADR-001 D2).
# Канонический example: 100% ключей интерполяции deploy/bundled/docker-compose.yml
# (key-set-sync держит tests/test_bundle_compose.py) + ключи init-кред, которые
# заполняет bootstrap. Создание: cp .env.example .env (или это сделает
# scripts/bootstrap_bundle.py apply); права 600.
#
# ⚠️ СЕМАНТИКА ФАЙЛА-НОСИТЕЛЯ (TR-8): этот файл читает ТОЛЬКО compose-интерполяция
# bundle (авто-чтение .env из project dir deploy/bundled/). Runtime-конфиг самого
# оркестратора и watchdog — КОРНЕВЫЕ .env / .env.watchdog (каноны Lite 1:1:
# .env.example / .env.watchdog.example, карта — docs/operations/REPLICATION.md §2).
# Единственный писатель всех live-файлов — scripts/bootstrap_bundle.py: дублируемые
# ключи (uid/gid, HOME, пути Claude CLI) когерентны механически, не дисциплиной.
#
# DO NOT COMMIT реальный deploy/bundled/.env (покрыт неякорным `.env` в .gitignore).
# Секреты: НИ ОДНОГО дефолтного пароля — пустые значения ниже генерирует bootstrap
# (stdlib secrets) и никогда не печатает (NFR-3); повторный запуск НЕ перетирает
# существующие значения без явного --force-secrets.

# --- Публичная точка инсталляции -------------------------------------------
# Хост, по которому браузер оператора открывает Plane/Gitea и по которому
# строятся публичные ссылки (ORCH_GITEA_PUBLIC_URL / ORCH_PLANE_WEB_URL / WEB_URL
# Plane / ROOT_URL Gitea). HTTPS/домены/reverse-proxy заказчика — вне bundle.
BUNDLE_PUBLIC_HOST=localhost

# --- Карта публикуемых портов (D4: только человеческие точки) ---------------
# Конфликт порта на хосте → отказ preflight bootstrap ДО любых мутаций (BR-7).
BUNDLE_ORCH_PORT=8500
BUNDLE_PLANE_PORT=8080
BUNDLE_GITEA_HTTP_PORT=3000

# --- Идентичность контейнера орка (реюз имён ORCH-101: один факт = одно имя) --
# uid:gid владельца deploy/bundled/repos (инвариант ORCH-040); docker-gid хоста
# («МИНА 1», узнать: getent group docker). Заполняет bootstrap из id -u/-g/getent.
ORCH_RUN_UID=1000
ORCH_RUN_GID=1000
ORCH_DOCKER_GID=999
# HOME всех акторов в контейнере (группа ORCH-040 двигается одной переменной).
ORCH_AGENT_HOME_DIR=/home/orchestrator

# --- LLM-предусловие хоста заказчика (bundle НЕ поставляет Claude CLI) -------
# Пути дистрибутива claude-code/node и кред CLI на хосте (канон — LITE_SETUP §7).
ORCH_HOST_CLAUDE_CODE_DIR=/usr/lib/node_modules/@anthropic-ai/claude-code
ORCH_HOST_NODE_BIN=/usr/bin/node
ORCH_HOST_CLAUDE_DIR=~/.claude
ORCH_HOST_CLAUDE_JSON=~/.claude.json

# --- Внутренние креды Plane CE-стека (upstream-имена; значения — bootstrap) --
POSTGRES_USER=plane
POSTGRES_PASSWORD=
POSTGRES_DB=plane
SECRET_KEY=
RABBITMQ_DEFAULT_USER=plane
RABBITMQ_DEFAULT_PASS=
RABBITMQ_DEFAULT_VHOST=plane
MINIO_ROOT_USER=plane-minio-admin
MINIO_ROOT_PASSWORD=

# --- Init-креды Gitea (D6: один пользователь-бот = админ, владелец репо,
#     носитель API-токена; создаёт bootstrap через `gitea admin user create`) --
GITEA_ADMIN_USERNAME=orchestrator-bot
GITEA_ADMIN_PASSWORD=
