diff --git a/NOTES/10_plans/PLAN_IAC_MODIFY_RESOURCES_2026-09-24.md b/NOTES/10_plans/PLAN_IAC_MODIFY_RESOURCES_2026-09-24.md index eb3cb11..e9a4e34 100644 --- a/NOTES/10_plans/PLAN_IAC_MODIFY_RESOURCES_2026-09-24.md +++ b/NOTES/10_plans/PLAN_IAC_MODIFY_RESOURCES_2026-09-24.md @@ -124,3 +124,29 @@ nubes_vc_nsxt → nubes_vc_org_ip_allocation → nubes_vc_nsxt_snat → k8 **Фиксатор:** эпоха `kind: modifier` отменена — ветку не переиспользовать; новые ресурсы hand-written в `resources_core`, без реестра модификаторов. + +--- + +## 10. Раунд 3 — вопрос Опусу: «это не поломает ничего?» (составлен 2026-09-24) + +**Контекст (факт).** Правка шаблона `templates/instance.go` действует на все ресурсы. Замер по +`generated/dev/resources_yaml/*.yaml`: modify-only параметры есть только у **5 сервисов** — +`19_vc_org` (`vIPConfigure`), `22_vc_nsxt` (`ipSpaceName`), `12_s3` (`maxBucketsPerUser`, +`maxObjectsPerBucket`, `maxSizeGbPerUser`), `90_postgres` (`refreshCert`), `109_zones_v2` (`records`). +Цель правки — только первые два; у остальных трёх это рабочие атрибуты `Update`. + +**Вопросы:** + +1. **Критерий отбора.** Предлагается признак в спеке (`owned_by_modifier: true`). Это доменная метка в + универсальном YAML, что противоречит прежнему канону «YAML без доменных меток». Какой критерий корректен + в вашей архитектуре: spec-флаг, «required только в modify» (тогда ловится `vIPConfigure`, но **не** + `ipSpaceName` — он `required: false`), или явный список в генераторе? +2. **Безопасность (б)** (исключить modify-only из create-read-back): безопасно ли это для всех 5 сервисов, + или у s3/postgres/zones read-back нужен (иначе drift/потеря значения в state)? +3. **Поведение для существующих конфигов.** У тех, кто уже пишет `v_ip_configure`/`ip_space_name` в `.tf`, + после (в) модификация молча перестанет отправляться. Правильно ли молчание, или нужно явное падение + (ошибка «параметр управляется ресурсом `…ip_allocation`») — и как это сделать, если схема общая? +4. **Снятие Required у 5 сервисов** — не ломает ли `UseStateForUnknown`/JSON-planmodifier и не порождает + ли drift у тех, у кого поле было обязательным и уже заполнено? +5. **Порядок релиза.** Правильно ли разводить: релиз A — только (б) (чинит create орги, ничего больше + не трогает), релиз B — (а)+(в) вместе с новыми ресурсами-модификаторами?