Caution
Chall-Manager is currently in public beta phase. It could be run in production, but breaking changes are subject to happen in the upcoming months until General Availability.
It has been tested under production workload during the NoBrackets 2024.
Chall-Manager is a platform-agnostic system able to start Challenges on Demand of a player: an Instance. It abstracts the deployment thus is able to cover all existing and future systems with an API and CRUD operations on a resource: Kubernetes Pods, Proxmox VMs, AWS IAM, FPGA, ... at the only cost of a Pulumi provider. To avoid resources overconsumption, it janitors them once expired.
To ease deployments, we created "recipes" in a SDK.
Please Read the documentation for better understanding.
Alternatives exist, but were not sufficient: they focused on a single technology (e.g. Docker or Kubernetes only) and for one specific platform.
With Chall-Manager, you are now able to abstract this all thus don't require to follow other's technical choices.
The following list contains all known events were Chall-Manager has been operated in production: Please open an issue to add your event to the list if we did not ourself.
- 2024/11/20 NoBracketsCTF 2024
Once you clonned the repository, run the following commands to make sure you have all the generated files on your local system and up to date.
make buf
make update-swagger
You could also run those before a commit that affects the *.proto
files to avoid inconsistencies between your local setup and the distant branch.
If you need to run a local etcd instance, you could use the following.
docker run -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 -e ETCD_ROOT_PASSWORD=root bitnami/etcd:3.5.13