انتقل إلى المحتوى الرئيسي انتقل إلى الملاحة انتقل إلى التذييل

الاشتراك والترخيص

فهم كيفية تعامل الحساب وrdc وrenet مع فتحات الأجهزة وتراخيص المستودعات وحدود الخطة.

الاشتراك والترخيص

ينقسم ترخيص Rediacc إلى ثلاثة أجزاء متحركة:

  • account يُوقّع الاستحقاقات ويتتبع الاستخدام
  • rdc يُصادق، ويطلب التراخيص، ويُسلّمها إلى الأجهزة، ويُطبّقها أثناء التشغيل
  • renet (وقت التشغيل على الجهاز) يتحقق من التراخيص المثبتة محلياً دون الاتصال بخادم الحساب

تشرح هذه الصفحة كيفية تلاؤم هذه الأجزاء معاً لعمليات النشر المحلية.

ما الذي يفعله الترخيص

يتحكم الترخيص في أمرين مختلفين:

  • محاسبة الوصول إلى الأجهزة من خلال التراخيص العائمة
  • تفويض وقت تشغيل المستودع من خلال تراخيص المستودع

هذان مرتبطان، لكنهما ليسا نفس العنصر.

كيف يعمل الترخيص

account هو مصدر الحقيقة للخطط وتجاوزات العقود وحالة فتحات الأجهزة وإصدارات تراخيص المستودع الشهرية.

rdc يعمل على محطة العمل الخاصة بك. يُسجّل دخولك إلى خادم الحساب، ويطلب التراخيص التي يحتاجها، ويثبّتها على الأجهزة البعيدة عبر SSH. عند تشغيل أمر مستودع، يضمن rdc وجود التراخيص المطلوبة ويتحقق منها على الجهاز أثناء التشغيل.

يبدو التدفق الطبيعي كما يلي:

  1. تُصادق باستخدام rdc subscription login
  2. تُشغّل أمر مستودع مثل rdc repo create أو rdc repo up أو rdc repo down
  3. إذا كان الترخيص المطلوب مفقوداً أو منتهي الصلاحية، يطلبه rdc من account
  4. يكتب rdc الترخيص الموقَّع على الجهاز
  5. يُتحقق من الترخيص محلياً على الجهاز وتستمر العملية

راجع rdc vs renet للتعرف على تقسيم محطة العمل مقابل الخادم، والمستودعات لدورة حياة المستودع نفسها.

للأتمتة ووكلاء الذكاء الاصطناعي، استخدم رمز اشتراك محدد النطاق بدلاً من تسجيل الدخول عبر المتصفح:

rdc subscription login --token "$REDIACC_TOKEN"

يمكنك أيضاً حقن الرمز مباشرةً عبر البيئة حتى يتمكن CLI من إصدار وتجديد تراخيص المستودع دون أي خطوة تسجيل دخول تفاعلية:

export REDIACC_TOKEN="rdt_..."
export REDIACC_ACCOUNT_SERVER="https://www.rediacc.com/account"

فتحات الأجهزة وتراخيص المستودع

فتحات الأجهزة (من جانب الخادم)

يتم فرض تتبع فتحات الأجهزة من جانب الخادم. عندما يُصدر CLI ترخيص مستودع، يتحقق خادم الحساب من حصة فتحات الأجهزة للاشتراك. تتضمن كل خطة ذاتية الخدمة (Community وProfessional وBusiness) فتحة جهاز واحدة؛ أما عمليات النشر متعددة الأجهزة فهي إعداد Enterprise يُحدَّد حجمه مع شركائنا. تُحتفظ بالفتحة لمدة 5 ساعات من آخر إصدار ترخيص مستودع على ذلك الجهاز وتُحرَّر تلقائياً بعد الخمول. ولأن الفتحة لا تُحتفظ بها إلا أثناء التوفير النشط، يمكن للفتحة الواحدة أن تغطي عدة أجهزة على مدار الشهر.

لا توجد ملف ترخيص جهاز مخزّن على الجهاز. يحدث فرض الفتحة في وقت الإصدار على الخادم.

ترخيص المستودع

ترخيص المستودع هو ترخيص موقَّع لمستودع واحد على جهاز واحد. هو ملف الترخيص الوحيد المخزَّن على الجهاز، ومنظَّم لكل مفتاح توقيع:

