Sobre o projeto

ctfd-setup é um utilitário de CLI projetado para resolver a falta de suporte nativo do CTFd a arquivos de configuração e API de setup. Ele permite que desenvolvedores versionem sua configuração de setup do CTFd, tornando as implantações reproduzíveis e compartilháveis para depuração ou replicação de infraestrutura. A ferramenta provisiona instâncias CTFd a partir de arquivos de configuração YAML, flags de CLI e variáveis de ambiente. Os principais recursos incluem: - **Configuração YAML**: Defina configurações de aparência, credenciais de administrador, modo e páginas personalizadas em um arquivo YAML versionado. A ferramenta incentiva o versionamento desse arquivo para facilitar a reimplantação durante testes ou recuperação de desastres. - **Geração de Schema**: Gere um JSON Schema para validação de YAML usando `ctfd-setup schema`, com suporte a IDE para VSCode e outros editores. - **Integração com GitHub Actions**: Use a ação `ctfer-io/ctfd-setup` para automatizar a configuração do CTFd em fluxos de trabalho de CI/CD. - **Integração com Drone CI**: Implante usando a imagem Docker `ctferio/ctfd-setup` em pipelines do Drone CI. - **Suporte a Docker/Kubernetes**: Pode ser usado como contêiner inicial em implantações Docker e Kubernetes. - **Páginas Personalizadas**: Implante páginas personalizadas (como páginas iniciais) via configuração YAML, um recurso não disponível por meio de integrações de CLI ou CI. - **Segurança**: Suporta objetos `from_env` para evitar o comprometimento de credenciais sensíveis, como senhas de administrador. A ferramenta é construída sobre a API do CTFd e mapeia a funcionalidade de setup que o frontend chama. Ela é projetada para equipes que executam competições Capture The Flag que precisam de gerenciamento confiável e versionado de infraestrutura. Construído em Go, o projeto inclui análise CodeQL, OpenSSF Scorecard e selos de segurança de cadeia de suprimentos SLSA Nível 3, indicando um foco em segurança e boas práticas.