প্রকল্প সম্পর্কে

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/Kubernetes সাপোর্ট**: Docker এবং Kubernetes ডিপ্লয়মেন্টে প্রাথমিক কন্টেইনার হিসেবে ব্যবহার করা যেতে পারে। - **কাস্টম পেজ**: YAML কনফিগারেশনের মাধ্যমে কাস্টম পেজ (যেমন ইনডেক্স পেজ) স্থাপন করুন, যা CLI বা CI ইন্টিগ্রেশনের মাধ্যমে উপলব্ধ নয়। - **নিরাপত্তা**: অ্যাডমিন পাসওয়ার্ডের মতো সংবেদনশীল পরিচয়পত্র কমিট না করার জন্য `from_env` অবজেক্ট সমর্থন করে। টুলটি CTFd API-এর উপর নির্মিত এবং ফ্রন্টএন্ড যে সেটআপ কার্যকারিতা কল করে তা ম্যাপ করে। এটি ক্যাপচার দ্য ফ্ল্যাগ প্রতিযোগিতা চালানো দলগুলির জন্য ডিজাইন করা হয়েছে যাদের নির্ভরযোগ্য, ভার্সন-নিয়ন্ত্রিত ইনফ্রাস্ট্রাকচার ব্যবস্থাপনা প্রয়োজন। Go-তে নির্মিত, প্রকল্পটিতে CodeQL বিশ্লেষণ, OpenSSF Scorecard এবং SLSA লেভেল 3 সাপ্লাই চেইন নিরাপত্তা ব্যাজ অন্তর্ভুক্ত রয়েছে, যা নিরাপত্তা এবং সর্বোত্তম অনুশীলনের উপর জোর দেয়।