عن المشروع

تعد netbox-ceph إضافة شقيقة لـ netbox-proxbox في NetBox. تقوم بمحاكاة مخزون Ceph المدار بواسطة Proxmox من خلال proxbox-api وتعيد استخدام سياق الخلفية، ودورة حياة الفرع، وعلاقات نقاط النهاية، واتفاقيات المهام الخاصة بـ netbox-proxbox. وقد تم تصميم مخزون v1 المنعكس ليكون للقراءة فقط عمداً. المخزون المنعكس (v1) توفر الإضافة بيانات المجموعات (clusters)، والدايمونات (daemons)، وOSDs، والمجمعات (pools)، وأنظمة الملفات، وقواعد CRUSH، والأعلام، وفحوصات الحالة، وإعدادات الإضافة، بالإضافة إلى مخزون منعكس للقراءة فقط لـ RGW/S3 وRBD. يتم إرسال عمليات المزامنة عبر POST /api/plugins/ceph/clusters/{id}/sync/، مما يضع مهمة CephSyncJob في قائمة الانتظار مع مهلة زمنية قدرها 7200 ثانية. يمكن تمرير معلمة resources كقائمة أو سلسلة مفصولة بفاصلة، مثل ["pools", "osds"]؛ وفي حال حذفها، يتم تشغيل المزامنة الكاملة الافتراضية. تظهر عمليات التشغيل المجدولة في واجهة Jobs الأساسية في NetBox. لوحة التحكم في الحالة المطلوبة (v2) تضيف Ceph v2 مستوى منفصل للحالة المطلوبة: خطط مرتبطة بنقطة النهاية ومراجعة التكوين غير قابلة للتغيير، ونتائج التحقق، وسجلات تدقيق موافقة شخصين، وعمليات التطبيق/الاسترداد، وسجلات الانحراف، ولقطات المقاييس، وعميل proxbox-api محدد النوع. يوجد رمز موافقة خام فقط بين استجابة الموافقة وطلب التطبيق الذي يليه مباشرة؛ ولا يتم تخزينه أو تسجيله أو تسلسله أو عرضه بواسطة NetBox. تسمح نماذج الحالة المطلوبة للمشغلين بالتصريح عن النوايا الخاصة بـ NetBox للمجمعات، وCephFS، وRBD وRGW/S3 — بما في ذلك الحجم، والقياس التلقائي، وقاعدة CRUSH، والتطبيق، والحصص، والضغط، ومجمعات بيانات/بيانات وصفية CephFS، وتوزيع MDS، وتخطيط/ميزات صور RBD، وحماية لقطات RBD، وطوبولوجيا RGW، ومستخدمي S3 وحاوياتها. تظل هذه السجلات مفيدة كوثائق نوايا مملوكة لـ NetBox. حالياً، يسمح كاتب proxbox-ceph-v2-2026-07 فقط لصفوف المجمعات وCephFS بتوليد التغييرات. يتطلب كل صف مدعوم عقدة تنفيذ (execution_node) دقيقة؛ وتقتصر حمولات المجمعات على الحقول المقبولة في proxbox-api issue #258، ويقتصر إنشاء CephFS على pg_num وadd_storage. يمكن تصفح نوايا RBD وRGW/S3 ولكنها لا تحتوي عمداً على إجراء عملية Generate حتى يتوفر دعم الكاتب. تدفق الموافقة والأذونات يجب أن يمتلك مقدم الطلب أذونات الطلب والتطبيق المخصصة؛ ثم يقوم طرف آخر يمتلك إذن الموافقة بتنفيذ إجراء "الموافقة والتطبيق" (Approve & apply) عبر المنسق. تقوم الهجرة 0007_ceph_plan_bound_approvals بإلغاء السلطة القديمة، وتضيف لقطات لنقطة النهاية/المزود/العقدة/التكوين، وتنشئ عقود إصدار موافقات منتهية الصلاحية، وتفرض تشغيلاً محلياً واحداً لكل موافقة. التثبيت يتم التثبيت باستخدام pip install netbox-ceph، وإضافة كل من "netbox_proxbox" و"netbox_ceph" إلى PLUGINS في ملف configuration.py، ثم تشغيل عمليات هجرة NetBox كالمعتاد. نطاق وملاحظات السلامة خارج النطاق في v1: التكامل المباشر مع Ceph Dashboard API، واستيعاب مقاييس Prometheus، ومجموعات Ceph الخارجية غير التابعة لـ Proxmox، وعمليات الكتابة من NetBox إلى Ceph للمخزون المنعكس. لا يوجد بديل لـ shell أو API Proxmox مباشر. النشر الموصى به: نشر عقد الخلفية المطابق أولاً، والنسخ الاحتياطي لـ NetBox، وإجراء الهجرة، ومنح أذونات الطلب/التطبيق/الموافقة بحذر، وتحديد عقد التنفيذ الدقيقة للنوايا المدعومة القديمة، والتحقق من التدفق الكامل في بيئة الاختبار؛ مع إبقاء جميع أعلام allow_writes لنقاط نهاية Proxmox معطلة حتى تكتمل تلك البوابات والتحكم في بوابة ترويسة الجهة الفاعلة الموثقة. التوافق وحالة المشروع يتضمن المستودع ترخيص Apache-2.0، وبيانات PyPI الوصفية، وبيانات التوافق، وGitHub Actions CI، والتحقق من الإصدار، ونشر الوثائق، وسير عمل التقاط لقطات الشاشة وتغطية الصفحات لـ NetBox v4.6.4. يغطي اختبار التشغيل لـ Docker المثبت والمثبت بـ Digest إصدار NetBox v4.7.0 GA الرسمي، وتغطي اختبارات التكامل المصدرية الدقيقة النطاق المتوافق مع الإصدارات من v4.5.8 إلى v4.6.6. يتم قبول بيانات NetBox v4.7.0 GA على أساس GA بدون تحذير توافق، بينما تفشل الإصدارات 4.7.1 وما بعدها؛ حيث يتم تثبيت CI على مراجعة المصدر GA 5f06007e4c9bacc93ce17c1e645fc1143d60df3d. يتم نشر الوثائق الكاملة في موقع وثائق المشروع، وتوجد مراجع النماذج والحقول في docs/models.md، وجدول الإصدارات في COMPATIBILITY.md، وأدلة الاعتماد في CERTIFICATION.md، ويتم التعامل مع الأخطاء وطلبات الميزات عبر GitHub Issues.