Skip to content

Purdue-eCTF/2026-eCTF-provision-server

Repository files navigation

Provision

Contains code for provisioning boards.

This consists of the following components:

  • provision_server which manages the entire provisioning process
  • provision_pi, which runs on the Raspberry PI, connects to the provisioning server and interfaces directly with the board
  • boardtools, which can be used to request a provisioned board
    • Used from attack scripts as well as other components of the infra
  • provision_common containing code shared between the 3

Setup

This project requires uv. Run uv sync to setup the virtual environment.

Configuration

All components of the provision network require a configuration file config.json. The format is as follows:

{
  "auth_token": "authentication_token",
  "control_address": "tcp://0.0.0.0:3000",
  "client_proxy_address": "tcp://0.0.0.0:3001",
  "pi_proxy_address": "tcp://0.0.0.0:3002"
}

Running the server

To run the server, first install the server module using uv pip install provision_server. Then, run uv run provision_server --config <path_to_config_json>.

Using boardtools

To install the boardtools package, run uv pip install boardtools. View usage in the example.py file given or in the README in boardtools.

About

Provision server for eCTF 2026

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors