kaname

module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2026 License: AGPL-3.0

README

kaname

IAM-сервис Kachō: control-plane для identity & access. Управляет ресурсной моделью Account, Project, User, ServiceAccount, Group, Role, AccessBinding и несет runtime-авторизацию поверх нее:

  • AuthZ (реляционная форма в своей базе) — публичный AuthorizeService (PDP)
    • internal Check (authz-gate, который зовут остальные сервисы). Вердикт вычисляется в той же базе, что и остальное состояние службы (internal/authzcascade поверх repo/kaname/pg/relverdict); внешнего движка отношений в пути решения нет — он снят целиком стадией S6 эпика #747, и его возвращение стережёт гейт internal/repohygiene/authzengineretired.go. Гранты AccessBinding кладутся строками журнала намерений (kaname.fga_outbox) тем же writer-tx, что меняет выдачу, — журнал остался, снят его прежний потребитель.
  • Permission catalogPermissionCatalogService: грантуемая таксономия <module>.<resource>.<verb>.
  • Service-account keysSAKeyService (статические ключи служебных учёток; токен по ключу выпускает наш подписант там, где объявлена своя чеканка, иначе внешний поставщик).
  • Cluster-admin grants — internal InternalClusterService (time-bombed/permanent).
  • AuthN-интеграция — webhooks Ory Kratos (provision) + Hydra (token/refresh); User mirror через InternalUserService.UpsertFromIdentity.

Что можно запустить

Перечень целей печатает сам модуль — он выводится из рецепта, а не из этой страницы, поэтому не расходится с ним молча:

make help          # то же, что просто `make`

Первая строка ответа называет посадку: модуль внутри монорепо либо самостоятельный клон. Цели, помеченные [монорепо], зовут соседей по дереву — корневой рецепт прогона, каталог общих контрактов, копию каталога прав у края. Вне монорепо они отказывают словами, называя, что запускать вместо.

Сборка и пробы работают в обеих посадках:

make build             # бинарь службы          -> bin/kaname
make build-migrator    # бинарь мигратора       -> bin/<мигратор>
make vet lint          # статический разбор
make docker            # образ kaname:dev
go test ./... -short   # пробы без контейнеров

Часть проб в отдельном клоне не исполняется, и они говорят это сами. Пробы, сверяющие домен с каталогом контрактов, читают его ИЗ ДЕРЕВА: в монорепо контракты лежат рядом, в отдельном клоне они приезжают зависимостью, и читать их из дерева нечем. Такая проба печатает «НЕ ВЫПОЛНИЛОСЬ … Это не вердикт о продукте» — третий исход, который не засчитывается ни в зелёное, ни в красное. Здесь это остаток, а не поломка: он снимается вместе с тем, как контракты станут приезжать зависимостью и для чтения тоже.

Клеймо ревизии в образе. Величина «из какого дерева собран образ» объявлена один раз на дерево — в корне монорепо, и в поставку модуля она не входит. Самостоятельный клон соберёт образ без клейма, и make docker говорит об этом вслух. Подробности и предикат снятия — provenance.mk.

Локальный стенд

Стенд — предмет монорепо: он поднимает kind, Postgres и все службы платформы разом, поэтому его рецепт живёт в корне дерева, а не в модуле. Каталог deploy/ этого модуля несёт Helm-чарт самой службы, а не стенд, и своего рецепта не имеет.

Из полного чекаута монорепо (команды — от корня дерева):

# 1. Поднять полный стенд (kind + helm + Postgres + все сервисы):
make -C deploy dev-up

# 2. Прокинуть api-gateway наружу
kubectl -n kacho port-forward svc/api-gateway 18080:8080 &

# 3. Smoke:
curl 'http://localhost:18080/iam/v1/accounts?pageSize=5'

Перезапуск только этой службы после изменений в коде:

make -C deploy reload-svc SVC=iam
make -C deploy logs-svc SVC=iam
make -C deploy psql SVC=iam            # psql kaname

Из самостоятельного клона службу ставят её чартом в свой кластер:

helm upgrade --install kaname ./deploy -f deploy/values.prod.yaml

Архитектура

Clean Architecture (domain → service/api → handler/repo/clients); cmd/kaname/main.go — composition root, cmd/migrator/main.go — отдельный CLI миграций. Структура internal/:

  • domain/ — newtypes + self-validating Validate().
  • apps/kaname/api/ — use-cases per ресурс (slice-per-RPC).
  • apps/kaname/config/ — viper YAML config.
  • repo/kaname/ — CQRS Repository / Reader / Writer + pg-impl.
  • dto/ — generic table-driven DTO трансферы.
  • handler/ — тонкий gRPC transport-слой.
  • clients/ — peer-клиенты (TTL+LRU) к Ory Hydra (admin/OAuth/сессии/ обмен токенов) + порты вопроса о доступе (relations.go); реализация портов — своя база, не сетевой сосед.
  • migrations/ — Postgres goose-миграции (sequential, 0001_initial.sql — baseline).
  • errors/ — sentinel errors + WrapPgErr (SQLSTATE → service.Err*).

