منصوبے کے بارے میں
CertMate ایک خود میزبان سرٹیفکیٹ لائف سائیکل مینجمنٹ پلیٹ فارم ہے۔ یہ ACME کے ذریعے TLS سرٹیفکیٹ جاری اور تجدید کرتا ہے، ان سرٹیفکیٹس کو دریافت کرتا ہے جو اس نے جاری نہیں کیے، ایک اسٹیٹ میں موجود تمام چیزوں کی واحد انوینٹری برقرار رکھتا ہے (کہیں کیا پیش کیا جا رہا ہے، جاری کنندہ، میعاد ختم ہونے کی تاریخ، استعمال شدہ کرپٹوگرافی)، اور تجدید شدہ سرٹیفکیٹس کو وہاں تعینات کرتا ہے جہاں ان کی ضرورت ہو۔ یہ 29 DNS فراہم کنندگان کی حمایت کرتا ہے، اندرونی ناموں کے لیے اپنا نجی CA چلاتا ہے، ایک چھیڑ چھاڑ سے پاک آڈٹ ٹریل رکھتا ہے، اور سب کچھ REST API کے ذریعے ظاہر کرتا ہے۔
بنیادی صلاحیتیں
- سرٹیفکیٹ مینجمنٹ: متعدد CA فراہم کنندگان (Let's Encrypt بشمول staging، ZeroSSL، Google Trust Services، Actalis، DigiCert ACME بشمول EAB، Sectigo، SSL.com، نجی CAs)، وائلڈ کارڈ اور ملٹی ڈومین SAN سرٹیفکیٹس، CNAME ڈیلیگیشن کے ذریعے DNS عرف، میعاد ختم ہونے سے 30 دن پہلے خودکار تجدید، فی سرٹیفکیٹ 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 (legacy اور 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 دستخطوں کے ساتھ عمومی ویب ہکس؛ اجرا کے بعد شیل کمانڈز چلانے والے ڈیپلائے ہکس؛ 14/7/3/1 دنوں پر میعاد ختم ہونے کی انتباہات کے علاوہ 60/30/14/7/1 دنوں پر ڈومین میعاد ختم ہونے کی انتباہات؛ ہفتہ وار ڈائجسٹ ای میل۔
- بیک اپ اور ریکوری: ترتیبات اور سرٹیفکیٹس کے جوہری اسنیپ شاٹس، تبدیلیوں پر خودکار بیک اپ، UI یا API کے ذریعے دستی بیک اپ، فی قسم 50 تازہ ترین آرکائیوز کی برقراری اور 30 دن سے پرانی کوئی چیز نہیں، ڈاؤن لوڈ/برآمد اور بحالی۔
- سیکیورٹی: bearer ٹوکن توثیق، فائل اجازتیں، ٹائم لائن ویو کے ساتھ آڈٹ لاگنگ، ماحولیاتی متغیر اسناد کا انتظام، شرح کی حد سے آگاہی، اور ایک لاگ سینیٹائزر جو حساس پیرامیٹرز، نجی کلیدیں اور 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) انوینٹری، لائف سائیکل آپریشنز اور ڈیلیوری کے لیے 16 ٹولز ظاہر کرتا ہے، تاکہ MCP کے قابل معاونین اسی توثیق اور آڈٹ ٹریل کے ساتھ API چلا سکیں۔ README is_agent: true کے ساتھ بنائی گئی اسکوپڈ کلیدوں کی سفارش کرتا ہے تاکہ ایجنٹ کے اعمال actor.kind="agent" کے طور پر ریکارڈ ہوں۔
- ایک URL سرٹیفکیٹ ڈاؤن لوڈز اور انفرادی اجزاء کی ڈاؤن لوڈز (cert، key، chain، fullchain) PEM یا ZIP میں، نیز Python، Bash، Ansible اور Terraform کے لیے SDK مثالیں۔
آرکیٹیکچر نوٹ
CertMate ایک واحد انسٹینس کے طور پر چلتا ہے: تجدید شیڈولر ویب پروسیس کے اندر رہتا ہے، لہذا دوسرا ریپلیکا کا مطلب دوسرا شیڈولر ہوگا جو اسی اسٹور کے خلاف جاری کرے گا، جس سے ڈپلیکیٹ ACME آرڈرز اور CA ڈپلیکیٹ سرٹیفکیٹ شرح کی حدود پیدا ہوں گی۔ Helm چارٹ ایک سے زیادہ ریپلیکا پیش کرنے سے انکار کرتا ہے۔ یہ باہر کی بجائے اوپر کی طرف اسکیل کرتا ہے؛ دستیابی active/standby اور مشترکہ اسٹوریج فیل اوور کے ساتھ سنبھالی جاتی ہے۔
ماحولیاتی نظام میں متعلقہ منصوبوں میں 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.