প্রকল্প সম্পর্কে
CertMate একটি স্ব-হোস্টেড সার্টিফিকেট লাইফসাইকেল ম্যানেজমেন্ট প্ল্যাটফর্ম। এটি ACME-এর মাধ্যমে TLS সার্টিফিকেট ইস্যু ও নবায়ন করে, নিজে ইস্যু করেনি এমন সার্টিফিকেট আবিষ্কার করে, একটি এস্টেট জুড়ে কী কী বিদ্যমান তার একক ইনভেন্টরি বজায় রাখে (কোথায় কী পরিবেশিত হচ্ছে, ইস্যুকারী, মেয়াদোত্তীর্ণের তারিখ, ব্যবহৃত ক্রিপ্টোগ্রাফি), এবং নবায়নকৃত সার্টিফিকেট যেখানে প্রয়োজন সেখানে স্থাপন করে। এটি ২৯টি DNS প্রদানকারী সমর্থন করে, অভ্যন্তরীণ নামের জন্য নিজস্ব প্রাইভেট CA চালায়, টেম্পার-এভিডেন্ট অডিট ট্রেইল রাখে এবং REST API-এর মাধ্যমে সবকিছু প্রকাশ করে।
মূল ক্ষমতা
- সার্টিফিকেট ম্যানেজমেন্ট: একাধিক CA প্রদানকারী (স্টেজিংসহ Let's Encrypt, ZeroSSL, Google Trust Services, Actalis, EAB-সহ DigiCert ACME, Sectigo, SSL.com, প্রাইভেট CA), ওয়াইল্ডকার্ড ও মাল্টি-ডোমেইন SAN সার্টিফিকেট, CNAME ডেলিগেশনের মাধ্যমে DNS অ্যালিয়াস, মেয়াদ শেষ হওয়ার ৩০ দিন আগে স্বয়ংক্রিয় নবায়ন, প্রতি-সার্টিফিকেট CA নির্বাচন, রিয়েল-টাইম ভ্যালিডেশন এবং একটি মাল্টি-থ্রেডেড জম্বি সার্টিফিকেট স্ক্যানার যা পরীক্ষা করে যে পরিচালিত নামগুলো এখনও রিজলভ ও উত্তর দেয় কি না।
- DNS প্রদানকারী: Cloudflare, AWS Route53, Azure DNS, Google Cloud DNS, DigitalOcean, PowerDNS, EfficientIP SOLIDserver, RFC2136, Linode, Akamai Edge DNS, Gandi, OVH, Namecheap, Vultr, DNS Made Easy, NS1, Hetzner (লিগ্যাসি ও Cloud), Porkbun, GoDaddy, Hurricane Electric, Dynu, ArvanCloud, Infomaniak, ACME-DNS, Scaleway, deSEC, DuckDNS এবং কাস্টম স্ক্রিপ্ট হুক। প্রধান প্রদানকারীদের জন্য মাল্টি-অ্যাকাউন্ট সমর্থন বিদ্যমান। README-তে প্রাপ্যতা স্তর নথিভুক্ত করা হয়েছে: Stable (requirements.txt-এ পিন করা), Extended image, Separate install, এবং Unavailable (Namecheap, যার একমাত্র PyPI প্লাগইন Python 2.7-3.8 লক্ষ্য করে এবং Python 3.12-এ certbot 2.x-এর সাথে অসামঞ্জস্যপূর্ণ)।
- এন্টারপ্রাইজ বৈশিষ্ট্য: তিন-স্তরের RBAC (viewer, operator, admin), প্রতি-কি রোল ও ঐচ্ছিক মেয়াদসহ স্কোপড API কী, মাল্টি-অ্যাকাউন্ট ম্যানেজমেন্ট, Swagger/OpenAPI ডক্সসহ REST API, Tailwind/Alpine ওয়েব ড্যাশবোর্ড, গাইডেড সেটআপ উইজার্ড, SSE রিয়েল-টাইম আপডেট, Docker ও Kubernetes সমর্থন, হেলথ চেক, Prometheus মেট্রিক্স এবং স্ট্রাকচার্ড JSON লগিং।
- স্টোরেজ ব্যাকএন্ড: লোকাল ফাইলসিস্টেম (600/700 পারমিশন), Azure Key Vault, AWS Secrets Manager, HashiCorp Vault, Infisical, এবং কনফিগারযোগ্য এন্ডপয়েন্টের মাধ্যমে S3-সামঞ্জস্যপূর্ণ অবজেক্ট স্টোরেজ (Hetzner, Contabo, OVHcloud, Scaleway, Exoscale, Wasabi, MinIO, AWS)। ব্যাকএন্ডগুলোর মধ্যে মাইগ্রেশন সমর্থিত।
- নোটিফিকেশন ও অটোমেশন: ইমেইল (SMTP), Slack, Discord, Google Chat, Telegram, ntfy, Gotify এবং SHA-256 HMAC স্বাক্ষরসহ জেনেরিক ওয়েবহুক; ইস্যু-পরবর্তী শেল কমান্ড চালানো ডিপ্লয় হুক; ১৪/৭/৩/১ দিনে মেয়াদোত্তীর্ণ সতর্কতা এবং ৬০/৩০/১৪/৭/১ দিনে ডোমেইন মেয়াদোত্তীর্ণ সতর্কতা; সাপ্তাহিক ডাইজেস্ট ইমেইল।
- ব্যাকআপ ও রিকভারি: সেটিংস ও সার্টিফিকেটের অ্যাটমিক স্ন্যাপশট, পরিবর্তনে স্বয়ংক্রিয় ব্যাকআপ, UI বা API-এর মাধ্যমে ম্যানুয়াল ব্যাকআপ, প্রতি ধরনে ৫০টি সাম্প্রতিক আর্কাইভ ধরে রাখা এবং ৩০ দিনের বেশি পুরনো কিছু না রাখা, ডাউনলোড/এক্সপোর্ট ও রিস্টোর।
- নিরাপত্তা: বিয়ারার টোকেন অথেনটিকেশন, ফাইল পারমিশন, টাইমলাইন ভিউসহ অডিট লগিং, এনভায়রনমেন্ট-ভেরিয়েবল ক্রেডেনশিয়াল ম্যানেজমেন্ট, রেট-লিমিট সচেতনতা এবং একটি লগ স্যানিটাইজার যা সংবেদনশীল প্যারামিটার, প্রাইভেট কী ও API টোকেন রিড্যাক্ট করে।
ইন্টারফেস
- certmate-cli (pip install certmate-cli) টার্মিনাল থেকে লাইফসাইকেল কভার করে: health, cert create/ls/info, audit verify। এটি certmate-sdk-এর উপর একটি পাতলা স্তর, যা একই REST API-এর জন্য একটি httpx-ভিত্তিক Python ক্লায়েন্ট।
- mcp/-এ একটি ফার্স্ট-পার্টি Model Context Protocol সার্ভার (Node.js >= 20) ইনভেন্টরি, লাইফসাইকেল অপারেশন ও ডেলিভারির জন্য ১৬টি টুল প্রকাশ করে, যাতে MCP-সক্ষম অ্যাসিস্ট্যান্টরা একই অথ ও অডিট ট্রেইলসহ API চালাতে পারে। README-তে is_agent: true দিয়ে তৈরি স্কোপড কী ব্যবহারের সুপারিশ করা হয়েছে যাতে এজেন্ট অ্যাকশন actor.kind="agent" হিসেবে রেকর্ড হয়।
- এক-URL সার্টিফিকেট ডাউনলোড এবং PEM বা ZIP-এ পৃথক কম্পোনেন্ট ডাউনলোড (cert, key, chain, fullchain), পাশাপাশি Python, Bash, Ansible ও Terraform-এর জন্য SDK উদাহরণ।
আর্কিটেকচার নোট
CertMate একক ইনস্ট্যান্স হিসেবে চলে: নবায়ন শিডিউলার ওয়েব প্রসেসের ভেতরে থাকে, তাই দ্বিতীয় রেপ্লিকা মানে একই স্টোরের বিরুদ্ধে দ্বিতীয় শিডিউলার ইস্যু করা, যা ডুপ্লিকেট ACME অর্ডার ও CA ডুপ্লিকেট-সার্টিফিকেট রেট লিমিট ঘটায়। Helm চার্ট একাধিক রেপ্লিকা রেন্ডার করতে অস্বীকার করে। এটি আউট না হয়ে আপ স্কেল করে; অ্যাক্টিভ/স্ট্যান্ডবাই ও শেয়ার্ড স্টোরেজ ফেইলওভার দিয়ে অ্যাভেইলেবিলিটি পরিচালিত হয়।
ইকোসিস্টেমের সম্পর্কিত প্রকল্পগুলোর মধ্যে রয়েছে certmate-tools (ব্রাউজার-ভিত্তিক TLS/ACME ডায়াগনস্টিকস), certmate-agent (ডক্সের উপর RAG-সহ REST API-তে ম্যাপ করা লোকাল LLM অ্যাসিস্ট্যান্ট), এবং nis2-public (NIS2 পশ্চার ম্যানেজমেন্ট)। একটি সোর্স-অ্যাভেইলেবল এন্টারপ্রাইজ সংস্করণ (CertMate-ng, BSL 1.1) মাল্টি-টেন্যান্ট, mTLS, হোয়াইট-লেবেল এবং NIS2-সারিবদ্ধ ডিপ্লয়মেন্ট কভার করে।
কুইক স্টার্ট Docker Compose-এর মাধ্যমে: রিপোজিটরি ক্লোন করুন, .env.example থেকে .env-তে কপি করুন, API_BEARER_TOKEN সেট করুন (ইনস্ট্যান্স এক্সপোজ করার আগে সুপারিশকৃত, কারণ কনফিগার না করা ইনস্ট্যান্স ফার্স্ট-রান সেটআপ বাইপ এমন যে কেউ পৌঁছাতে পারে তাকে পরিবেশন করে), Cloudflare ব্যবহার করলে CLOUDFLARE_TOKEN কনফিগার করুন এবং স্ট্যাক শুরু করুন। অন্যান্য DNS প্রদানকারী এনভায়রনমেন্ট ভেরিয়েবলের পরিবর্তে ওয়েব UI বা API-তে কনফিগার করা হয়। প্রকল্পটি MIT লাইসেন্সপ্রাপ্ত এবং Python 3.12-এ লেখা।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.