Skip to main content

Pixiefairy a Pixiecore API server companion

Project description

Pixie Fairy - a Pixiecore API companion

Tag and build

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pixiefairy-0.1.3.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

pixiefairy-0.1.3-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

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

Hashes for pixiefairy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 47d759d6aeb313a2359d10827c5135267b046802056c5e29010f877acb8f237c
MD5 9707b748f4ba70d97132b2151d7cbd40
BLAKE2b-256 2b5271538b3a8980478884cc2705c07df1a750b7f16c5252faf240aa998011a6

See more details on using hashes here.

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

Hashes for pixiefairy-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 509739df7393b3ea830a2c7d501a1f1b7a3fb63c3f85d1643d2e46cec563d26e
MD5 b0778fdde463004c5b310a1fed71df0b
BLAKE2b-256 72fdd47de22f9399fcb2b74f54a956e2f06f609dcb594a19558d9477593a2d7f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page