authzmap-tables

command
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2026 License: AGPL-3.0 Imports: 6 Imported by: 0

Documentation

Overview

Команда authzmap-tables пишет порождённые таблицы типов пакета `authzmap`.

Она — ТОНКАЯ: весь вывод живёт в `internal/authzmapgen`, потому что тот же вывод зовёт гейт свежести. Копия вывода внутри команды разошлась бы с гейтом молча, и гейт сверял бы файл с другим производителем.

ДВА КОРНЯ, И ОНИ РАЗНЫЕ (#61)

`-root` — корень ПЛАТФОРМЫ: оттуда обходятся `services/*/manifest.yaml`. `-module` — корень ЭТОГО модуля: под ним лежит порождённый файл.

Пока служба жила внутри платформы, второй был префиксом первого, и один довод обслуживал оба. После разреза это РАЗНЫЕ деревья, и умолчание `-root .` означает уже не «корень платформы», а «только собственный манифест».

ПОЧЕМУ ОДНОГО МОДУЛЯ НЕДОСТАТОЧНО, И ЭТО ОТКАЗ, А НЕ СУЖЕНИЕ

Таблица — МЕЖМОДУЛЬНЫЙ каталог: она отображает точечные имена ресурсов ВСЕХ модулей платформы в имена модели прав. Собранная из одного манифеста, она выглядит целой и молча теряет типы, а потерянный тип не резолвится краем — вопрос о нём не задаётся вовсе, и проверка выглядит пройденной.

Замер, ради которого guard заведён: прогон в самостоятельном клоне с умолчанием читал 1 манифест вместо 6 и отдавал таблицу на 7 ресурсов вместо 27 — с кодом 0. То есть `go generate` здесь ТИХО УНИЧТОЖИЛ БЫ таблицу, отчитавшись успехом.

Исходов четыре, и они различимы кодом возврата:

0  файл записан (либо уже совпадает)
1  обход дал находки либо порождать нечего — предпосылка исчезла
2  не записалось: путь недоступен, либо корень платформы не назван /
   не является деревом платформы — «условие не создано», третий исход

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL