프로젝트 소개
ctfd-setup은 CTFd의 네이티브 구성 파일 지원 및 설정 API 부재를 해결하기 위해 설계된 CLI 유틸리티입니다. 개발자가 CTFd 설정 구성을 버전 관리할 수 있게 하여 디버깅 또는 인프라 복제를 위해 배포를 재현 가능하고 공유 가능하게 만듭니다.
이 도구는 YAML 구성 파일, CLI 플래그 및 환경 변수에서 CTFd 인스턴스를 프로비저닝합니다. 주요 기능은 다음과 같습니다.
- **YAML 구성**: 버전 관리되는 YAML 파일에서 외관 설정, 관리자 자격 증명, 모드 및 사용자 지정 페이지를 정의합니다. 이 도구는 테스트 또는 재해 복구 중 쉽게 재배포할 수 있도록 이 파일의 버전 관리를 권장합니다.
- **스키마 생성**: `ctfd-setup schema`를 사용하여 YAML 검증을 위한 JSON 스키마를 생성하며, VSCode 및 기타 편집기에서 IDE 지원을 제공합니다.
- **GitHub Actions 통합**: `ctfer-io/ctfd-setup` 액션을 사용하여 CI/CD 워크플로우에서 CTFd 설정을 자동화합니다.
- **Drone CI 통합**: Drone CI 파이프라인에서 `ctferio/ctfd-setup` Docker 이미지를 사용하여 배포합니다.
- **Docker/Kubernetes 지원**: Docker 및 Kubernetes 배포에서 초기 컨테이너로 사용할 수 있습니다.
- **사용자 지정 페이지**: YAML 구성을 통해 사용자 지정 페이지(예: 인덱스 페이지)를 배포합니다. 이 기능은 CLI 또는 CI 통합에서는 사용할 수 없습니다.
- **보안**: 관리자 비밀번호와 같은 민감한 자격 증명을 커밋하지 않도록 `from_env` 객체를 지원합니다.
이 도구는 CTFd API 위에 구축되었으며 프런트엔드가 호출하는 설정 기능을 매핑합니다. 안정적이고 버전 관리되는 인프라 관리가 필요한 Capture The Flag 대회를 운영하는 팀을 위해 설계되었습니다.
Go로 작성된 이 프로젝트는 CodeQL 분석, OpenSSF Scorecard 및 SLSA Level 3 공급망 보안 배지를 포함하여 보안과 모범 사례에 중점을 두고 있음을 나타냅니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.