docs: recommend web-split before domain-admin and inbound-relay
test / test (push) Has been cancelled
test / test (push) Has been cancelled
Document the preferred implementation order in the roadmap and linked plans. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -3,6 +3,8 @@
|
|||||||
**Статус:** согласовано
|
**Статус:** согласовано
|
||||||
**Версия:** целевой bump **1.x** MINOR при совместимой миграции текущего админа
|
**Версия:** целевой bump **1.x** MINOR при совместимой миграции текущего админа
|
||||||
в глобального.
|
в глобального.
|
||||||
|
**Порядок:** рекомендуется после [web-split](web-split.md), до
|
||||||
|
[inbound-relay](inbound-relay.md).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
**Версия:** целевой bump **1.x** MINOR; **возможен 2.x** — требует уточнения по
|
**Версия:** целевой bump **1.x** MINOR; **возможен 2.x** — требует уточнения по
|
||||||
итогам реализации (не фиксировать major заранее).
|
итогам реализации (не фиксировать major заранее).
|
||||||
**Модель:** Opus (инфра/безопасность, риск open relay).
|
**Модель:** Opus (инфра/безопасность, риск open relay).
|
||||||
|
**Порядок:** рекомендуется после [web-split](web-split.md) и
|
||||||
|
[domain-admin](domain-admin.md).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+14
-1
@@ -22,11 +22,24 @@ static), ~25 `.go` / ~4000 строк Go, в одной плоскости ле
|
|||||||
разбиение потянуло бы за собой экспорт того, что сейчас пакетно-приватно, — то
|
разбиение потянуло бы за собой экспорт того, что сейчас пакетно-приватно, — то
|
||||||
есть расширение внутреннего API ради косметики.
|
есть расширение внутреннего API ради косметики.
|
||||||
|
|
||||||
Смысл появляется, когда пакет начнёт расти: **inbound-relay** и **domain-admin**
|
Смысл появляется, когда пакет начнёт расти: **domain-admin** и **inbound-relay**
|
||||||
добавляют в него код — роль приносит авторизацию в каждый хендлер, входящий
|
добавляют в него код — роль приносит авторизацию в каждый хендлер, входящий
|
||||||
релей — отдельные страницы и хендлеры входящих доменов. Рефакторинг дешевле
|
релей — отдельные страницы и хендлеры входящих доменов. Рефакторинг дешевле
|
||||||
делать перед этим ростом, чем после.
|
делать перед этим ростом, чем после.
|
||||||
|
|
||||||
|
## Рекомендуемый порядок
|
||||||
|
|
||||||
|
**web-split → domain-admin → inbound-relay** (см. [roadmap](../roadmap.md)).
|
||||||
|
|
||||||
|
1. **web-split** — заложить структуру пакета (в т.ч. место под `web/auth`), пока
|
||||||
|
нет сквозных правок от роли и новых inbound-хендлеров.
|
||||||
|
2. **domain-admin** — авторизация в каждом хендлере опирается на уже выбранную
|
||||||
|
схему пакета.
|
||||||
|
3. **inbound-relay** — новый вертикальный срез; проще добавить в уже разрезанный
|
||||||
|
пакет, чем рефакторить вместе с двумя предыдущими фичами.
|
||||||
|
|
||||||
|
Порядок рекомендация, не блокер.
|
||||||
|
|
||||||
## Готово, когда
|
## Готово, когда
|
||||||
|
|
||||||
Решение принято осознанно в момент старта работ — либо пакет разрезан по
|
Решение принято осознанно в момент старта работ — либо пакет разрезан по
|
||||||
|
|||||||
+16
-8
@@ -17,13 +17,17 @@
|
|||||||
|
|
||||||
| ID | Тема | Статус | План |
|
| ID | Тема | Статус | План |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| inbound-relay | Входящий релей (backup-MX / пересылка) | **согласовано** | [plans/inbound-relay.md](plans/inbound-relay.md) |
|
|
||||||
| domain-admin | Роль администратора домена | **согласовано** | [plans/domain-admin.md](plans/domain-admin.md) |
|
|
||||||
| web-split | Разбиение `internal/web` | **согласовано** | [plans/web-split.md](plans/web-split.md) |
|
| web-split | Разбиение `internal/web` | **согласовано** | [plans/web-split.md](plans/web-split.md) |
|
||||||
|
| domain-admin | Роль администратора домена | **согласовано** | [plans/domain-admin.md](plans/domain-admin.md) |
|
||||||
|
| inbound-relay | Входящий релей (backup-MX / пересылка) | **согласовано** | [plans/inbound-relay.md](plans/inbound-relay.md) |
|
||||||
| contributing | `CONTRIBUTING.md` | кандидат | — |
|
| contributing | `CONTRIBUTING.md` | кандидат | — |
|
||||||
|
|
||||||
Жёсткого порядка реализации нет. После `/clear` — пункт со статусом
|
**Рекомендуемый порядок** (не обязателен): **web-split → domain-admin →
|
||||||
`согласовано` или `в работе`, затем чеклист в linked plan.
|
inbound-relay** — сначала разрез пакета, затем сквозная авторизация роли, затем
|
||||||
|
новый вертикальный срез входящего релея. Отклонение допустимо; жёстких фаз нет.
|
||||||
|
|
||||||
|
После `/clear` — пункт со статусом `согласовано` или `в работе`, затем чеклист в
|
||||||
|
linked plan.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -41,6 +45,8 @@
|
|||||||
|
|
||||||
**Зависимости / риски:** готовый исходящий тракт; open relay/backscatter;
|
**Зависимости / риски:** готовый исходящий тракт; open relay/backscatter;
|
||||||
расширение поверхности атаки (порт 25 на приём). Модель: Opus.
|
расширение поверхности атаки (порт 25 на приём). Модель: Opus.
|
||||||
|
**Порядок:** рекомендуется после [web-split](plans/web-split.md) и
|
||||||
|
[domain-admin](plans/domain-admin.md).
|
||||||
**Версия:** целевой bump `1.x`; возможен `2.x` — уточнить по итогам реализации.
|
**Версия:** целевой bump `1.x`; возможен `2.x` — уточнить по итогам реализации.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -58,8 +64,9 @@
|
|||||||
**Готово, когда:** см. [plans/domain-admin.md](plans/domain-admin.md).
|
**Готово, когда:** см. [plans/domain-admin.md](plans/domain-admin.md).
|
||||||
|
|
||||||
**Зависимости / риски:** таблица пользователей, роль в сессии, авторизация в
|
**Зависимости / риски:** таблица пользователей, роль в сессии, авторизация в
|
||||||
каждом хендлере, setup/бэкап. **Версия:** `1.x` MINOR при совместимой миграции
|
каждом хендлере, setup/бэкап. **Порядок:** рекомендуется после
|
||||||
текущего админа в глобального.
|
[web-split](plans/web-split.md), до [inbound-relay](plans/inbound-relay.md).
|
||||||
|
**Версия:** `1.x` MINOR при совместимой миграции текущего админа в глобального.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -73,8 +80,9 @@
|
|||||||
**Готово, когда:** пакет разрезан по выбранной схеме или зафиксировано, что
|
**Готово, когда:** пакет разрезан по выбранной схеме или зафиксировано, что
|
||||||
остаётся плоским — см. [plans/web-split.md](plans/web-split.md).
|
остаётся плоским — см. [plans/web-split.md](plans/web-split.md).
|
||||||
|
|
||||||
**Зависимости / риски:** экспорт пакетно-приватного API. **Версия:** `1.x`, сам
|
**Зависимости / риски:** экспорт пакетно-приватного API. **Порядок:** рекомендуется
|
||||||
по себе breaking не тянет.
|
**первым** среди согласованных фич (до domain-admin и inbound-relay).
|
||||||
|
**Версия:** `1.x`, сам по себе breaking не тянет.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user