Продуктовая команда
Issue → branch → merge request → preview environment. Дизайн, код и acceptance остаются в одной цепочке.
Ниже — будущие сценарии и предварительный контракт API. Он опирается на ресурсную модель GitLab, предсказуемые REST-эндпоинты и webhooks для событий.
От небольшой библиотеки до платформенной инженерии — права и процессы усложняются только тогда, когда это нужно.
Issue → branch → merge request → preview environment. Дизайн, код и acceptance остаются в одной цепочке.
Переиспользуемые pipeline-компоненты, protected environments и runners для разных классов нагрузки.
Публичные проекты, fork workflow, contribution rules, releases и понятная история решений.
Базовый адрес планируется как https://kernel.barebrave.online/api/v1. Клиент передаёт personal, project или OAuth token в заголовке Authorization: Bearer …. Ответы — JSON; списки используют cursor pagination; мутации поддерживают idempotency key.
Project — центральный ресурс. В нём живут repository, issues, merge requests, pipelines, packages и environments. Group объединяет проекты и наследуемые роли. События вроде push, merge_request.merged и pipeline.failed доставляются подписчикам через подписанные webhooks.
Роли будут следовать лестнице Guest → Reporter → Developer → Maintainer → Owner. Токены получают точные scopes: например, read_repository, write_registry или manage_runner. Protected branches и environments добавляют policy поверх роли.
Git transport будет доступен по HTTPS и SSH. Pipeline описывается YAML-файлом в репозитории: stages, jobs, rules, artifacts, cache и environments. Runner запрашивает job, исполняет его изолированно и потоково возвращает лог и артефакты.