Versionado digest-first

Identidad de publicación inmutable por hash de contenido

Una versión es un paquete de digests OCI resuelto en el momento de la creación. Las etiquetas son alias legibles por humanos; los digests son la verdad criptográfica.

Lo que esto significa para su negocio

Garantice que lo que probó es exactamente lo que despliega — byte por byte. Los hashes de contenido inmutables eliminan la deriva de tags y dan a los auditores una verificación de despliegue a prueba de manipulaciones.

¿Por qué digest-first?

Las etiquetas mutables crean ambigüedad. La misma etiqueta puede apuntar a contenido diferente con el tiempo. El enfoque digest-first elimina esta incertidumbre.

Identidad inmutable

Los digests SHA-256 garantizan que el artefacto promocionado sea idéntico, byte a byte, al artefacto escaneado y aprobado.

Detección de manipulaciones

Cualquier modificación al artefacto cambia su digest. Discrepancia en el momento del pull = error de despliegue. La manipulación es imposible de ocultar.

Pista de auditoría

Sabe exactamente qué artefacto se desplegó, dónde, cuándo y por qué, con prueba criptográfica que vincula el escaneo, la aprobación y el despliegue.

Rollback significativo

El rollback vuelve a digests exactos conocidos, no a «lo que sea que :latest apunte ahora». Mismos bytes, garantizado.

Estructura de lanzamiento

Una versión en Stella incluye varios componentes, cada uno identificado por su digest OCI. La versión en sí tiene una versión semántica para legibilidad humana.

Paquete de versión de ejemplo

Release: myapp-v2.3.1

Componentes:

api: sha256:abc123...

worker: sha256:def456...

frontend: sha256:789ghi...

Crea y administra versiones desde la CLI

Terminal
$ 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

Resolución de etiqueta a digest

Cuando creas una versión, Stella resuelve inmediatamente todas las etiquetas a sus digests actuales. A partir de ese momento, la versión es inmutable.

  • Las etiquetas como :v2.3.1 se resuelven a sha256:abc123... en el momento de la creación
  • Si alguien publica una nueva imagen en la misma etiqueta, tu release no se ve afectado
  • Las consultas al registro siempre usan la sintaxis @sha256:digest: sin re-resolver etiquetas

Garantía de inmutabilidad

Una vez creada una versión, su conjunto de digests no puede cambiar. Se desplegarán exactamente los mismos bytes en todos los entornos, en todo momento.

Artefactos generados

Cada despliegue genera artefactos inmutables que permiten reproducibilidad, auditoría y rollback.

compose.stella.lock.yml

Docker Compose con todas las referencias de imágenes fijadas a digests específicos. Incluye etiquetas de metadatos Stella para trazabilidad.

image: registry.example.com/myapp/api@sha256:abc123...

labels:

stella.release.id: "rel-uuid"

stella.digest: "sha256:abc123..."

stella.version.json

Archivo de metadatos JSON colocado en los objetivos de despliegue que indica la versión actual, los componentes, la estrategia de despliegue y la versión anterior para rollback.

"release": { "name": "myapp-v2.3.1" }

"deployment": { "strategy": "rolling" }

"previous": { "digest": "sha256:789..." }

"signature": "base64-encoded-signature"

Enlace de evidencia

Cada versión vincula la evidencia de seguridad a los digests exactos que se despliegan. La evidencia viaja con el lanzamiento a través de la promoción.

Campo de evidenciaContenido
sbomDigestSHA-256 del SBOMSoftware Bill of Materials – una lista completa de todos los paquetes y dependencias de su software generado para este digest
scanVerdictResultado de aprobación/rechazo de la evaluación de políticas con referencias de evidencia
reachabilityProofURI CAS del grafo de alcanzabilidad firmado para este digest
policyHashHash de la versión de la política utilizada para la evaluación

Reproducción determinista: dada la misma versión y el mismo hash de política, la reevaluación produce veredictos idénticos bit a bit. Los auditores pueden verificar decisiones meses después.

¿Listo para una identidad de lanzamiento inmutable?

Instala Stella Ops y empieza a versionar por hash de contenido, con enlace de evidencia completo.