Commit Graph

115 Commits

Author SHA1 Message Date
vasyansk c42d242a3b feat(diff): prune-guard Updates()/Prunes() + фиксация семантики dedup 2026-07-03 13:12:10 +07:00
vasyansk 1505997b19 refactor(model): slices.Sort/Equal вместо ручного цикла 2026-07-03 13:11:18 +07:00
vasyansk 9de5d4712c merge: Фаза 1A — доменное ядро + провайдер Selectel
- internal/model: нейтральная модель Record (нормализация MX/SRV/TXT, Key, Equal)
- internal/diff: диф-движок шаблон↔зона, ReadOnly для NS/SOA, Actionable
- internal/provider: интерфейс Provider + Credentials/Zone
- internal/provider/selectel: Selectel DNS API v2 (ListZones/GetRecords/ApplyChanges)
Финальный ревью: READY TO MERGE. 23/23 тестов.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 13:02:30 +07:00
vasyansk cb2f826dc2 test(diff): пустой шаблон — массовый Delete управляемых, NS остаётся ReadOnly 2026-07-03 12:57:36 +07:00
vasyansk 86338f846a fix(selectel): nil-guard в ApplyChanges + тесты пагинации rrset и nil-diff 2026-07-03 12:57:30 +07:00
vasyansk b50972f38d fix(model): TXT сравнивается байт-точно (без схлопывания пробелов) 2026-07-03 12:57:24 +07:00
vasyansk 9b38f081f4 test(selectel): покрытие id-not-found, токена на мутациях, пагинации и HTTP-ошибок 2026-07-03 12:48:59 +07:00
vasyansk c0f5748817 feat(selectel): реализация Provider — ListZones, GetRecords, ApplyChanges 2026-07-03 12:41:31 +07:00
vasyansk 9f209c8931 feat(provider): интерфейс Provider, Credentials, Zone 2026-07-03 12:36:18 +07:00
vasyansk bd4f8c5a8c feat(diff): диф-движок шаблон↔зона с Actionable и ReadOnly для NS/SOA
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:32:33 +07:00
vasyansk 304632b8cf test(model): покрытие SRV, неполных MX/SRV значений и изоляция теста приоритета MX 2026-07-03 12:27:39 +07:00
vasyansk dd91c93bda feat(model): нейтральная модель Record с нормализацией и Equal 2026-07-03 12:22:38 +07:00
vasyansk c738d05241 docs: план реализации Фазы 1A (ядро + Selectel)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:16:03 +07:00
vasyansk 74b8a01dc8 docs: зафиксированы решения (Selectel API-ключ, JSONB-шаблоны)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:09:18 +07:00
vasyansk db62c8c0c7 docs: дизайн DNS Autoresolver (Фаза 1 — ядро)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:07:13 +07:00