منصوبے کے بارے میں

netbox-ceph ایک NetBox پلگین ہے جو netbox-proxbox کا ہم شکل ہے۔ یہ proxbox-api کے ذریعے Proxmox-managed Ceph انوینٹری کی mirroring کرتا ہے اور netbox-proxbox کے بیک اینڈ سیاق و سباق، برانچ لائف سائیکل، اینڈ پوائنٹ تعلقات اور جاب کنونشنز کو دوبارہ استعمال کرتا ہے۔ اس کا v1 reflected inventory جان بوجھ کر read-only رکھا گیا ہے۔ Reflected inventory (v1) یہ پلگین clusters, daemons, OSDs, pools, filesystems, CRUSH rules, flags, health checks, پلگین سیٹنگز، اور read-only RGW/S3 اور RBD reflected inventory فراہم کرتا ہے۔ سنک (Syncs) کو POST /api/plugins/ceph/clusters/{id}/sync/ کے ذریعے بھیجا جاتا ہے، جو 7200 سیکنڈ کے ٹائم آؤٹ کے ساتھ ایک CephSyncJob کو لائن میں لگاتا ہے۔ ایک resources پیرامیٹر لسٹ یا کومہ سے الگ شدہ سٹرنگ کے طور پر پاس کیا جا سکتا ہے، جیسے کہ ["pools", "osds"]; اسے چھوڑنے پر ڈیفالٹ مکمل سنک چلتا ہے۔ کیو (Queued) رنز NetBox کے کور Jobs UI میں ظاہر ہوتے ہیں۔ Desired-state control plane (v2) Ceph v2 ایک علیحدہ گیٹڈ desired-state پلین شامل کرتا ہے: ناقابل تبدیل endpoint-and-configuration-revision-bound پلانز، توثیقی نتائج، دو افراد کی منظوری کے آڈٹ ریکارڈز، apply/recovery رنز، drift ریکارڈز، میٹرک اسنیپ شاٹس، اور ایک typed proxbox-api کلائنٹ۔ ایک خام approval token صرف منظوری کے جواب اور اس کے فوراً بعد آنے والی apply درخواست کے درمیان موجود ہوتا ہے؛ اسے NetBox کے ذریعے کبھی اسٹور، لاگ، سیریلائز یا رینڈر نہیں کیا جاتا۔ Desired-state ماڈلز آپریٹرز کو pools, CephFS, RBD اور RGW/S3 کے لیے NetBox-first ارادہ (intent) ظاہر کرنے کی اجازت دیتے ہیں — جس میں سائز، autoscale، CRUSH rule، ایپلی کیشن، کوٹہ، کمپریشن، CephFS میٹا ڈیٹا/ڈیٹا پولز، MDS پلیسمنٹ، RBD امیج لے آؤٹ/فیچرز، RBD اسنیپ شاٹ پروٹیکشن، RGW ٹوپولوجی، S3 صارفین اور بکٹس شامل ہیں۔ یہ NetBox کے زیر انتظام ارادے کے ریکارڈز کے طور پر مفید رہتے ہیں۔ سخت proxbox-ceph-v2-2026-07 رائٹر فی الحال صرف pool اور CephFS rows کو میوٹیشنز پیدا کرنے کی اجازت دیتا ہے۔ ہر سپورٹڈ row کے لیے ایک درست execution_node درکار ہوتا ہے؛ pool پے لوڈز proxbox-api issue #258 کے ذریعے قبول کیے گئے فیلڈز تک محدود ہیں، اور CephFS کی تخلیق pg_num اور add_storage تک محدود ہے۔ RBD اور RGW/S3 ارادہ براؤز کیا جا سکتا ہے لیکن جان بوجھ کر اس میں Generate operation ایکشن نہیں ہے جب تک کہ رائٹر سپورٹ موجود نہ ہو۔ Approval flow and permissions درخواست گزار کے پاس کسٹم request اور apply اجازتیں ہونی چاہئیں؛ پھر approve اجازت رکھنے والا ایک مختلف اداکار آرکسٹریٹر کے ذریعے ایک واحد Approve & apply ایکشن انجام دیتا ہے۔ Migration 0007_ceph_plan_bound_approvals پرانی اتھارٹی کو ختم کرتا ہے، endpoint/provider/node/configuration اسنیپ شاٹس شامل کرتا ہے، ختم ہونے والی approval-issuance لیزز بناتا ہے، اور فی منظوری ایک مقامی رن کو نافذ کرتا ہے۔ Installation pip install netbox-ceph کے ذریعے انسٹال کریں، configuration.py میں PLUGINS میں "netbox_proxbox" اور "netbox_ceph" دونوں شامل کریں، پھر معمول کے مطابق NetBox migrations چلائیں۔ Scope and safety notes v1 کے دائرہ کار سے باہر: براہ راست Ceph Dashboard API انٹیگریشن، Prometheus میٹرک انجسٹن، بیرونی non-Proxmox Ceph کلسٹرز، اور reflected inventory کے لیے NetBox-to-Ceph رائٹ آپریشنز۔ کوئی شیل یا براہ راست Proxmox API فال بیک موجود نہیں ہے۔ تجویز کردہ رول آؤٹ: پہلے میچنگ بیک اینڈ کنٹریکٹ کو تعینات کریں، NetBox کا بیک اپ لیں، مائگریٹ کریں، سوچ سمجھ کر request/apply/approve اجازتیں دیں، لیگیسی سپورٹڈ ارادے پر درست execution nodes پاپولیٹ کریں، اور اسٹیجنگ میں مکمل فلو کی تصدیق کریں؛ تمام Proxmox اینڈ پوائنٹ allow_writes جھنڈوں کو اس وقت تک غیر فعال رکھیں جب تک کہ وہ گیٹس اور مستند actor-header گیٹ وے کنٹرول مکمل نہ ہو جائیں۔ Compatibility and project status ریپوزٹری میں Apache-2.0 لائسنسنگ، PyPI میٹا ڈیٹا، ہم آہنگی میٹا ڈیٹا، GitHub Actions CI، ریلیز ویلیڈیشن، دستاویزات کی اشاعت، اور NetBox v4.6.4 کے لیے اسکرین شاٹ کیپچر اور پیج کوریج ورک فلو شامل ہیں۔ Digest-pinned Docker انسٹال اسموک آفیشل NetBox v4.7.0 GA کو کور کرتا ہے، اور exact-source انٹیگریشن ٹیسٹ بیک ورڈ کمپیٹیبل v4.5.8 سے v4.6.6 رینج کو کور کرتے ہیں۔ NetBox v4.7.0 GA میٹا ڈیٹا کو ہم آہنگی کی وارننگ کے بغیر GA کی بنیاد پر قبول کیا گیا ہے، جبکہ 4.7.1 اور اس کے بعد کے ورژن fail closed ہو جاتے ہیں؛ CI GA سورس ریویژن 5f06007e4c9bacc93ce17c1e645fc1143d60df3d کو پن کرتا ہے۔ مکمل دستاویزات پروجیکٹ کی ڈاکومنٹیشن سائٹ پر شائع ہیں، ماڈل اور فیلڈ ریفرنسز docs/models.md میں ہیں، ورژن ٹیبل COMPATIBILITY.md میں ہے، سرٹیفیکیشن کے شواہد CERTIFICATION.md میں ٹریک کیے جاتے ہیں، اور بگز اور فیچر درخواستوں کو GitHub Issues کے ذریعے سنبھالا جاتا ہے۔