Contains code for provisioning boards.
This consists of the following components:
provision_serverwhich manages the entire provisioning processprovision_pi, which runs on the Raspberry PI, connects to the provisioning server and interfaces directly with the boardboardtools, which can be used to request a provisioned board- Used from attack scripts as well as other components of the infra
provision_commoncontaining code shared between the 3
This project requires uv. Run uv sync to setup the virtual environment.
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"
}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>.
To install the boardtools package, run uv pip install boardtools. View usage in the example.py file given or in the README in boardtools.