Files
orchestrator/docs/work-items/ORCH-073/07-infra-requirements.md

33 lines
2.6 KiB
Markdown
Raw 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.
# 07 — Инфра-требования: ORCH-073
## Топология
**Без изменений.** Один сервер (mva154), prod `orchestrator` (8500), staging
`orchestrator-staging` (8501), общая SQLite, общая очередь. Новых контейнеров/портов/сервисов нет.
## Git / worktree
- Новый корневой файл **`.gitattributes`** (`CHANGELOG.md merge=union`). Драйвер `union`
встроенный в git, **доп. конфигурация хоста НЕ требуется**.
- Проверка применения в worktree агентов: `git check-attr merge CHANGELOG.md``merge: union`.
Атрибут действует при 3-way merge/rebase, когда `.gitattributes` присутствует в дереве
(`auto_rebase_onto_main` выполняет `git rebase origin/main` в per-branch worktree).
- Самозагрузка: первая задача с `.gitattributes` своего ребейза не ускоряет (атрибут попадёт в
`main` после её merge); эффект — для последующих задач. Допустимо.
- Регресс-гард (`check_main_regression`) использует уже существующий per-branch worktree
(`ensure_worktree` + `git fetch origin main` + `git grep origin/main`). Новых клонов/worktree нет.
## Сеть / внешние интеграции
- Те же Gitea-эндпоинты: `GET /pulls`, `POST /pulls/{index}/merge`. Новых внешних вызовов нет.
- Telegram/Plane — существующие хелперы alert (`send_telegram`, `set_issue_blocked`,
`plane_add_comment`). Новых интеграций нет.
## Деплой self (self-hosting safety)
- Прод-контейнер `orchestrator` (8500) **НЕ рестартить/не ронять** в рамках задачи.
- Обязательный staging-гейт (8501) перед прод-деплоем; прод-деплой — только переводом на
`Confirm Deploy` (ORCH-059). Ручной гейт не меняется.
- Merge — только Gitea PR-API, без force-push в `main`.
## Конфигурация (хост `.env` / `.env.example`)
- Новый ключ `regression_guard_enabled` (дефолт `true`) — задокументировать в `.env.example`.
- Существующие `merge_verify_enabled`/`merge_verify_repos`/`merge_pr_timeout_s`/
`merge_verify_timeout_s` — переиспользуются, без изменений значений.