В OCI-реестрах можно хранить вообще всё
Основное их назначение — это хранение контейнерных образов. Но в какой-то момент люди подумали, что им этого недостаточно, и что они хотят вместе с образами хранить и другие артефакты.
Например, как-то рядом, связно с образом, хотелось бы хранить и его SBOM (Software Bill of Materials) и подписи. Помимо этого есть ещё всякие Helm-чарты, которые также неплохо было бы поместить где-то по соседству.
Так появился ORAS — инструмент-воркэраунд, который позволяет хранить в OCI-реестрах не только образы, но и другие артефакты. Список приложений, которые поддерживают ORAS, можно посмотреть тут. Среди них, например, есть вышеупомянутый Helm, Inspektor Gadget (коллекция дебаг-тулов для куба) и OpenTofu (форк терраформа).
Но на воркэраунде никому долго жить не хочется, поэтому в спецификации OCI 1.1, вышедшей в ещё 2024 году, добавили две важные штуки. Первое — поле artifactType, в котором нативно можно указать тип артефакта, без «костылинга». Второе — добавили возможность связывать артифакты друг с другом, то есть у вас теперь тот же Helm-чарт может быть связан с образом, и, конечно же, все связанные с образом артифакты можно запросить по API.
До сих пор не все тулы и реестры поддерживают OCI 1.1, но однажды...
Под конец приведу частичный список того, что уже может храниться в OCI, и что не является образом.
🟢WASM Модули
🟢Docker Compose YAML
🟢Helm чарты
🟢Gatekeeper политики
🟢Желаемый стейт приложения в Flux
🟢Homebrew bottles
🟢Подписи, SBOM и тд (через Cosign, Notation и другие тулы)
Post #83
134
- 👍 3