33 lines
2.6 KiB
Markdown
33 lines
2.6 KiB
Markdown
# 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` — переиспользуются, без изменений значений.
|