منصوبے کے بارے میں

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 Scorecard، اور SLSA Level 3 سپلائی چین سیکیورٹی بیجز شامل ہیں، جو سیکورٹی اور بہترین طریقوں پر توجہ مرکوز کرنے کی نشاندہی کرتا ہے۔