/var/lib/rediacc/license/repos/{guid}/{keyId}.json

{keyId} هي بصمة سداسية عشرية من 16 خانة (أول 8 بايتات من SHA-256 لمفتاح Ed25519 العام لخادم التوقيع). المستودع المُدار من أكثر من كون حساب واحد (مثل الإنتاج وbench اللذين يُنشران على نفس الجهاز) يحتفظ بملف واحد لكل مفتاح توقيع ضمن دليل {guid} الخاص به. تُصادق نسخة renet الخاصة بالجهاز فقط على الملف الذي يستطيع مفتاحها المدمج، أو شهادة تفويض متسلسلة إليه، التحقق منه؛ ملفات الأكوان الأخرى خاملة. التبديل بين الأكوان لا يُبطل التراخيص أبداً: تُصدر أول عملية في كون جديد ترخيص ذلك الكون مرةً واحدة (نتيجة missing تُصدر تلقائياً)، ويتعايش الاثنان بعد ذلك.

يُستخدم من أجل:

  • rdc repo create وrdc repo fork، يُتحقق قبل التوفير (مُصدَّر مسبقاً بدون إثباتات الهوية، ثم يُعاد إصداره مع إثباتات الهوية بعد الإنشاء)
  • rdc repo resize وrdc repo expand، تحقق كامل بما في ذلك انتهاء الصلاحية
  • rdc repo up وrdc repo down وrdc repo delete، يُتحقق مع تخطي انتهاء الصلاحية
  • rdc repo push وrdc repo pull وrdc repo sync، يُتحقق بالكامل بما في ذلك انتهاء الصلاحية: نقل النسخ الاحتياطية يتطلب استحقاقاً نشطاً
  • البدء التلقائي للمستودع عند إعادة تشغيل الجهاز، يُتحقق مع تخطي انتهاء الصلاحية

تراخيص المستودع مرتبطة بالجهاز والمستودع المستهدف. كل ترخيص يحتوي على معرّف الجهاز ومعرّف GUID للمستودع ومعرّف الاشتراك وحدود الخطة وانتهاء الصلاحية. بالنسبة للمستودعات المشفرة، يتحقق Rediacc أيضاً من هوية LUKS للحجم الأساسي.

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

الحدود الافتراضية

يعتمد حجم المستودع على مستوى الاستحقاق:

  • Community: حتى 10 GB
  • الخطط المدفوعة: حد الخطة أو العقد

الحدود الافتراضية للخطط المدفوعة:

الخطةالتراخيص العائمةحجم المستودعإصدارات تراخيص المستودع الشهريةالافتراضي/الحد الأقصى لشهادة التفويض
Community110 GB10015d / 30d
Professional1100 GB2,000+60d / 120d
Business1500 GB5,000+90d / 180d
Enterpriseمخصص1 TB+15,000+120d / 365d

يمكن للحدود المحددة في العقد رفع هذه القيم أو خفضها لعميل محدد. كذلك تخضع صلاحية شهادة التفويض لحد أقصى صارم هو subscription.expiresAt + 3 day grace، مما يجعل الاشتراكات المدفوعة شهرياً تحصل تلقائياً على شهادات متوافقة مع دورة فوترتها. راجع سلسلة الترخيص والتفويض - سياسة الصلاحية للاطلاع على القواعد الكاملة.

الفترة التجريبية المجانية والعودة إلى Community

تبدأ الحسابات الجديدة بفترة تجريبية مجانية مدتها 14 يوماً على خطة Professional أو Business. يُطلَب رقم بطاقة ائتمان عند التسجيل، ولا يُخصم أول مبلغ إلا عند انتهاء الفترة التجريبية، لذا فإن الإلغاء قبل ذلك لا يُكلّف شيئاً. تتوفر فترة تجريبية واحدة لكل عميل.

Community هي الحد الأدنى المجاني الدائم. لم تعد خيار تسجيل مباشر للحسابات الجديدة؛ بدلاً من ذلك، ينتقل الحساب إلى Community كلما انتهى الاشتراك: سواء بالإلغاء أثناء الفترة التجريبية، أو إلغاء خطة مدفوعة لاحقاً، أو فشل عملية دفع. في وضع العودة إلى Community، تحتفظ بجهاز واحد و10 GB لكل مستودع و100 عملية إعداد شهرياً. الحسابات التي أُنشئت قبل إطلاق النموذج القائم على الفترة التجريبية تحتفظ بوصولها الحالي إلى Community.

