Что это за задача
Заводим служебного «бота» в Forgejo: токен только на чтение репозиториев (read:repository). Используется исключительно для клонирования, кладётся в Vault.
Зависит от: CI-1
Задача из листа «Задачи» проекта (CI-2, СРЕЗ 0, приоритет P0). Срез CI-2: статус — готово.
Тесткейсы
Кейсы, привязанные к этой задаче в листе «Тесткейсы» (колонка «Единица бэклога»):
| TC-ID | Дано | Когда | Тогда |
|---|---|---|---|
TC-CI-2.1-a | сервисный аккаунт-бот создаётся в Forgejo | выпускается HTTPS-токен со скоупом read:repository | скоуп подтверждён через Forgejo API |
TC-CI-2.2-a | токен положен в Vault по выделенному пути | проверяется Vault policy | читать путь может только роль клонирования (NM-2), больше никто |
TC-CI-2.3-a | токен читает произвольный репозиторий организации | используется для клонирования | клонирование проходит; попытка push тем же токеном отвергается Forgejo |
TC-CI-2.3-b | read-токен бота положен в Vault | инспектируются Nomad job spec и переменные окружения контейнера агента | токен не встречается ни там, ни там — виден только activity клонирования |