Pixiefairy a Pixiecore API server companion
Project description
Pixie Fairy - a Pixiecore API companion
Pixiefairy
is a companion for pixiecore a tool to manage network booting of machines.
Pixiecore
in API mode send a request to an external service for each pxe booting event; pixiefairy is that service, answering to api calls and serving the configured info, like the kernel, the initrd and the command line to boot.
Pixiefairy
is higly configurable, you can decide which mac-address and which set of parameters to serve to each client.
Installation
Pixiefairy requires python >= 3.9
It's as easy as
pip3 install pixiefairy
Then you will have available the pixiefairy
binary
Usage
Pixiefairy can be started using the start
command. It requires a config.yaml file with a bunch of defaults in order to know how to serve the requests.
pixiefairy start -c config.yaml
Configuration
An example configuration can be found into examples/config.yaml like
defaults:
boot:
# the kernel to boot into
kernel: "file:///root/vmlinuz-amd64"
initrd: # the list of initrd files to load at boot
- "file:///root/initramfs-amd64.xz"
message: "" # optional, a boot message
cmdline: "" # optional, the command line to boot
net:
dhcp: true # use dhcp or send n ip=.... kernel parameters to configure the network
gateway: "192.168.1.0" # the default gateway to send to the requestor
netmask: "255.255.255.0" # the netmask to send to requestor
dns: "8.8.8.8" # default dns server
ntp: "192.168.1.0" # default ntp server
deny_unknown_clients: false # either boot unknown clients or boot only the mac address listed in mapping below
mapping: # optional
aa:bb:cc:dd:ee:ff: # the matching mac address
net: null # net block, optional, identical to the net block in defaults, override
boot: null # boot block, optional, identical to the boot block in defaults, override
Dev Requirements
In order to partecipate to the development you need the following requirements
- Taskfile
- Python >=3.9
And bootstrap the local dev environment with:
task setup
This will setup locally a python virtualenv with all the dependencies, ready to start coding
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pixiefairy-0.1.3.tar.gz
.
File metadata
- Download URL: pixiefairy-0.1.3.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.10.10 Linux/5.15.0-1034-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47d759d6aeb313a2359d10827c5135267b046802056c5e29010f877acb8f237c |
|
MD5 | 9707b748f4ba70d97132b2151d7cbd40 |
|
BLAKE2b-256 | 2b5271538b3a8980478884cc2705c07df1a750b7f16c5252faf240aa998011a6 |
File details
Details for the file pixiefairy-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: pixiefairy-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.0 CPython/3.10.10 Linux/5.15.0-1034-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 509739df7393b3ea830a2c7d501a1f1b7a3fb63c3f85d1643d2e46cec563d26e |
|
MD5 | b0778fdde463004c5b310a1fed71df0b |
|
BLAKE2b-256 | 72fdd47de22f9399fcb2b74f54a956e2f06f609dcb594a19558d9477593a2d7f |