يبقى التطبيق مرناً حيث يهم ذلك أكثر: تستمر المستودعات قيد التشغيل في العمل حتى بعد انتهاء الاشتراك (up وdown وdelete والبدء التلقائي). أما الأعمال الجديدة (الإنشاء والتفريع وتغيير الحجم وتجديد الترخيص) ونقل النسخ الاحتياطية (push وpull وsync) فتخضع لاستحقاق نشط.

فترة السماح للهجرة الافتراضية

عندما تهاجر شركة الاستضافة جهازاً افتراضياً إلى أجهزة فيزيائية مختلفة، يتغير معرّف الجهاز (يُشتق من معرّفات الأجهزة مثل DMI UUID و/etc/machine-id وعناوين MAC بطاقات الشبكة). تراخيص المستودع مرتبطة بمعرّف الجهاز، لذا ستؤدي الهجرة عادةً إلى إبطال جميع التراخيص.

للتعامل مع هذا بشفافية، تشمل تراخيص المستودع فترة سماح 40 يوماً لمعرّف الجهاز. إذا لم يتطابق معرّف الجهاز لكن الترخيص صُدِر منذ أقل من 40 يوماً، فإن الترخيص لا يزال مقبولاً. بما أن التراخيص تُنعّش كل 30 يوماً، يربط التنعيش التالي تلقائياً بمعرّف الجهاز الجديد.

عملياً:

  • تم هجرة الجهاز الافتراضي، تغير معرّف الجهاز: تستمر المستودعات في العمل (ضمن نافذة 40 يوماً)
  • يُنعّش عملية rdc التالية الترخيص مع معرّف الجهاز الجديد
  • لا تُتطلب أي تدخل يدوي
  • تحقق من معرّف الجهاز وحالة الترخيص باستخدام rdc machine status <machine> --system --licenses

حسابات قناة Edge تعمل على خطة Community بضعف الحدود (مستودعات 20 GB، 200 عملية إعداد/شهر، جهازان). الخطط المدفوعة متاحة فقط على قناة Stable. راجع قنوات الإصدار للتفاصيل.

ما يحدث أثناء إنشاء المستودع وتشغيله وإيقافه وإعادة التشغيل

إنشاء المستودع وتفريعه

عند إنشاء مستودع أو تفريعه:

  1. يضمن rdc توفر رمز الاشتراك الخاص بك (يُطلق مصادقة رمز الجهاز إذا لزم)
  2. يُفعّل rdc رمز ترخيص مستودع مسبق من خادم الحساب (يتحقق الخادم من حصة فتحات الأجهزة وحدود الإصدارات الشهرية في هذه النقطة)
  3. يُكتب ترخيص المستودع المسبق على الجهاز ويُتحقق منه محلياً (التوقيع ومعرّف الجهاز ومعرّف GUID للمستودع وانتهاء الصلاحية وحد الحجم)
  4. بعد الإنشاء الناجح، يُعيد rdc إصدار ترخيص المستودع مع إثباتات هوية المستودع (UUID LUKS أو بصمة التخزين)

يُحتسب هذا الإصدار المدعوم بالحساب ضمن استخدامك الشهري لـإصدارات تراخيص المستودع. يحتوي كل ترخيص على البريد الإلكتروني واسم الشركة لصاحب الحساب، والذي يُسجَّل عند تحقق renet من الترخيص.

تشغيل المستودع وإيقافه وحذفه

يتحقق rdc من ترخيص المستودع المثبت على الجهاز لكنه يتخطى فحص انتهاء الصلاحية. لا يزال يتم التحقق من التوقيع ومعرّف الجهاز ومعرّف GUID للمستودع والهوية. لن يُحرم المستخدمون أبداً من تشغيل مستودعاتهم، حتى مع اشتراك منتهي الصلاحية.

تغيير حجم المستودع وتوسيعه

يُجري rdc تحققاً كاملاً من ترخيص المستودع بما في ذلك انتهاء الصلاحية وحدود الحجم.

إعادة تشغيل الجهاز والبدء التلقائي

