chall-manager

module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2024 License: Apache-2.0

README

Chall-Manager

Challenge Scenarios on Demand, anywhere, anytime, of any size, and for anyone

reference chall-manager docker pulls go report Coverage Status
License CI CodeQL
OpenSSF Scoreboard

[!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.

What ?

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.

Why ?

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.

Trophy list

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.

Development setup

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

Directories

Path Synopsis
api
v1/challenge
Package challenge is a reverse proxy.
Package challenge is a reverse proxy.
v1/instance
Package instance is a reverse proxy.
Package instance is a reverse proxy.
cmd
pkg
fs
Package fs wraps filesystem operations to provide a simple and resilient API.
Package fs wraps filesystem operations to provide a simple and resilient API.
iac
sdk module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL