NebulaCR: এন্টারপ্রাইজ OCI রেজিস্ট্রি, পর্যবেক্ষণযোগ্যতা এবং আপস ছাড়াই সম্মতি
আর্কিটেকচার, শূন্য-বিশ্বাস প্রমাণ, পর্যবেক্ষণযোগ্যতা এবং Kubernetes অপারেশন
কার্যনির্বাহী সারাংশ
NebulaCR একটি ওপেন সোর্স, ক্লাউড-নেটিভ OCI কন্টেইনার রেজিস্ট্রি মরিচায় লেখা। এটি একটি মান-সঙ্গত জোড়া নেবুলা-রেজিস্ট্রি একটি ডেডিকেটেড সহ পরিষেবা (পোর্ট 5000) nebula-auth টোকেন পরিষেবা (পোর্ট 5001), ঐচ্ছিক HashiCorp ভল্ট সাইনিং কীগুলির জন্য ইন্টিগ্রেশন, প্লাগেবল বস্তু সঞ্চয়স্থান (ফাইলসিস্টেম, 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.
স্থাপত্য প্রকল্প ডকুমেন্টেশন থেকে পাতিত
উপরে বর্ণিত তিনটি মূল বাইনারি/লাইব্রেরির বাইরে, নীহারিকা-নিয়ন্ত্রক টেন্যান্ট/প্রকল্প/অ্যাক্সেস পলিসি/টোকেন পলিসি CRDs মিটমাট করে, নেবুলা-আয়না আপস্ট্রিম রেজিস্ট্রিগুলির জন্য পুল-থ্রু ক্যাশিং প্রয়োগ করে, নীহারিকা- স্থিতিস্থাপকতা প্রতিলিপি পথের জন্য পুনরায় চেষ্টা এবং সার্কিট ব্রেকার বহন করে, এবং নেবুলা-প্রতিলিপি মাল্টি-রিজিয়ন অ্যাসিঙ্ক বা সেমি-সিঙ্ক মোডগুলিকে ফেইলওভার সহ বর্ণনা করা হয়েছে docs/architecture.md. নেবুলা-রেজিস্ট্রি অনুরোধ প্রতি JWT প্রয়োগের সাথে Axum-ভিত্তিক থাকে; nebula-auth OIDC পরিচয় টোকেন যাচাই করে এবং স্বল্পকালীন রেজিস্ট্রি JWT ইস্যু করে। সঞ্চয়স্থান ভাড়াটে/প্রকল্প প্রতি অনুক্রমিক থাকে যখন ব্যাকএন্ড প্লাগযোগ্য থাকে।
প্রবেশের রুট, স্বাস্থ্য পরীক্ষা এবং মেট্রিক্স
README এর ASCII আর্কিটেকচার ট্রাফিক বিভাজন দেখায়: /v2 রেজিস্ট্রি পরিষেবাতে (5000) এবং প্রমাণীকরণ প্রবাহ (প্রায়শই এর অধীনে /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 পরিচয় টোকেন উপস্থাপন করে; নীহারিকা-প্রমাণপত্র স্বাক্ষর যাচাই করে, নীতি প্রয়োগ করে এবং টাইট টিটিএল ডিফল্ট সহ (সাধারণত প্রায় পাঁচ মিনিট) স্কোপযুক্ত JWT গুলি ফেরত দেয়। মানব অপারেটররা Azure AD, Okta বা Google Workspace-এর মতো প্রদানকারীদের বিরুদ্ধে PKCE-এর সাথে স্ট্যান্ডার্ড OIDC অনুমোদন-কোড প্রবাহের মাধ্যমে প্রমাণীকরণ করে।
CRDs, পুল-থ্রু ক্যাশে, এবং রেট সীমা
Kubernetes অপারেটর পরিচালনা করে Tenant (কোটা, OIDC বাইন্ডিং), Project (ভান্ডার গোষ্ঠী এবং নীতি), AccessPolicy (RBAC), এবং TokenPolicy (টিটিএল এবং রোবট অ্যাকাউন্ট)। README ডকুমেন্টস টান-থ্রু টান যেমন docker pull <host>:5000/library/nginx:latest, GHCR এবং Quay উপসর্গ, এবং a containerd মিরর স্তবক নির্দেশ করে docker.io NebulaCR এ। রেট সীমিত প্রতি আইপি এবং প্রতি ভাড়াটে ব্যবহার করে প্রযোজ্য governor ক্রেট
পর্যবেক্ষণযোগ্যতা, নিরীক্ষণ এবং সম্মতি
অধীন সেট প্রকল্প ডকুমেন্টেশন অনুযায়ী docs/, NebulaCR প্রকাশ করে Prometheus মেট্রিক্স রেজিস্ট্রি এবং প্রমাণীকরণ পরিষেবাগুলি থেকে, নির্গত হয় কাঠামোবদ্ধ JSON লগ, এবং সমর্থন করে ওপেনটেলিমেট্রি গভীর বিশ্লেষণের জন্য ট্রেসিং। এমবেডেড ড্যাশবোর্ড CPU, মেমরি, ডিস্ক, রেপ্লিকেশন হেলথ, রিপোজিটরি ব্রাউজিং, এবং পুশ, টান এবং মুছে ফেলার জন্য ফিল্টার করা অডিট ট্রেলগুলিকে সারফেস করে — নিরাপত্তা পর্যালোচনার জন্য উপাদান প্রমাণ। SCIM 2.0 প্রভিশনিং পরিচয় প্রদানকারীর সাথে যোগদানকারী-মুভার-লিভার চক্রকে স্বয়ংক্রিয় করে, উইন্ডোটি সঙ্কুচিত করে যেখানে প্রাক্তন কর্মচারীরা সুপ্ত অ্যাক্সেস বজায় রাখে।
উচ্চ প্রাপ্যতা, বহু-অঞ্চল, এবং পুল-থ্রু ক্যাশে
README হাইলাইট রাষ্ট্রহীন সেবা অনুভূমিক পড অটোস্কেলিং, পড ব্যাহত বাজেট, এবং প্রতিলিপি পথের জন্য সার্কিট ব্রেকার সহ। বহু-অঞ্চলের প্রতিলিপিকে স্থিতিস্থাপকতা নিয়ন্ত্রণের সাথে অ্যাসিঙ্ক্রোনাস হিসাবে বর্ণনা করা হয়েছে যাতে একটি অঞ্চলের অবনতি হলে পাঠগুলি ব্যর্থ হতে পারে। পুল-থ্রু ক্যাশিং Docker হাব, GHCR, GCR, Quay.io, এবং registry.k8s.io সহ আপস্ট্রিম রেজিস্ট্রিগুলির জন্য ব্যান্ডউইথ এবং পুল লেটেন্সি হ্রাস করে৷
শুরু হচ্ছে
ন্যূনতম স্থানীয় পরীক্ষার জন্য README নথি docker run -p 5000:5000 bwalia/nebulacr:latest, docker compose up -d জেনারেটেড JWT কী সহ 5001-এ রেজিস্ট্রি প্লাস প্রমাণীকরণের জন্য এবং Helm থেকে ইনস্টল oci://ghcr.io/bwalia/charts/nebulacr অথবা GitHub পেজ রেপো। মাল্টি খিলান ইমেজ হিসাবে জাহাজ linux/amd64 এবং linux/arm64 Docker হাব এবং জিএইচসিআর-এ। উৎপাদন দল ওয়্যার deploy/helm/nebulacr চার্ট থেকে ইনগ্রেস TLS, ঐচ্ছিক OIDC এবং S3, ServiceMonitor স্ক্র্যাপিং এবং NetworkPolicy টেমপ্লেট সহ।
কিভাবে Workstation সাহায্য করতে পারে
Workstation সুরক্ষিত প্ল্যাটফর্ম ইঞ্জিনিয়ারিং প্যাটার্ন ডিজাইন এবং প্রয়োগ করে—ব্যক্তিগত রেজিস্ট্রি, GitOps প্রচার পাইপলাইন, কোড হিসাবে নীতি, এবং SRE পর্যবেক্ষণযোগ্যতা—ক্লাউড এবং অন-প্রাঙ্গনে পরিবেশ। আর্কিটেকচার রিভিউ বা ডেলিভারি সাপোর্টের জন্য যোগাযোগ করুন info@workstation.co.uk.