36 lines
1.3 KiB
Markdown
36 lines
1.3 KiB
Markdown
# 2026-04-26 — NamespaceManager rewrite, step 7
|
|
|
|
## Цель шага
|
|
|
|
Добавить минимальную модель данных для будущего `NamespaceManager`, не меняя пока production wiring.
|
|
|
|
## Почему это отдельный шаг
|
|
|
|
После шагов 1-6 уже стало ясно, что следующая стадия — не ещё один patch по месту, а переход к явной модели lifecycle.
|
|
|
|
Но сразу подключать новый manager к watcher-ам и компонентам рано. Сначала нужна опорная модель:
|
|
|
|
- `NamespacePhase`
|
|
- `NamespaceSource`
|
|
- `NamespaceEventType`
|
|
- `NamespaceRecord`
|
|
- `NamespacePartState`
|
|
|
|
## Что меняем
|
|
|
|
1. Добавляем новый файл с типами model layer.
|
|
2. Добавляем helper-методы:
|
|
- `Clone()`
|
|
- `IsActive()`
|
|
- `IsTerminal()`
|
|
3. Добавляем unit tests на:
|
|
- корректный deep copy;
|
|
- active semantics;
|
|
- terminal semantics.
|
|
|
|
## Что НЕ меняем
|
|
|
|
- не подключаем manager к production path;
|
|
- не меняем watcher-ы;
|
|
- не меняем resolver;
|
|
- не затрагиваем текущее изменение в `serviceaccount.go`. |