NebulaCR: انٹرپرائز OCI رجسٹری، مشاہدہ، اور سمجھوتہ کے بغیر تعمیل
آرکیٹیکچر، زیرو ٹرسٹ تصنیف، مشاہداتی، اور Kubernetes آپریشنز
ایگزیکٹو خلاصہ
NebulaCR ایک اوپن سورس، کلاؤڈ مقامی ہے۔ OCI کنٹینر رجسٹری زنگ میں لکھا ہوا یہ ایک معیار کے مطابق جوڑتا ہے۔ نیبولا رجسٹری خدمت (پورٹ 5000) ایک وقف کے ساتھ nebula-auth ٹوکن سروس (پورٹ 5001)، اختیاری ہاشی کارپ والٹ سائننگ کیز کے لیے انضمام، پلگ ایبل آبجیکٹ اسٹوریج (فائل سسٹم، S3، GCS، Azure بلاب)، اور فرسٹ کلاس Kubernetes کرایہ داروں، منصوبوں اور پالیسیوں کے لیے CRDs کے ساتھ پیکیجنگ۔ اپ اسٹریم پروجیکٹ پروڈکٹ کو پرائیویٹ، قابل مشاہدہ، اور قابل عمل تصویری تقسیم کے ارد گرد رکھتا ہے۔ دیکھیں nebulacr.org عوامی لینڈنگ پیج کے لیے اور github.com/bwalia/nebulacr ماخذ اور ریلیز کے لیے۔
انٹرپرائزز نجی OCI رجسٹری کیوں اپناتے ہیں۔
کنٹینر کی تصاویر اب زیادہ تر کلاؤڈ مقامی ٹیموں کے لیے تعیناتی کی اکائی ہیں۔ ایک رجسٹری جو صرف آپ کی حفاظتی حدود کے اندر رہتی ہے آپ کو نافذ کرنے دیتی ہے۔ ڈیٹا رہائش, سپلائی چین کنٹرولز, باریک دانے والے RBAC، اور متوقع لاگت (خاص طور پر جب اپ اسٹریم رجسٹریوں کے لیے پل تھرو کیشنگ کے ساتھ مل کر)۔ NebulaCR ایسے آپریٹرز کو نشانہ بناتا ہے جنہیں شناخت، آڈٹ ایبلٹی، یا کثیر علاقائی لچک کو تسلیم کیے بغیر Docker-مطابق ورک فلوز کی ضرورت ہوتی ہے۔
مورچا ورک اسپیس (Cargo.toml)
اپ اسٹریم Cargo.toml سات کریٹس کے کام کی جگہ کا اعلان کرتا ہے: نیبولا - عام, nebula-auth, نیبولا رجسٹری, نیبولا کنٹرولر, نیبولا لچک, نیبولا آئینہ، اور نیبولا کی نقل. README کا پروجیکٹ ٹری ہر کریٹ کو بائنریز یا لائبریریوں میں نقشہ بناتا ہے — رجسٹری اور تصنیف کی خدمات، Kubernetes ری کنسلر، پل تھرو کیش انجن، لچکدار مددگار، اور کثیر علاقائی نقل۔ ذریعہ سے، چلائیں cargo build --workspace --release اور cargo test --workspace جڑ کے ساتھ کنٹینر کرنے سے پہلے Dockerfile یا مرضی کے مطابق Dockerfile.scratch.
پراجیکٹ دستاویزات سے آرکیٹیکچر کشید
اوپر بیان کردہ تین بنیادی بائنریز/لائبریریوں سے پرے، نیبولا کنٹرولر کرایہ دار/پروجیکٹ/AccessPolicy/TokenPolicy CRDs کو ملاتا ہے، نیبولا آئینہ اپ اسٹریم رجسٹریوں کے لیے پل تھرو کیشنگ کو لاگو کرتا ہے، نیبولا لچک نقل کے راستوں کے لیے دوبارہ کوششیں اور سرکٹ بریکر لے جاتا ہے، اور نیبولا کی نقل میں بیان کردہ فیل اوور کے ساتھ ملٹی ریجن async یا نیم سنک موڈز کی پشت پناہی کرتا ہے۔ docs/architecture.md. نیبولا رجسٹری فی درخواست JWT نفاذ کے ساتھ Axum پر مبنی رہتا ہے۔ nebula-auth OIDC شناختی ٹوکن کی توثیق کرتا ہے اور قلیل مدتی رجسٹری JWTs جاری کرتا ہے۔ اسٹوریج فی کرایہ دار/پروجیکٹ درجہ بندی کے مطابق رہتا ہے جبکہ بیک اینڈ پلگ ایبل رہتے ہیں۔
داخلے کے راستے، صحت کی جانچ، اور میٹرکس
README کا ASCII فن تعمیر ٹریفک کی تقسیم کو ظاہر کرتا ہے: /v2 رجسٹری سروس (5000) اور auth بہاؤ (اکثر نیچے /auth) سے nebula-auth (5001)، دونوں کے لیے بیرونی OIDC فراہم کنندگان کے ساتھ۔ Helm چارٹس Prometheus میٹرکس کو ظاہر کرتے ہیں (مثالوں میں شامل ہیں۔ nebulacr_http_requests_total, nebulacr_http_request_duration_seconds, nebulacr_storage_operations_total, nebulacr_auth_tokens_issued_total) اور دستاویز curl http://localhost:5000/health کے بعد kubectl port-forward رجسٹری سروس میں۔
زیرو ٹرسٹ کی توثیق اور CI انضمام
NebulaCR زور دیتا ہے۔ کوئی طویل المدت رجسٹری پاس ورڈ نہیں ہے۔ آٹومیشن کے لئے. CI سسٹمز قابل اعتماد جاری کنندگان سے OIDC شناختی ٹوکن پیش کرتے ہیں۔ nebula-auth دستخطوں کی توثیق کرتا ہے، پالیسی کا اطلاق کرتا ہے، اور سخت TTL ڈیفالٹس (عام طور پر تقریباً پانچ منٹ) کے ساتھ دائرہ کار والے JWTs کو واپس کرتا ہے۔ انسانی آپریٹرز Azure AD، Okta، یا Google Workspace جیسے فراہم کنندگان کے خلاف PKCE کے ساتھ معیاری OIDC اتھارٹی کوڈ فلو کے ذریعے تصدیق کرتے ہیں۔
CRDs، پل تھرو کیشے، اور شرح کی حدود
Kubernetes آپریٹرز کا نظم کرتے ہیں۔ Tenant (کوٹہ، او آئی ڈی سی پابندیاں)، Project (مخزن گروپ اور پالیسیاں) AccessPolicy (RBAC)، اور TokenPolicy (TTL اور روبوٹ اکاؤنٹس)۔ README دستاویزات پل تھرو پلس جیسے docker pull <host>:5000/library/nginx:latest، GHCR اور Quay کے سابقے، اور a containerd آئینے کی طرف اشارہ کرنے والا بند docker.io NebulaCR پر۔ شرح محدود کرنے کا اطلاق فی IP اور فی کرایہ دار کا استعمال کرتے ہوئے ہوتا ہے۔ governor کریٹ
مشاہدہ، آڈیٹنگ، اور تعمیل
کے تحت مقرر منصوبے کی دستاویزات کے مطابق docs/، NebulaCR کو بے نقاب کرتا ہے۔ Prometheus میٹرکس رجسٹری اور توثیق کی خدمات سے، اخراج تشکیل شدہ JSON لاگز، اور حمایت کرتا ہے۔ اوپن ٹیلی میٹری گہرے تجزیہ کے لیے سراغ لگانا۔ ایمبیڈڈ ڈیش بورڈ CPU، میموری، ڈسک، ریپلیکیشن ہیلتھ، ریپوزٹری براؤزنگ، اور فلٹرڈ آڈٹ ٹریلز کو دھکیلنے، کھینچنے، اور ڈیلیٹ کرنے کے لیے پیش کرتا ہے۔ SCIM 2.0 پروویژننگ شناخت فراہم کنندگان کے ساتھ جوائنر-موور-لیور سائیکلوں کو خودکار بناتا ہے، اس ونڈو کو سکڑتا ہے جہاں سابقہ ملازمین خفیہ رسائی کو برقرار رکھتے ہیں۔
اعلی دستیابی، ملٹی ریجن، اور پل تھرو کیشے
README جھلکیاں بے ریاست خدمات افقی پوڈ آٹو اسکیلنگ، پوڈ ڈسٹرکشن بجٹ، اور نقل کے راستوں کے لیے سرکٹ بریکر کے ساتھ۔ ملٹی ریجن ریپلیکیشن کو لچکدار کنٹرول کے ساتھ غیر مطابقت پذیر کے طور پر بیان کیا گیا ہے لہذا جب کوئی خطہ تنزلی کا شکار ہوتا ہے تو ریڈز ناکام ہو سکتی ہیں۔ پل تھرو کیشنگ اپ اسٹریم رجسٹریوں بشمول Docker Hub، GHCR، GCR، Quay.io، اور registry.k8s.io کے لیے بینڈوتھ اور پل لیٹنسی کو کم کرتی ہے۔
شروع کرنا
کم سے کم مقامی ٹرائل کے لیے README دستاویزات docker run -p 5000:5000 bwalia/nebulacr:latest, docker compose up -d 5001 پر رجسٹری پلس auth کے لیے جنریٹڈ JWT کیز کے ساتھ، اور Helm انسٹال oci://ghcr.io/bwalia/charts/nebulacr یا GitHub پیجز ریپو۔ ملٹی آرک امیجز بطور جہاز بھیجیں۔ linux/amd64 اور linux/arm64 Docker Hub اور GHCR پر۔ پروڈکشن ٹیموں کی تار deploy/helm/nebulacr چارٹ سے TLS، اختیاری OIDC اور S3، ServiceMonitor سکریپنگ، اور NetworkPolicy ٹیمپلیٹس کے ساتھ۔
Workstation کس طرح مدد کر سکتا ہے۔
Workstation محفوظ پلیٹ فارم انجینئرنگ کے نمونوں کو ڈیزائن اور لاگو کرتا ہے—نجی رجسٹریاں، GitOps پروموشن پائپ لائنز، کوڈ کے طور پر پالیسی، اور SRE مشاہداتی — کلاؤڈ اور آن پریمیسس ماحول میں۔ فن تعمیر کے جائزوں یا ڈیلیوری سپورٹ کے لیے رابطہ کریں۔ info@workstation.co.uk.