Работа с container registry у многих до сих пор сводится к docker pull / docker push, а значит к запущенному демону, docker.sock в раннере и лишним привилегиям там, где они совсем не нужны.
regclient — это Go-библиотека и три CLI для работы с OCI-совместимыми реестрами без container runtime и без привилегированного доступа к хосту:
- regctl — инспекция, копирование и ретегирование с сохранением digest, работа с OCI Artifacts, referrers и мультиплатформенными индексами, плюс regctl image mod (аннотации, timestamps, смена базового образа и алгоритма digest)
- regsync — зеркалирование по YAML-конфигу: по расписанию, разово или только отчётом об устаревших образах, с поддержкой OCI Layout для переноса через air-gap
- regbot — скриптование политик на Lua: обход репозиториев, удаление лишних тегов и манифестов, с оглядкой на rate limits
Самое интересное здесь — поддержка referrers и digest tags: именно в них живут подписи cosign и аттестации с SBOM. Если тянуть образы во внутренний реестр инструментом, который про них не знает, то образ доедет, а доказательства его происхождения — нет, и вся выстроенная supply chain security тихо превращается в тыкву. И да, regctl image mod с regbot одинаково удобны как для наведения порядка в реестре, так и для того, чтобы незаметно в нём что-то поправить — права на запись в registry стоит раздавать так же скупо, как и в кластер ;)
regclient — это Go-библиотека и три CLI для работы с OCI-совместимыми реестрами без container runtime и без привилегированного доступа к хосту:
- regctl — инспекция, копирование и ретегирование с сохранением digest, работа с OCI Artifacts, referrers и мультиплатформенными индексами, плюс regctl image mod (аннотации, timestamps, смена базового образа и алгоритма digest)
- regsync — зеркалирование по YAML-конфигу: по расписанию, разово или только отчётом об устаревших образах, с поддержкой OCI Layout для переноса через air-gap
- regbot — скриптование политик на Lua: обход репозиториев, удаление лишних тегов и манифестов, с оглядкой на rate limits
Самое интересное здесь — поддержка referrers и digest tags: именно в них живут подписи cosign и аттестации с SBOM. Если тянуть образы во внутренний реестр инструментом, который про них не знает, то образ доедет, а доказательства его происхождения — нет, и вся выстроенная supply chain security тихо превращается в тыкву. И да, regctl image mod с regbot одинаково удобны как для наведения порядка в реестре, так и для того, чтобы незаметно в нём что-то поправить — права на запись в registry стоит раздавать так же скупо, как и в кластер ;)