Ссылки

  • Лицензия: LICENSE
  • Как контрибьютить: CONTRIBUTING.md
  • Соглашение о вкладе (подтверждается git commit -s): CLA.md
  • ER-диаграмма доменной модели: docs/architecture/er-diagram.md
  • Proto-контракты: proto/kaname/cloud/iam/v1/

Directories

Path Synopsis
cmd
authzmap-tables command
Команда authzmap-tables пишет порождённые таблицы типов пакета `authzmap`.
Команда authzmap-tables пишет порождённые таблицы типов пакета `authzmap`.
iamctl command
Команда iamctl — инструмент оператора над каталогом прав модуля: пять действий, не двенадцать (задача #1036).
Команда iamctl — инструмент оператора над каталогом прав модуля: пять действий, не двенадцать (задача #1036).
kaname command
audit_shipper_wiring.go — ВЫВОЗ журнала аудита control-plane.
audit_shipper_wiring.go — ВЫВОЗ журнала аудита control-plane.
migrator command
Package main — отдельный binary `kaname-migrator`: единая точка сборки CLI миграций (cmd-binary не смешивает обязанности).
Package main — отдельный binary `kaname-migrator`: единая точка сборки CLI миграций (cmd-binary не смешивает обязанности).
internal
apps/kaname/api/access_binding
Package access_binding — AccessBindingService.
Package access_binding — AccessBindingService.
apps/kaname/api/access_binding/reconcile
Package reconcile — selector/containment reconciler.
Package reconcile — selector/containment reconciler.
apps/kaname/api/account
Package account — use-case-структура AccountService.
Package account — use-case-структура AccountService.
apps/kaname/api/authorize
Package authorize — AuthorizeService gRPC handler.
Package authorize — AuthorizeService gRPC handler.
apps/kaname/api/bootstrap_token
handler.go — thin gRPC transport for InternalBootstrapTokenService.
handler.go — thin gRPC transport for InternalBootstrapTokenService.
apps/kaname/api/client_token
Package client_token — выдача токена по учётным данным клиента, чья личность доказана подписанным утверждением (задача #898, приёмка F2 §9.1 п.
Package client_token — выдача токена по учётным данным клиента, чья личность доказана подписанным утверждением (задача #898, приёмка F2 §9.1 п.
apps/kaname/api/group
Package group — GroupService + member-management.
Package group — GroupService + member-management.
apps/kaname/api/identityquota
Package identityquota — арендаторское чтение квот, носителем которых является личность.
Package identityquota — арендаторское чтение квот, носителем которых является личность.
apps/kaname/api/interactive_client
Package interactiveclient — use-cases of InternalInteractiveClientService (IAM-INT-1): the lifecycle of the OAuth2 client through which a HUMAN completes an interactive sign-in ceremony.
Package interactiveclient — use-cases of InternalInteractiveClientService (IAM-INT-1): the lifecycle of the OAuth2 client through which a HUMAN completes an interactive sign-in ceremony.
apps/kaname/api/internal_iam
force_logout.go — InternalIAMService.ForceLogout.
force_logout.go — InternalIAMService.ForceLogout.
apps/kaname/api/internal_operations
Package internal_operations — InternalOperationsService.ListIamOperations.
Package internal_operations — InternalOperationsService.ListIamOperations.
apps/kaname/api/limit
Package limit — use-cases of InternalLimitService: the lifecycle of a resource-count ceiling, plus the two reads owner-services live on.
Package limit — use-cases of InternalLimitService: the lifecycle of a resource-count ceiling, plus the two reads owner-services live on.
apps/kaname/api/membership
Package membership — MembershipService: чтение принадлежности человека аккаунту на аккаунт-скоупных путях.
Package membership — MembershipService: чтение принадлежности человека аккаунту на аккаунт-скоупных путях.
apps/kaname/api/permission_catalog
Package permission_catalog — PermissionCatalogService.ListPermissionCatalog (RBAC rules-model 2026).
Package permission_catalog — PermissionCatalogService.ListPermissionCatalog (RBAC rules-model 2026).
apps/kaname/api/project
Package project — use-case-структура ProjectService.
Package project — use-case-структура ProjectService.
apps/kaname/api/registry_token
key_material_window.go — ОКНО ПЕРЕХОДА ЛОМАЮЩЕГО ИЗМЕНЕНИЯ #1143 и счётчик полос предъявленного удостоверения.
key_material_window.go — ОКНО ПЕРЕХОДА ЛОМАЮЩЕГО ИЗМЕНЕНИЯ #1143 и счётчик полос предъявленного удостоверения.
apps/kaname/api/role
Package role — RoleService.
Package role — RoleService.
apps/kaname/api/sa_keys
handler.go — gRPC handler for kaname.cloud.iam.v1.SAKeyService.
handler.go — gRPC handler for kaname.cloud.iam.v1.SAKeyService.
apps/kaname/api/service_account
Package service_account — ServiceAccountService.
Package service_account — ServiceAccountService.
apps/kaname/api/session_revocations
Package session_revocations — InternalSessionRevocationsService (internal-only, gRPC port :9091).
Package session_revocations — InternalSessionRevocationsService (internal-only, gRPC port :9091).
apps/kaname/api/signingkeys
Package signingkeys — ключница подписных ключей платформы (задача #897).
Package signingkeys — ключница подписных ключей платформы (задача #897).
apps/kaname/api/user
Package user — UserService (public CRUD + Invite) + InternalUserService (UpsertFromIdentity / Get).
Package user — UserService (public CRUD + Invite) + InternalUserService (UpsertFromIdentity / Get).
apps/kaname/api/user_tokens
handler.go — gRPC handler для kaname.cloud.iam.v1.UserTokenService.
handler.go — gRPC handler для kaname.cloud.iam.v1.UserTokenService.
apps/kaname/config
authn_phase2.go — helpers for the AuthN core config fields.
authn_phase2.go — helpers for the AuthN core config fields.
apps/kaname/expiredcredsweep
Package expiredcredsweep — платформа снимает удостоверение, чей срок истёк более чем на отсрочку назад.
Package expiredcredsweep — платформа снимает удостоверение, чей срок истёк более чем на отсрочку назад.
apps/kaname/modulecatalog
Package modulecatalog — ПРИМЕНИТЕЛЬ КАТАЛОГА модуля: читает манифест как данные и приводит строки `kaname.catalog_module` / `catalog_resource` / `catalog_verb` к объявленному состоянию (задача продукта #1034).
Package modulecatalog — ПРИМЕНИТЕЛЬ КАТАЛОГА модуля: читает манифест как данные и приводит строки `kaname.catalog_module` / `catalog_resource` / `catalog_verb` к объявленному состоянию (задача продукта #1034).
apps/kaname/moduleroles
Package moduleroles — ПРИМЕНИТЕЛЬ ролей модуля: читает манифест как данные и приводит строки системных ролей своего модуля к объявленному состоянию (приёмка `services/iam/docs/engineering/acceptance/roles-come-as-data-not-migrations.md`, §3.1, §3.3, §3.5, §3.7; задача #1824).
Package moduleroles — ПРИМЕНИТЕЛЬ ролей модуля: читает манифест как данные и приводит строки системных ролей своего модуля к объявленному состоянию (приёмка `services/iam/docs/engineering/acceptance/roles-come-as-data-not-migrations.md`, §3.1, §3.3, §3.5, §3.7; задача #1824).
apps/kaname/moduleseed
Package moduleseed — ПРИМЕНИТЕЛЬ раздела `seed` манифеста модуля (задача продукта #2452).
Package moduleseed — ПРИМЕНИТЕЛЬ раздела `seed` манифеста модуля (задача продукта #2452).
apps/kaname/operationresolver
Package operationresolver implements the IAM operations.Resolver: given the metadata of an orphaned operation (a row left done=false because the worker process died mid-flight), it determines the terminal outcome by reading the committed reality of the resource.
Package operationresolver implements the IAM operations.Resolver: given the metadata of an orphaned operation (a row left done=false because the worker process died mid-flight), it determines the terminal outcome by reading the committed reality of the resource.
apps/kaname/retention
Package retention — уборка таблиц iam, чей рост задаёт внешний.
Package retention — уборка таблиц iam, чей рост задаёт внешний.
apps/kaname/secretsweep
Package secretsweep — the periodic backstop that clears one-shot credentials left staged in finished operation responses.
Package secretsweep — the periodic backstop that clears one-shot credentials left staged in finished operation responses.
apps/kaname/seed
bootstrap_admin.go — startup-time bootstrap admin grant + fga_outbox enqueue.
bootstrap_admin.go — startup-time bootstrap admin grant + fga_outbox enqueue.
apps/kaname/shared
Package shared — общие helpers для всех api-слайсов (parity с services/vpc/internal/apps/kacho/shared).
Package shared — общие helpers для всех api-слайсов (parity с services/vpc/internal/apps/kacho/shared).
audiencepolicy
Package audiencepolicy — ОДИН предикат выбора адресата выпускаемого токена, общий для всех полос выдачи (задачи #1136, #1184).
Package audiencepolicy — ОДИН предикат выбора адресата выпускаемого токена, общий для всех полос выдачи (задачи #1136, #1184).
authzcascade
Package authzcascade — ДВЕРЬ РЕШЕНИЯ о доступе для собственных стражей iam.
Package authzcascade — ДВЕРЬ РЕШЕНИЯ о доступе для собственных стражей iam.
authzfilter
Package authzfilter resolves per-object READ-visibility for kaname's own read surfaces by asking a DIRECT per-object question — never by enumerating the objects a subject may see.
Package authzfilter resolves per-object READ-visibility for kaname's own read surfaces by asking a DIRECT per-object question — never by enumerating the objects a subject may see.
authzguard
acr_floor.go — the per-RPC `required_acr_min` (step-up / MFA-freshness floor) enforcement on the cluster-internal listener (:9091) for the GATEWAY-FRONTED privileged RPCs.
acr_floor.go — the per-RPC `required_acr_min` (step-up / MFA-freshness floor) enforcement on the cluster-internal listener (:9091) for the GATEWAY-FRONTED privileged RPCs.
authzmap
fga_types.go — closed (module, resource) → fga_object_type table.
fga_types.go — closed (module, resource) → fga_object_type table.
authzmapgen
Package authzmapgen — ПРОИЗВОДИТЕЛЬ двух таблиц типов пакета `authzmap` из манифестов модулей (задача #1092).
Package authzmapgen — ПРОИЗВОДИТЕЛЬ двух таблиц типов пакета `authzmap` из манифестов модулей (задача #1092).
authzmodel
Package authzmodel — каноническая модель прав, доступная коду iam в рантайме.
Package authzmodel — каноническая модель прав, доступная коду iam в рантайме.
authztypes
Package authztypes holds the NEUTRAL authorization value types shared across the Clean-Architecture boundary between the use-case layer (internal/service) and whatever answers relation questions — today the decision door (internal/authzcascade) over the relational form, before it an adapter to an external engine.
Package authztypes holds the NEUTRAL authorization value types shared across the Clean-Architecture boundary between the use-case layer (internal/service) and whatever answers relation questions — today the decision door (internal/authzcascade) over the relational form, before it an adapter to an external engine.
bootstraptokenwire
Package bootstraptokenwire — composition-root wiring for the InternalBootstrapTokenService handler (#58).
Package bootstraptokenwire — composition-root wiring for the InternalBootstrapTokenService handler (#58).
callerorigin
Package callerorigin — ЧЕМ названа личность вызывающего на этом запросе.
Package callerorigin — ЧЕМ названа личность вызывающего на этом запросе.
catalog
Package catalog — КАТАЛОЖНЫЙ ФАКТ, прочитанный из СТРОК: какие пары «модуль.ресурс» грантуемы и какие глаголы объявлены каждой.
Package catalog — КАТАЛОЖНЫЙ ФАКТ, прочитанный из СТРОК: какие пары «модуль.ресурс» грантуемы и какие глаголы объявлены каждой.
check
injection_named_exists.go — разбор: доказательство способности упасть, НАЗВАННОЕ пробой, обязано существовать (#2479).
injection_named_exists.go — разбор: доказательство способности упасть, НАЗВАННОЕ пробой, обязано существовать (#2479).
clientassertion
federated.go — федеративная полоса приёма: утверждение подписал ВНЕШНИЙ издатель, а перечень доверенных издателей ведём мы (задача #1124, RFC 7523 §2.1 — вид выдачи, не аутентификация клиента).
federated.go — федеративная полоса приёма: утверждение подписал ВНЕШНИЙ издатель, а перечень доверенных издателей ведём мы (задача #1124, RFC 7523 §2.1 — вид выдачи, не аутентификация клиента).
clients
Package clients — peer-gRPC clients for kaname.
Package clients — peer-gRPC clients for kaname.
clienttokenwire
Package clienttokenwire — сборка токен-эндпоинта платформы (задача #898, приёмка F2 §9.1 п.
Package clienttokenwire — сборка токен-эндпоинта платформы (задача #898, приёмка F2 §9.1 п.
contractnaming
Package contractnaming — ЕДИНСТВЕННОЕ объявление в модуле службы того, КТО владеет пакетом контракта модуля платформы.
Package contractnaming — ЕДИНСТВЕННОЕ объявление в модуле службы того, КТО владеет пакетом контракта модуля платформы.
domain
access_binding_scope.go — typed Scope enum for the RBAC v2 AccessBinding shape.
access_binding_scope.go — typed Scope enum for the RBAC v2 AccessBinding shape.
dto
Package dto — table-driven generic-based DTO transfers for kaname (parity with services/vpc/internal/dto/base.go).
Package dto — table-driven generic-based DTO transfers for kaname (parity with services/vpc/internal/dto/base.go).
dto/toproto
Package toproto — DTO transfer implementations domain/repo → proto for kaname.
Package toproto — DTO transfer implementations domain/repo → proto for kaname.
errors
Package errors — pgx-free sentinel error family for kaname.
Package errors — pgx-free sentinel error family for kaname.
handler/clienttokenhttp
Package clienttokenhttp — токен-эндпоинт платформы (задача #898, приёмка F2 §9.1 п.
Package clienttokenhttp — токен-эндпоинт платформы (задача #898, приёмка F2 §9.1 п.
handler/iamhooks
adapters.go — thin shims между port-iface'ами handler-слоя и repo adapter'ами из internal/repo/kaname/pg.
adapters.go — thin shims между port-iface'ами handler-слоя и repo adapter'ами из internal/repo/kaname/pg.
handler/jwksproxyhttp
Package jwksproxyhttp — cluster-ВНУТРЕННИЙ публикатор наборов проверочных ключей.
Package jwksproxyhttp — cluster-ВНУТРЕННИЙ публикатор наборов проверочных ключей.
handler/registrytokenhttp
Package registrytokenhttp — thin HTTP transport for the IAM Docker Registry v2 auth-server: the `/iam/token` endpoint.
Package registrytokenhttp — thin HTTP transport for the IAM Docker Registry v2 auth-server: the `/iam/token` endpoint.
handler/tokenintrospecthttp
Package tokenintrospecthttp — авторитет отзыва НАШИХ токенов на cluster-внутреннем слушателе (задача #897).
Package tokenintrospecthttp — авторитет отзыва НАШИХ токенов на cluster-внутреннем слушателе (задача #897).
iamctl
Пакет iamctl — инструмент оператора над каталогом прав модуля: пять действий, не двенадцать (задача #1036).
Пакет iamctl — инструмент оператора над каталогом прав модуля: пять действий, не двенадцать (задача #1036).
keywrap
Package keywrap — обёртка приватной половины подписного ключа для хранения в базе.
Package keywrap — обёртка приватной половины подписного ключа для хранения в базе.
manifest
grantanchor.go — ЯКОРЬ выдачи посева: единственное его объявление и единственный его судья (задача продукта #1953).
grantanchor.go — ЯКОРЬ выдачи посева: единственное его объявление и единственный его судья (задача продукта #1953).
manifest/roleexport
Package roleexport — производимость права роли модуля: какие действия каталога прав правило роли ДЕЙСТВИТЕЛЬНО выдаёт, а какие не выдаёт ни при каком написании.
Package roleexport — производимость права роли модуля: какие действия каталога прав правило роли ДЕЙСТВИТЕЛЬНО выдаёт, а какие не выдаёт ни при каком написании.
manifestcheckrun
Пакет manifestcheckrun — ЕДИНСТВЕННЫЙ производитель локальной проверки манифестов модуля: обход дерева, разбор каждого `manifest.yaml` тем же Load, которым его прочтёт посев iam, и производимость права каждой роли.
Пакет manifestcheckrun — ЕДИНСТВЕННЫЙ производитель локальной проверки манифестов модуля: обход дерева, разбор каждого `manifest.yaml` тем же Load, которым его прочтёт посев iam, и производимость права каждой роли.
manifestoracle
Package manifestoracle — переходник: модель прав отвечает на вопросы загрузчика манифестов (задача продукта #2002).
Package manifestoracle — переходник: модель прав отвечает на вопросы загрузчика манифестов (задача продукта #2002).
modelrender
Package modelrender — блоки типов модели доступов ПОРОЖДАЮТСЯ из манифеста домена, а порождённое сверяется с каноном ПОБАЙТОВО (задача #1089, приёмка services/iam/docs/engineering/acceptance/model-generated-from-manifest.md).
Package modelrender — блоки типов модели доступов ПОРОЖДАЮТСЯ из манифеста домена, а порождённое сверяется с каноном ПОБАЙТОВО (задача #1089, приёмка services/iam/docs/engineering/acceptance/model-generated-from-manifest.md).
moduleroleparity
Package moduleroleparity — сверка ОБЪЯВЛЕННЫХ манифестом системных ролей модуля с тем, что лежит в живой базе (задача продукта #1891).
Package moduleroleparity — сверка ОБЪЯВЛЕННЫХ манифестом системных ролей модуля с тем, что лежит в живой базе (задача продукта #1891).
moduleseedparity
Package moduleseedparity — сверка раздела `seed` манифеста модуля с ЖИВОЙ базой (задача #1891, вторая половина её предиката).
Package moduleseedparity — сверка раздела `seed` манифеста модуля с ЖИВОЙ базой (задача #1891, вторая половина её предиката).
observability/metrics
Package metrics is the kaname Prometheus observability adapter.
Package metrics is the kaname Prometheus observability adapter.
outboxtypes
Package outboxtypes holds the NEUTRAL writer-tx outbox payload value types shared across the Clean-Architecture boundary between the use-case layer (internal/service, which defines the emitter ports) and the CQRS Repository port aggregator (internal/repo/kaname, whose Writer surface also emits them).
Package outboxtypes holds the NEUTRAL writer-tx outbox payload value types shared across the Clean-Architecture boundary between the use-case layer (internal/service, which defines the emitter ports) and the CQRS Repository port aggregator (internal/repo/kaname, whose Writer surface also emits them).
presentedcred
Package presentedcred — читатель удостоверения, ПРЕДЪЯВЛЕННОГО самим вызывающим, на публичном слушателе (задача продукта #2077, приёмка KAN-AUTHN-1).
Package presentedcred — читатель удостоверения, ПРЕДЪЯВЛЕННОГО самим вызывающим, на публичном слушателе (задача продукта #2077, приёмка KAN-AUTHN-1).
publicauthzcensus
Package publicauthzcensus переписывает ПУБЛИЧНЫЕ RPC iam по признаку «несёт ли путь обслуживания ПООБЪЕКТНЫЙ вопрос о доступе».
Package publicauthzcensus переписывает ПУБЛИЧНЫЕ RPC iam по признаку «несёт ли путь обслуживания ПООБЪЕКТНЫЙ вопрос о доступе».
refusaldomain
Package refusaldomain — ЕДИНСТВЕННОЕ объявление того, чем продукт называет себя в теле отказа (задача продукта #2099, приёмка WIRE-1, предмет ПР-3, сценарии WIRE-3-01…03).
Package refusaldomain — ЕДИНСТВЕННОЕ объявление того, чем продукт называет себя в теле отказа (задача продукта #2099, приёмка WIRE-1, предмет ПР-3, сценарии WIRE-3-01…03).
registrytoken
Package registrytoken — ES256 client_assertion crypto for the Docker Registry v2 auth-server (`/iam/token`) shim.
Package registrytoken — ES256 client_assertion crypto for the Docker Registry v2 auth-server (`/iam/token`) shim.
registrytokenwire
Package registrytokenwire — composition-root adapters binding the registry `/iam/token` shim use-case to iam infrastructure:
Package registrytokenwire — composition-root adapters binding the registry `/iam/token` shim use-case to iam infrastructure:
release
Package release держит утверждение о ГОДНОСТИ модуля службы как продукта, который собирает ПОСТОРОННИЙ.
Package release держит утверждение о ГОДНОСТИ модуля службы как продукта, который собирает ПОСТОРОННИЙ.
repo/kaname
Package kacho — CQRS Repository корень для kaname.
Package kacho — CQRS Repository корень для kaname.
repo/kaname/access_binding
Package access_binding — CQRS port-iface'ы для kaname.access_bindings.
Package access_binding — CQRS port-iface'ы для kaname.access_bindings.
repo/kaname/account
Package account — CQRS port-iface'ы для kaname.accounts.
Package account — CQRS port-iface'ы для kaname.accounts.
repo/kaname/group
Package group — CQRS port-iface'ы для kaname.groups + group_members.
Package group — CQRS port-iface'ы для kaname.groups + group_members.
repo/kaname/membership
Package membership — CQRS port-iface для kaname.memberships.
Package membership — CQRS port-iface для kaname.memberships.
repo/kaname/pg
audit_outbox_emitter.go — pg adapter for service.AuditOutboxEmitter.
audit_outbox_emitter.go — pg adapter for service.AuditOutboxEmitter.
repo/kaname/pg/dto
Package dto — pg ↔ domain mapping для kaname.
Package dto — pg ↔ domain mapping для kaname.
repo/kaname/pg/fga_outbox
Package fga_outbox — atomic emit-in-tx helper for kaname.fga_outbox.
Package fga_outbox — atomic emit-in-tx helper for kaname.fga_outbox.
repo/kaname/pg/invite_mail_outbox
Package invite_mail_outbox — writer намерения отправить письмо приглашения в `kaname.invite_mail_outbox`.
Package invite_mail_outbox — writer намерения отправить письмо приглашения в `kaname.invite_mail_outbox`.
repo/kaname/pg/planrows
Package planrows — прибор порядков: несущая величина замера снимается с ПЛАНА запроса, а не с часов, не со счётчика страниц и не с числа отданных клиенту строк.
Package planrows — прибор порядков: несущая величина замера снимается с ПЛАНА запроса, а не с часов, не со счётчика страниц и не с числа отданных клиенту строк.
repo/kaname/pg/reconcile_outbox
Package reconcile_outbox — emit + drain helpers for kaname.resource_reconcile_outbox.
Package reconcile_outbox — emit + drain helpers for kaname.resource_reconcile_outbox.
repo/kaname/pg/relverdict
Package relverdict — вердикт о доступе запросом к собственному Postgres iam.
Package relverdict — вердикт о доступе запросом к собственному Postgres iam.
repo/kaname/pg/resource_mirror
Package resource_mirror — atomic emit-in-tx helper for kaname.resource_mirror.
Package resource_mirror — atomic emit-in-tx helper for kaname.resource_mirror.
repo/kaname/pg/schemasnapshot
Пакет schemasnapshot — ПРИБОР снятия слепка схемы iam, а не проба.
Пакет schemasnapshot — ПРИБОР снятия слепка схемы iam, а не проба.
repo/kaname/pg/target_members
Package target_members — store for kaname.access_binding_target_members, the materialized desired-state membership of a binding's target.
Package target_members — store for kaname.access_binding_target_members, the materialized desired-state membership of a binding's target.
repo/kaname/project
Package project — CQRS port-iface'ы для kaname.projects.
Package project — CQRS port-iface'ы для kaname.projects.
repo/kaname/role
Package role — CQRS port-iface'ы для kaname.roles.
Package role — CQRS port-iface'ы для kaname.roles.
repo/kaname/service_account
Package service_account — CQRS port-iface'ы для kaname.service_accounts.
Package service_account — CQRS port-iface'ы для kaname.service_accounts.
repo/kaname/user
Package user — CQRS port-iface'ы для kaname.users.
Package user — CQRS port-iface'ы для kaname.users.
repo/kaname/visibility
Package visibility — CQRS port for the STRUCTURAL FACTS about one caller that a list use-case needs before it reads its first candidate row.
Package visibility — CQRS port for the STRUCTURAL FACTS about one caller that a list use-case needs before it reads its first candidate row.
repo/repomock
Package repomock — mock-impl iface'ов из `internal/repo/kaname/*` для unit-тестов use-case'ов (parity с services/vpc/internal/repo/repomock).
Package repomock — mock-impl iface'ов из `internal/repo/kaname/*` для unit-тестов use-case'ов (parity с services/vpc/internal/repo/repomock).
restfront
Package restfront — собственный REST-фронт службы: два мультиплексора на двух слушателях, публичный и внутренний.
Package restfront — собственный REST-фронт службы: два мультиплексора на двух слушателях, публичный и внутренний.
scopesourcecensus
Package scopesourcecensus строит ЗАПРОС переписи источников звена цепи областей — по типам, ВЫВЕДЕННЫМ из дерева, а не выписанным рядом.
Package scopesourcecensus строит ЗАПРОС переписи источников звена цепи областей — по типам, ВЫВЕДЕННЫМ из дерева, а не выписанным рядом.
scopesourcecensus/cmd/scope-source-census-sql command
Команда scope-source-census-sql печатает запрос переписи источников звена цепи областей — либо перечень типов, о которых перепись обязана высказаться.
Команда scope-source-census-sql печатает запрос переписи источников звена цепи областей — либо перечень типов, о которых перепись обязана высказаться.
signingkeygen
Package signingkeygen порождает подписной ключ объявленного алгоритма и проверяет предъявленный ключ против объявленного порога стойкости.
Package signingkeygen порождает подписной ключ объявленного алгоритма и проверяет предъявленный ключ против объявленного порога стойкости.
testsupport/accesssnapshot
Package accesssnapshot снимает множество объектов, доступных субъекту, и сравнивает два таких снимка.
Package accesssnapshot снимает множество объектов, доступных субъекту, и сравнивает два таких снимка.
testsupport/catalogfixture
Package catalogfixture — каталожный факт для проб (kacho#1816).
Package catalogfixture — каталожный факт для проб (kacho#1816).
testsupport/iampgtest
Package iampgtest — помощник, дающий пробам iam базу с готовым `search_path`.
Package iampgtest — помощник, дающий пробам iam базу с готовым `search_path`.
testsupport/modulemanifests
Package modulemanifests — манифесты модулей, ДОСТУПНЫЕ ПРОБЕ В ЭТОЙ ПОСАДКЕ.
Package modulemanifests — манифесты модулей, ДОСТУПНЫЕ ПРОБЕ В ЭТОЙ ПОСАДКЕ.
testsupport/platformtree
Package platformtree даёт ПРОБЕ третий исход вместо красного там, где дерева платформы рядом с модулем нет.
Package platformtree даёт ПРОБЕ третий исход вместо красного там, где дерева платформы рядом с модулем нет.
testsupport/refusaltext
Package refusaltext — ОДНА проба для всех переводчиков отказа службы: текст, который получает вызывающий на признаке недоступности, ФИКСИРОВАН и причины не несёт.
Package refusaltext — ОДНА проба для всех переводчиков отказа службы: текст, который получает вызывающий на признаке недоступности, ФИКСИРОВАН и причины не несёт.
testsupport/rightsfixture
Package rightsfixture — ПРОИЗВОДИТЕЛЬ ПРАВИЛ роли для проб (kacho#1998).
Package rightsfixture — ПРОИЗВОДИТЕЛЬ ПРАВИЛ роли для проб (kacho#1998).
tokenrevocation
Package tokenrevocation — ПРАВИЛО отзыва наших токенов, объявленное один раз.
Package tokenrevocation — ПРАВИЛО отзыва наших токенов, объявленное один раз.
tokensigner
Package tokensigner — подписант токенов платформы (задача #897).
Package tokensigner — подписант токенов платформы (задача #897).
treeposture
Package treeposture отвечает на ОДИН вопрос: лежит ли модуль в дереве платформы — и приводит координаты, записанные от корня платформы, к той посадке, в которой идёт прогон.
Package treeposture отвечает на ОДИН вопрос: лежит ли модуль в дереве платформы — и приводит координаты, записанные от корня платформы, к той посадке, в которой идёт прогон.
treeroot
Package treeroot отвечает на ОДИН вопрос: какое дерево судит этот каталог — и его ли это дерево.
Package treeroot отвечает на ОДИН вопрос: какое дерево судит этот каталог — и его ли это дерево.
tests
newman/scripts/credsecretmint command
credsecretmint — печатает базовое удостоверение, ОТЧЕКАНЕННОЕ КОДОМ ПРОДУКТА.
credsecretmint — печатает базовое удостоверение, ОТЧЕКАНЕННОЕ КОДОМ ПРОДУКТА.
tools
auditlistfilter
Package auditlistfilter states how kaname is laid out for the public-List gate.
Package auditlistfilter states how kaname is laid out for the public-List gate.
auditlistfilter/cmd/audit-list-filter command
Command audit-list-filter is the CI entry point of kaname's public-List gate.
Command audit-list-filter is the CI entry point of kaname's public-List gate.
authzformbench
Package authzformbench измеряет стоимость РЕЛЯЦИОННОЙ формы выдачи прав — работу записи, работу чтения и объём — как КРИВУЮ по N, а не как одно число.
Package authzformbench измеряет стоимость РЕЛЯЦИОННОЙ формы выдачи прав — работу записи, работу чтения и объём — как КРИВУЮ по N, а не как одно число.
clagate
Package clagate — вклад стороннего автора не попадает в дерево без подтверждённого соглашения о вкладе.
Package clagate — вклад стороннего автора не попадает в дерево без подтверждённого соглашения о вкладе.
knownfailingexpiry
Package knownfailingexpiry — самоистечение записей прощения в `tests/newman/docs/RESULTS.md`.
Package knownfailingexpiry — самоистечение записей прощения в `tests/newman/docs/RESULTS.md`.
modelcanoncheck command
Команда model-canon-check — исполнитель побайтовой сверки модели доступов с манифестами модулей (задача PRO-Robotech/kacho#1089, приёмка services/iam/docs/engineering/acceptance/model-generated-from-manifest.md).
Команда model-canon-check — исполнитель побайтовой сверки модели доступов с манифестами модулей (задача PRO-Robotech/kacho#1089, приёмка services/iam/docs/engineering/acceptance/model-generated-from-manifest.md).
modulemanifestcheck command
Команда module-manifest-check — сборочная цель, судящая манифесты модулей дерева разработки.
Команда module-manifest-check — сборочная цель, судящая манифесты модулей дерева разработки.
operatordocs
notices.go — ПОРОЖДЕНИЕ перечня третьих сторон из того, что РЕАЛЬНО ЛИНКУЮТ поставляемые бинари.
notices.go — ПОРОЖДЕНИЕ перечня третьих сторон из того, что РЕАЛЬНО ЛИНКУЮТ поставляемые бинари.
operatordocs/cmd/operator-docs command
operator-docs — порождает и сверяет документы, которые читает чужой оператор: перечень третьих сторон и перечень обязательных величин в документе установки.
operator-docs — порождает и сверяет документы, которые читает чужой оператор: перечень третьих сторон и перечень обязательных величин в документе установки.
standalonetargets
Package standalonetargets судит ОДНО свойство рецепта сборки модуля: цель, которую он НЕ пометил `[монорепо]`, обязана работать в самостоятельном клоне.
Package standalonetargets судит ОДНО свойство рецепта сборки модуля: цель, которую он НЕ пометил `[монорепо]`, обязана работать в самостоятельном клоне.
subjectstategate
Package subjectstategate — состояние личности, которое вернул репозиторий, не может быть выброшено.
Package subjectstategate — состояние личности, которое вернул репозиторий, не может быть выброшено.
surfaceroster
Package surfaceroster — ПЕРЕЧЕНЬ ПОВЕРХНОСТЕЙ, которые поднимает процесс, выведенный из его собственных объявлений.
Package surfaceroster — ПЕРЕЧЕНЬ ПОВЕРХНОСТЕЙ, которые поднимает процесс, выведенный из его собственных объявлений.

Jump to

Keyboard shortcuts

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