الهوية غير القابلة للتغيير
تضمن ملخصات SHA-256 أن العنصر الذي يتم الترقية له مطابق للبايت للعنصر الذي تم مسحه ضوئيًا والموافقة عليه.
إدارة الإصدارات: 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 على الفور بحل جميع العلامات إلى ملخصاتها الحالية. منذ تلك اللحظة، أصبح الإصدار ثابتًا.
ضمان الثبات
بمجرد إنشاء إصدار، لا يمكن تغيير مجموعة الـ digests الخاصة به. سيتم نشر نفس البايتات بالضبط في كل بيئة، في كل مرة.
يُنشئ كل عملية نشر عناصر غير قابلة للتغيير تتيح إمكانية التكرار والتدقيق والتراجع.
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"
يربط كل إصدار الأدلة الأمنية بالـ digests الدقيقة التي يتم نشرها. تنتقل الأدلة مع الإصدار من خلال الترقية.
| حقل الدليل | المحتوى |
|---|---|
| sbomDigest | SHA-256 من SBOMقائمة مواد البرمجيات - قائمة كاملة بجميع الحزم والتبعيات في برنامجك الذي تم إنشاؤه لهذا الملخص |
| scanVerdict | نجاح/فشل نتيجة تقييم السياسة مع مراجع الأدلة |
| reachabilityProof | CAS URI للرسم البياني لقابلية الوصول الموقع لهذا الملخص |
| policyHash | تجزئة إصدار السياسة المستخدم للتقييم |
إعادة التشغيل الحتمية: نظرًا لنفس الإصدار و في حالة تجزئة السياسة، فإن إعادة التقييم تنتج أحكامًا متطابقة بعض الشيء. يمكن للمدققين التحقق من القرارات بعد أشهر.
تثبيت Stella Ops وبدء إصدار الإصدارات عن طريق تجزئة المحتوى مع ربط الدليل الكامل.