Об этом проекте

ctfd-setup — это CLI-утилита, предназначенная для устранения отсутствия в CTFd встроенной поддержки файлов конфигурации и API настройки. Она позволяет разработчикам хранить конфигурацию настройки CTFd в системе контроля версий, делая развертывания воспроизводимыми и доступными для совместного использования при отладке или репликации инфраструктуры. Инструмент подготавливает экземпляры CTFd из YAML-файлов конфигурации, флагов CLI и переменных окружения. Ключевые возможности включают: - **YAML-конфигурация**: Определяйте параметры внешнего вида, учетные данные администратора, режим и пользовательские страницы в YAML-файле под контролем версий. Инструмент рекомендует хранить этот файл в системе контроля версий для простого повторного развертывания во время тестирования или восстановления после сбоев. - **Генерация схемы**: Создайте JSON-схему для проверки YAML с помощью `ctfd-setup schema`, с поддержкой IDE для VSCode и других редакторов. - **Интеграция с GitHub Actions**: Используйте действие `ctfer-io/ctfd-setup` для автоматизации настройки CTFd в CI/CD процессах. - **Интеграция с Drone CI**: Развертывание с использованием Docker-образа `ctferio/ctfd-setup` в пайплайнах Drone CI. - **Поддержка Docker/Kubernetes**: Может использоваться как первоначальный контейнер в развертываниях Docker и Kubernetes. - **Пользовательские страницы**: Развертывание пользовательских страниц (например, индексных страниц) через YAML-конфигурацию — функция, недоступная через CLI или CI-интеграции. - **Безопасность**: Поддерживает объекты `from_env` для избежания сохранения чувствительных учетных данных, таких как пароли администратора. Инструмент построен на основе API CTFd и отображает функции настройки, которые вызывает фронтенд. Он предназначен для команд, проводящих соревнования Capture The Flag, которым необходимо надежное управление инфраструктурой под контролем версий. Написанный на Go, проект включает анализ CodeQL, OpenSSF Scorecard и бейджи безопасности цепочки поставок SLSA Level 3, что указывает на внимание к безопасности и лучшим практикам.