Неизменяемый. Идентичность
Дайджесты SHA-256 гарантируют, что продвигаемый артефакт побайтово идентичен артефакту, отсканированному и утвержденному.
Обработка первых версий
Выпуск — это пакет дайджестов OCI, разрешенный во время создания. Теги — это удобочитаемые псевдонимы; дайджесты — это криптографическая истина.
Изменяемые теги создают двусмысленность. Один и тот же тег может с течением времени указывать на разное содержимое. Дайджест-первый контроль версий устраняет эту неопределенность.
Дайджесты SHA-256 гарантируют, что продвигаемый артефакт побайтово идентичен артефакту, отсканированному и утвержденному.
Любая модификация артефакта меняет его дайджест. Несоответствие времени запроса = сбой развертывания. Подделку невозможно скрыть.
Точно знайте, какой артефакт был развернут, где, когда и почему — с помощью криптографического доказательства, связывающего сканирование, утверждение и развертывание.
Откат возвращается к точным заведомо хорошим дайджестам, а не к «тому, на что указывает :latest». Те же байты, гарантировано.
Релиз в Stella объединяет несколько компонентов, каждый из которых идентифицируется своим дайджестом OCI. Сам релиз имеет смысловую версию для удобства чтения человеком.
Пример пакета выпуска
Релиз: myapp-v2.3.1
Компоненты:
api: sha256:abc123...
worker: sha256:def456...
frontend: sha256:789ghi...
Создавайте выпуски CLI и управляйте ими.
$ stella release create --name myapp-v2.3.1 --components api:v2.3.1,worker:v2.3.1
stella release list --environment production\nstella release show myapp-v2.3.1 --components При создании выпуска Stella немедленно преобразует все теги в их текущие дайджесты. С этого момента релиз является неизменным.
Гарантия неизменности
После создания выпуска его набор дайджестов не может измениться. В каждой среде каждый раз будут развертываться одни и те же байты.
Каждое развертывание создает неизменяемые артефакты, обеспечивающие воспроизводимость, аудит и откат.
Docker Compose Файл со всеми ссылками на изображения, прикрепленными к конкретным дайджестам. Включает метки метаданных Stella для отслеживания.
image: registry.example.com/myapp/api@sha256:abc123...
labels:
stella.release.id: "rel-uuid"
stella.digest: "sha256:abc123..."
Файл метаданных JSON, размещенный на объектах развертывания, с указанием текущего выпуска, компонентов, стратегии развертывания и предыдущей версии для отката.
"release": { "name": "myapp-v2.3.1" }
"deployment": { "strategy": "rolling" }
"previous": { "digest": "sha256:789..." }
"signature": "base64-encoded-signature"
Каждый выпуск связывает доказательства безопасности с точными развертываемыми дайджестами. Доказательства передаются вместе с выпуском посредством продвижения.
| Поле доказательств | Содержание |
|---|---|
| sbomDigest | SHA-256 SBOM, созданного для этого дайджеста |
| scanVerdict | Результат оценки политики «пройден/не пройден» со ссылками на доказательства |
| reachabilityProof | CAS URI подписанного графа достижимости для этого дайджеста |
| policyHash | Хэш версии политики, используемой для оценки |
Детерминированное воспроизведение: Учитывая тот же выпуск и хеш политики, повторная оценка выдает побитово-идентичные вердикты. Аудиторы могут проверить решения спустя несколько месяцев.
Установите Stella Ops и начните управлять версиями выпусков по хэшу контента с полной привязкой доказательств.