इस प्रोजेक्ट के बारे में

ctfd-setup एक CLI उपयोगिता है जो CTFd में मूल कॉन्फ़िगरेशन फ़ाइल समर्थन और सेटअप API की कमी को दूर करने के लिए डिज़ाइन की गई है। यह डेवलपर्स को अपने CTFd सेटअप कॉन्फ़िगरेशन को संस्करण-नियंत्रित करने में सक्षम बनाता है, जिससे तैनाती प्रतिलिपि योग्य और साझा करने योग्य हो जाती है, चाहे वह डिबगिंग के लिए हो या इंफ्रास्ट्रक्चर प्रतिकृति के लिए। यह उपकरण YAML कॉन्फ़िगरेशन फ़ाइलों, CLI फ़्लैग और पर्यावरण चर से CTFd इंस्टेंस प्रदान करता है। मुख्य विशेषताओं में शामिल हैं: - **YAML कॉन्फ़िगरेशन**: संस्करण-नियंत्रित YAML फ़ाइल में उपस्थिति सेटिंग्स, व्यवस्थापक क्रेडेंशियल, मोड और कस्टम पेज परिभाषित करें। यह उपकरण परीक्षण या आपदा पुनर्प्राप्ति के दौरान आसान पुनः तैनाती के लिए इस फ़ाइल को संस्करण-नियंत्रित करने को प्रोत्साहित करता है। - **स्कीमा जनरेशन**: `ctfd-setup schema` का उपयोग करके YAML सत्यापन के लिए JSON स्कीमा उत्पन्न करें, जिसमें VSCode और अन्य संपादकों के लिए IDE समर्थन शामिल है। - **GitHub Actions एकीकरण**: CI/CD वर्कफ़्लो में CTFd सेटअप को स्वचालित करने के लिए `ctfer-io/ctfd-setup` एक्शन का उपयोग करें। - **Drone CI एकीकरण**: Drone CI पाइपलाइनों में `ctferio/ctfd-setup` Docker इमेज का उपयोग करके तैनात करें। - **Docker/Kubernetes समर्थन**: Docker और Kubernetes तैनाती में प्रारंभिक कंटेनर के रूप में उपयोग किया जा सकता है। - **कस्टम पेज**: YAML कॉन्फ़िगरेशन के माध्यम से कस्टम पेज (जैसे इंडेक्स पेज) तैनात करें, जो CLI या CI एकीकरण के माध्यम से उपलब्ध नहीं है। - **सुरक्षा**: व्यवस्थापक पासवर्ड जैसे संवेदनशील क्रेडेंशियल को कमिट करने से बचने के लिए `from_env` ऑब्जेक्ट का समर्थन करता है। यह उपकरण CTFd API के ऊपर बनाया गया है और फ्रंटएंड द्वारा कॉल किए जाने वाले सेटअप कार्यक्षमता को मैप करता है। यह उन टीमों के लिए डिज़ाइन किया गया है जो कैप्चर द फ्लैग प्रतियोगिताएं चलाते हैं और उन्हें विश्वसनीय, संस्करण-नियंत्रित इंफ्रास्ट्रक्चर प्रबंधन की आवश्यकता होती है। Go में निर्मित, इस परियोजना में CodeQL विश्लेषण, OpenSSF स्कोरकार्ड और SLSA स्तर 3 आपूर्ति श्रृंखला सुरक्षा बैज शामिल हैं, जो सुरक्षा और सर्वोत्तम प्रथाओं पर ध्यान केंद्रित करने का संकेत देते हैं।