يستخدم البدء التلقائي نفس قواعد rdc repo up: يُتخطى انتهاء الصلاحية، لذا تُعيد المستودعات التشغيل دائماً بحرية.

تستخدم تراخيص المستودع نموذج صلاحية طويل الأمد:

  • refreshRecommendedAt هي نقطة التنعيش الناعمة
  • hardExpiresAt هي نقطة الحظر

إذا كان ترخيص المستودع قديماً لكن قبل انتهاء الصلاحية الصعبة، يمكن لوقت التشغيل الاستمرار. بمجرد الوصول إلى انتهاء الصلاحية الصعبة، يجب على rdc تنعيشه لعمليات تغيير الحجم/التوسيع.

عمليات المستودع الأخرى

العمليات مثل سرد المستودعات وفحص معلومات المستودع والتحميل لا تتطلب أي تحقق من الترخيص.

التحقق من الحالة وتجديد التراخيص

تسجيل دخول بشري:

rdc subscription login

تسجيل دخول للأتمتة أو وكيل الذكاء الاصطناعي:

rdc subscription login --token "$REDIACC_TOKEN"

للبيئات غير التفاعلية، يُعدّ ضبط REDIACC_TOKEN أبسط خيار. يجب أن يكون نطاق الرمز محدوداً بعمليات الاشتراك وترخيص المستودع التي يحتاجها الوكيل.

عرض حالة الاشتراك المدعومة بالحساب:

rdc subscription status

عرض تفاصيل تفعيل الجهاز لجهاز واحد:

rdc subscription status -m hostinger

عرض تفاصيل ترخيص المستودع المثبت على جهاز واحد:

rdc subscription status -m hostinger

تنعيش ترخيص مستودع على جهاز:

rdc subscription refresh -m hostinger --repo my-app

يجب أن يُحَل مرجع --repo في تكوين rdc المحلي لديك. المستودع المكتشف على الجهاز لكن المفقود من التكوين المحلي يُرفض: يُبلَّغ عنه كإخفاق ولا يُصنَّف تلقائياً.

عند الاستخدام الأول، يمكن لعملية مستودع أو نسخ احتياطي مرخَّصة لا تجد ترخيص مستودع قابلاً للاستخدام أن تُطلق تفويضاً تلقائياً من الحساب. يطبع CLI عنوان URL للتفويض، ويحاول فتح المتصفح في المحطات التفاعلية، ويُعيد المحاولة مرةً واحدة بعد نجاح التفويض والإصدار.

في البيئات غير التفاعلية، لا ينتظر CLI موافقة المتصفح. بدلاً من ذلك، يطلب منك توفير رمز محدد النطاق باستخدام rdc subscription login --token ... أو REDIACC_TOKEN.

لإعداد الجهاز لأول مرة، راجع إعداد الجهاز.

السلوك في وضع عدم الاتصال وانتهاء الصلاحية

يحدث التحقق من الترخيص محلياً على الجهاز. لا تحتاج البيئة قيد التشغيل إلى اتصال مباشر بخادم الحساب.

هذا يعني:

  • لا تحتاج البيئة قيد التشغيل إلى اتصال حي بالحساب عند كل أمر
  • يمكن لجميع المستودعات دائماً البدء والإيقاف والحذف حتى مع تراخيص منتهية الصلاحية، لن يُحرم المستخدمون أبداً من تشغيل مستودعاتهم الخاصة
  • تتطلب عمليات التوفير (create وfork) ترخيص مستودع مسبق، وتتطلب عمليات النمو (resize وexpand) ترخيص مستودع صالح
  • يجب تنعيش تراخيص المستودع المنتهية الصلاحية حقاً عبر rdc قبل تغيير الحجم/التوسيع
  • تُتحقق توقيعات التراخيص مقابل مفتاح عمومي مُضمَّن، ولا يمكن تعطيل التحقق من التوقيع

سلوك الاسترداد

