JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q79901F
  • License Apache-2.0

The CTFd provider for Pulumi, to manage its resources as code.

Package Exports

  • @ctfer-io/pulumi-ctfd
  • @ctfer-io/pulumi-ctfd/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ctfer-io/pulumi-ctfd) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Pulumi CTFd Provider

Let's code your CTF(d)

reference License
CodeQL OpenSSF Scoreboard

Context

CTFd is an open-source CTFd platform famous for its simplicity and extensibility. It has been used for various Capture The Flag (CTF) events, originally for the CSAW, later by others such the BreizhCTF.

One of CTFer approach is seeing the CTFd resources as simply as objects with CRUD operations (e.g. challenges). From this simplification arise a possibility: managing them as Terraform resources, which we did with the Terraform Provider for CTFd. Nevertheless, due to the limitations of Terraform and the necessity to bring reproducibility to Capture The Flag events, as stated by multiple organizers, we had to go further and give it an additional predicate: managing them as code through programming language.

Pulumi is an Infrastructure-as-Code (IaC) and Free Open-Source Software (FOSS) tool that is a first-class opportunity for this.

To sum it up, you can manage a Capture The Flag event based upon CTFd in multiple programming languages.

SDK

To install the provider, refer to this documentation.

For more information on how to use the SDK in your favorite language, refer to this documentation.