CLI for enrolling and managing your own edge devices in the Chameleon testbed.
You have a single-board computer (Like a Raspberry Pi 4/5, Nvidia Jetson, ...) and you want to add it to CHI@Edge so that it can be used for Computer Science related Research and Education, by yourself, classmates or coworkers, or the larger Chameleon user community. This tool handles device registration, OS image configuration, and ongoing device management.
You do NOT need this tool to use devices that are already enrolled. If you just want to reserve and run containers on existing CHI@Edge hardware, use the web dashboard or the python-chi SDK.
- A Chameleon account with an active allocation
- A clouds.yaml or openrc file from the CHI@Edge dashboard
- Python 3.9+
- Physical access to the device you're enrolling
pip install python-chi-edge
chi-edge device register \
--contact-email you@example.com \
--machine-name raspberrypi5 \
my-device
After this stage, the device will appear with (2/4 checks) passing.
Download the appropriate balenaOS image for your device, then configure it for the testbed:
chi-edge device bake --image balena.img <device-uuid>
Write the baked image to your device's storage (microSD or eMMC) using balenaEtcher or dd, then power on. The device should appear healthy (4/4 checks) within a few minutes.
| Command | Description |
|---|---|
chi-edge device list |
List your registered devices |
chi-edge device show <name> |
Show device details and health |
chi-edge device set |
Update device configuration |
chi-edge device delete <name> |
Remove a device |
chi-edge device sync <name> |
Force device re-sync |
Uses OpenStack clouds.yaml or environment variables for authentication. Specify the cloud with --os-cloud or set OS_CLOUD.
- CHI@Edge enrollment guide — full walkthrough with screenshots
- CHI@Edge user docs — reservations, containers, peripherals
- Chameleon docs — broader platform documentation
Apache 2.0