إدارة الإصدارات: digest أولاً

هوية الإصدار غير القابلة للتغيير حسب المحتوى التجزئة

الإصدار عبارة عن مجموعة من OCI الـ digests التي تم حلها في وقت الإنشاء. العلامات هي أسماء مستعارة يمكن قراءتها بواسطة الإنسان؛ الـ digests هي حقيقة مشفرة.

ما يعنيه هذا لعملك

ضمان أن ما اختبرته هو بالضبط ما تنشره — بايت ببايت. تزيل هاشات المحتوى غير القابلة للتغيير انحراف العلامات وتمنح المدققين تحققًا من النشر مقاومًا للتلاعب.

لماذا الملخص الأول؟

العلامات القابلة للتغيير تخلق الغموض. يمكن أن تشير نفس العلامة إلى محتوى مختلف بمرور الوقت. يزيل إدارة الإصدارات: digest أولاً حالة عدم اليقين هذه.

الهوية غير القابلة للتغيير

تضمن ملخصات SHA-256 أن العنصر الذي يتم الترقية له مطابق للبايت للعنصر الذي تم مسحه ضوئيًا والموافقة عليه.

اكتشاف العبث

أي تعديل على القطعة الأثرية يغير ملخصها. عدم تطابق وقت السحب = فشل النشر. من المستحيل إخفاء التلاعب.

مسار التدقيق

اعرف بالضبط أي قطعة أثرية تم نشرها أين ومتى ولماذا - مع إثبات التشفير الذي يربط بين الفحص والموافقة والموافقة النشر.

تراجع مفيد

يعود التراجع إلى الـ digests الدقيقة المعروفة، وليس "أيًا كان: أحدث النقاط حتى الآن". نفس البايتات، مضمونة.

هيكل الإصدار

يحتوي الإصدار في Stella على عدة مكونات، يتم تحديد كل منها من خلال ملخص OCI الخاص به. يحتوي الإصدار نفسه على نسخة دلالية لسهولة القراءة البشرية.

مثال لحزمة الإصدار

Release: 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 على الفور بحل جميع العلامات إلى ملخصاتها الحالية. منذ تلك اللحظة، أصبح الإصدار ثابتًا.

  • يتم حل علامات مثل:v2.3.1 إلى sha256:abc123... في وقت الإنشاء
  • إذا دفع شخص ما صورة جديدة إلى نفس العلامة، فإن إصدارك هو غير متأثرة
  • تستخدم استعلامات التسجيل دائمًا @sha256: بناء جملة الملخص — لا توجد إعادة دقة للعلامات

ضمان الثبات

بمجرد إنشاء إصدار، لا يمكن تغيير مجموعة الـ digests الخاصة به. سيتم نشر نفس البايتات بالضبط في كل بيئة، في كل مرة.

العناصر المولدة

يُنشئ كل عملية نشر عناصر غير قابلة للتغيير تتيح إمكانية التكرار والتدقيق والتراجع.

compose.stella.lock.yml

Docker Compose مع تثبيت جميع مراجع الصور في ملخصات محددة. يتضمن Stella تسميات البيانات التعريفية لإمكانية التتبع.

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

labels:

stella.release.id: "rel-uuid"

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

stella.version.json

تم وضع ملف بيانات تعريف JSON على أهداف النشر مما يشير إلى الإصدار الحالي، والمكونات، وإستراتيجية النشر، والإصدار السابق للتراجع.

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

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

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

"signature": "base64-encoded-signature"

تجليد الأدلة

يربط كل إصدار الأدلة الأمنية بالـ digests الدقيقة التي يتم نشرها. تنتقل الأدلة مع الإصدار من خلال الترقية.

حقل الدليلالمحتوى
sbomDigestSHA-256 من SBOMقائمة مواد البرمجيات - قائمة كاملة بجميع الحزم والتبعيات في برنامجك الذي تم إنشاؤه لهذا الملخص
scanVerdictنجاح/فشل نتيجة تقييم السياسة مع مراجع الأدلة
reachabilityProofCAS URI للرسم البياني لقابلية الوصول الموقع لهذا الملخص
policyHashتجزئة إصدار السياسة المستخدم للتقييم

إعادة التشغيل الحتمية: نظرًا لنفس الإصدار و في حالة تجزئة السياسة، فإن إعادة التقييم تنتج أحكامًا متطابقة بعض الشيء. يمكن للمدققين التحقق من القرارات بعد أشهر.

هل أنت جاهز لهوية الإصدار غير القابلة للتغيير؟

تثبيت Stella Ops وبدء إصدار الإصدارات عن طريق تجزئة المحتوى مع ربط الدليل الكامل.