الاسترداد التلقائي محدود النطاق عمداً:

  • missing: قد يُفوّض rdc وصول الحساب إذا لزم، ويُنعّش تراخيص المستودع دفعةً، ويُعيد المحاولة مرةً واحدة
  • expired: قد يُنعّش rdc تراخيص المستودع دفعةً ويُعيد المحاولة مرةً واحدة
  • machine_mismatch: يفشل بسرعة ويطلب منك إعادة الإصدار من سياق الجهاز الحالي
  • repository_mismatch: يفشل بسرعة ويطلب منك تنعيش تراخيص المستودع صراحةً
  • sequence_regression: يفشل بسرعة كمشكلة سلامة/حالة لترخيص المستودع
  • invalid_signature: يفشل بسرعة كمشكلة سلامة/حالة لترخيص المستودع
  • identity_mismatch: يفشل بسرعة، هوية المستودع لا تتطابق مع الترخيص المثبت
  • cert_expired: يفشل بسرعة في عمليات النمو (create وfork وresize) وفي نقل النسخ الاحتياطي (push وpull)؛ يستمر عمل repo up والتشغيل التلقائي، بما يطابق نموذج انتهاء صلاحية الترخيص المرن. جدِّد شهادة التفويض
  • cert_invalid: يفشل بسرعة، فشلت شهادة التفويض في تحقيق أحد القيود (توقيع مفتاح رئيسي سيئ، أو عدم تطابق الاشتراك/الخطة، أو تجاوز حد الحجم، أو تجاوز التسلسل لـ maxTotalIssuances). أعِد إصدار الشهادة بعد إصلاح الحد الأساسي

حالات الفشل السريع هذه لا تستهلك تلقائياً مكالمات تنعيش أو إصدار مدعومة بالحساب.

شهادات التفويض للتثبيت المحلي

لعمليات النشر المحلية والمعزولة عن الشبكة، يُصدر خادم الحساب الرئيسي شهادة تفويض تُخوّل تثبيتك المحلي بتوقيع التراخيص بمفتاح Ed25519 الخاص به. تُقيّد الشهادة التثبيت المحلي بحدود خطته وتُنشئ سلسلة مقاومة للتلاعب.

نقاط رئيسية لمالكي الاشتراكات:

  • شهادة واحدة نشطة لكل اشتراك. يُطبّق كل تثبيت محلي حصص الأجهزة والشهر على دفتر الحسابات المحلي الخاص به، لذا فإن تعدد التثبيتات سيضاعف الحصة الفعلية دون إمكانية تسوية. العملاء الذين يحتاجون إلى إنتاج + اختبار + DR يجب عليهم شراء اشتراك واحد لكل تثبيت.
  • صلاحية افتراضية حسب المستوى (15d / 60d / 90d / 120d) وحدود قصوى (30d / 120d / 180d / 365d) - راجع جدول الحدود أعلاه.
  • إدارة ذاتية من بوابة العملاء. يمكن لمالكي ومديري المؤسسة إنشاء شهادات التفويض وتنعيشها وإلغاؤها على /account/delegation-certs. الصفحة مرئية لجميع العملاء بغض النظر عن مستوى الخطة - وتختلف فقط الحدود.
  • التنعيش التلقائي مدعوم عبر تمهيد بنقرة واحدة يُصدر رمز api محدد النطاق بـ delegation:renew ليستخدمه التثبيت المحلي في مكالمات التنعيش الرئيسية.
  • التنعيش المعزول عن الشبكة مدعوم عبر بيان طلب تنعيش موقَّع يُنزّله مدير التثبيت المحلي، وينقله غير متصل إلى الخادم الرئيسي، ويُعالجه الخادم الرئيسي لإصدار شهادة جديدة.

راجع تثبيت التثبيت المحلي - الترخيص لعمليات النشر المعزولة للإعداد التشغيلي، وسلسلة الترخيص والتفويض للتصميم التشفيري.

إصدارات تراخيص المستودع الشهرية

يَعدّ هذا المقياس نشاط إصدار ترخيص المستودع المدعوم بالحساب الناجح في شهر التقويم UTC الحالي.

يشمل:

  • إصدار ترخيص المستودع لأول مرة
  • تنعيش ترخيص المستودع الناجح الذي يُعيد ترخيصاً موقَّعاً جديداً

لا يشمل:

  • إدخالات الدُفعة غير المتغيرة
  • محاولات الإصدار الفاشلة
  • المستودعات غير المتتبعة المرفوضة قبل الإصدار

إذا كنت بحاجة إلى عرض الاستخدام وسجل إصدار ترخيص المستودع الأخير للعملاء، استخدم بوابة الحساب. وإذا كنت بحاجة إلى فحص من جانب الجهاز، استخدم rdc subscription status -m وrdc subscription status -m.