تخطَّ إلى المحتوى
اختر لغة:العربية

حزمة الاسترداد

يختم Kept كل قيمة سرية يحفظها (مفاتيح الذكاء الاصطناعي، والأسرار التي تحفظها على الأشياء ككلمة مرور شبكة Wi-Fi في الموجّه) بالمفتاح KEPT_SECRET_KEY، ويوقّع الجلسات بالمفتاح KEPT_AUTH_SECRET. ولا يوجد أيٌّ منهما في قاعدة البيانات ولا في النسخة الاحتياطية، عن قصد: مَن يصل إلى نسختك الاحتياطية لا ينبغي أن يصل إلى أسرارك معها. والوجه الآخر لذلك: بلا المفتاح، تعيد الاستعادة كل شيء ما عدا القيم السرية ومفاتيح الذكاء الاصطناعي، فتبقى غير مقروءة إلى الأبد.

حزمة الاسترداد هي كل ما تحتاجه لإعادة بناء Kept من نسخته الاحتياطية. احفظها في مدير كلمات مرور أو على الورق، في مكان لا يضيع مع الخادم.

  • ‏KEPT_SECRET_KEY وKEPT_AUTH_SECRET؛
  • وبعد تدوير المفتاح، رقم إصداره (KEPT_SECRET_KEY_VERSION) وكل مفتاح متقاعد (KEPT_SECRET_KEYS_RETIRED)، إذ تحتاجها النسخ الاحتياطية الأقدم؛
  • مستودع restic للنسخ الاحتياطي، وكلمة مروره، وبيانات دخول التخزين (مفتاحا S3، أو مفتاح SFTP ومفتاح المضيف المثبَّت)، أو «لا نسخ احتياطي مُعَدّ»؛
  • عنوان النسخة، وإصدار Kept، ووقت إنشاء الحزمة؛
  • خطوات الاستعادة بكلمات واضحة، وأوامر قراءة جردك باستخدام restic وحده وقد مُلئ فيها المستودع.

من الخادم، في أي وقت:

نافذة طرفيّة
docker compose exec kept kept admin recovery-kit

تُطبع في الطرفية، ولا يُكتب شيء في أي مكان. الخيار --format html يعطي صفحة للطباعة، و--out <file> يكتبها في ملف لا يقرؤه غيرك. تُطبع المفاتيح حتى إن توقفت قاعدة البيانات؛ أما نصف النسخ الاحتياطي فيحتاج إلى حساب مالك قاعدة البيانات (KEPT_OWNER_DATABASE_URL)، وبدونه تقول الحزمة إنه ناقص. ومع هذا الحساب تُحسب الطباعة تنزيلًا وتُسجَّل في سجل التدقيق.

ومن الويب: الإدارة ← الحالة ← حقيبة الاسترداد ← تنزيل حقيبة الاسترداد، نصًّا أو صفحةً للطباعة، لمدير النسخة، عبر HTTPS فقط، بعد إدخال كلمة مرورك مجددًا (أو، للحساب الذي لا كلمة مرور له، خلال عشر دقائق من تسجيل الدخول). يُسجَّل كل تنزيل في سجل التدقيق، ولا يُحفظ شيء من الحزمة في مكان يستطيع زائر لاحق فتحه.

لا ينتظر الإعدادُ الحزمةَ، لكن Kept يطلب إقرارك بها قبل أول ما يلي: حفظ قيمة سرية، أو إضافة مفتاح ذكاء اصطناعي، أو إعداد النسخ الاحتياطي. وحتى ذلك الحين تطلبها صفحة الإدارة ← الحالة، ويُحسب التنزيل إقرارًا. وتعود الصفحة لتطلبها حين تصبح الحزمة التي نزّلتها قديمة: بعد تغيير إعدادات النسخ الاحتياطي أو تدوير المفتاح.

إن وضعت KEPT_SECRET_KEY وKEPT_AUTH_SECRET في بيئتك (ولّد كلًّا منهما بالأمر kept admin gen-key)، يستخدمهما Kept كما هما ويبقى مجلد kept-config فارغًا. وما زالت الحزمة تطبعهما، وما زال حفظ نسخة منهما مسؤوليتك.

نافذة طرفيّة
docker compose exec kept kept admin rotate-key

يجعل مفتاحًا جديدًا هو الحالي ويعيد تغليف كل سر محفوظ به. ويحتاج إلى حساب مالك قاعدة البيانات، فيجب أن تملك خدمة kept المتغير KEPT_OWNER_DATABASE_URL (يعطيها إياه compose.override.yaml الذي يستخدمه النسخ الاحتياطي). ويقول لك ما تضبطه إن كنت تدير المفاتيح بنفسك. وينتقل المفتاح القديم إلى قائمة المتقاعدة كي تُفتح النسخ الأقدم من التدوير: نزّل حزمة جديدة بعد ذلك.