التثبيت بالبصمة الرقمية
وسم مثل :latest يمكن أن يتحرّك. أمّا البصمة فلا تتحرّك. التثبيت ببصمة sha256 يعني أن الأداة التي تُشغّلها هي بالضبط تلك التي اجتازت بوابة صفر الثغرات (0-CVE) وجرى توقيعها، دون أي احتمال لانزلاق وسم من تحتك.
المخططات تفعل ذلك أصلًا
يشير كل مخطط إلى صورته بالبصمة في values.yaml، لا بوسم، فتحصل على التثبيت بالبصمة افتراضيًا:
image: repository: ghcr.io/quenchworks/images/redis digest: "sha256:38a0c67..."عندما يعيد المصنع بناء صورة، يحدّث عقدُ بصمة المخططَ إلى البصمة الموقّعة الجديدة ويعيد إصداره، فيبقى التثبيت محدّثًا دون أن تلاحق الوسوم.
العثور على بصمة
حُلّ وسمًا إلى بصمته باستخدام crane، أو اقرأها من صفحة الكتالوج:
crane digest ghcr.io/quenchworks/images/redis:8.8.0# sha256:38a0c67...تثبيت نشرك الخاص بالبصمة
إذا شغّلت صورة مباشرة، حُلّ الوسم إلى بصمة مرة واحدة، ثم أشِر إلى تلك البصمة. هذا يعمل كما هو:
DIGEST=$(crane digest ghcr.io/quenchworks/images/redis:8.8.0)docker pull ghcr.io/quenchworks/images/redis@$DIGESTلتثبيت مخطط على بناء صورة معيّن، تجاوز البصمة عند التثبيت:
helm install my-redis oci://ghcr.io/quenchworks/charts/redis \ --set image.digest="$DIGEST"ثم تحقّق من تلك البصمة قبل أن تطرحها.