ADR-0011: два режима container CI
- Status: accepted
- Date: 2026-08-31
Контекст
В pull request образ нужен локально для проверки Trivy. Docker exporter не может одновременно загрузить
такой образ и экспортировать manifest list с SBOM и provenance. После изменения main образ уже нужно
публиковать в GHCR со всеми данными цепочки поставки.
Решение
- В pull request workflow использует
load, не публикует образ и не создаёт SBOM и provenance. - Trivy проверяет локально загруженный образ и блокирует критические и высокие уязвимости.
- После изменения
mainworkflow публикует образ с SBOM и максимальным provenance. - Опубликованный образ получает GitHub attestation и keyless-подпись Cosign.
- Репозиторий
.githubпроверяет эти режимы отдельным regression-скриптом.
Последствия
PR не создаёт SBOM и provenance для временного образа, который никуда не публикуется. Защита опубликованных
образов не ослабляется. Изменение общего container workflow проверяется в .github и затем smoke-тестом в
репозитории сервиса.