Skip to main content

Automated, validated, multi-architecture iPXE boot menu generation - where elves craft your network boot menus

Project description

elfshoe

Automated iPXE boot menu generation - where elves craft your network boot menus.

Documentation

Features

  • 🔧 Configuration-driven - Define distributions and boot options in YAML
  • 🏗️ Multi-architecture support - Automatic x86_64, ARM64, i386, ARM filtering per client
  • 🔄 Dynamic version detection - Automatically fetch latest versions from metadata
  • ✅ URL validation - Verify boot files exist before adding to menu
  • 📝 Custom templates - Jinja2-based templates, easy to customize
  • 🚀 Fast mode - Skip validation for quick regeneration
  • 🎯 Modular architecture - Plugin system for adding new distributions
  • 🏗️ Modern build system - Uses Hatch for packaging and environments

Quick Start

# 1. Copy example configuration
cp docs/examples/config.yaml config.yaml

# 2. Generate menu
elfshoe

# 3. Deploy to your HTTP server
sudo cp elfshoe.ipxe /var/www/pxe/

Installation

From Source

# Clone repository
git clone https://github.com/timhughes/elfshoe.git
cd elfshoe

# Install with pip
pip install -e .

# Or use hatch
hatch shell

Requirements

  • Python >= 3.7
  • PyYAML >= 6.0
  • Jinja2 >= 3.0

Documentation

Example Configuration

See docs/examples/config.yaml for a complete working example with Fedora, CentOS, Debian, and netboot.xyz.

Contributing

Contributions welcome! See CONTRIBUTING.md for development setup and guidelines.

License

MIT License - see LICENSE file for details.

Credits

  • Built with iPXE - open source network boot firmware
  • Uses Hatch for modern Python packaging

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

elfshoe-0.1.2.tar.gz (50.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elfshoe-0.1.2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file elfshoe-0.1.2.tar.gz.

File metadata

  • Download URL: elfshoe-0.1.2.tar.gz
  • Upload date:
  • Size: 50.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for elfshoe-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fac8d03fe3bebda8adac682d5ce8c4d2868d073aa6810a095649adfd15fa2b42
MD5 ef946eba8b9a385af30e7e0c0ad7df58
BLAKE2b-256 9a3bb23304d7336bbc6cc2da7ce3ffbf5919230676a739eb0dab75ff4b4a0f8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for elfshoe-0.1.2.tar.gz:

Publisher: release.yml on timhughes/elfshoe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elfshoe-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: elfshoe-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for elfshoe-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 db4c216cff49086e4dd351ecf8bcbbed276445875b74c6f887f7038574351c32
MD5 96bc2dbb5511eb0355e6c5f383b96601
BLAKE2b-256 b5d0f3afb41732d2f8a0c9241c5a16200561f3f09a10699e38319c0955144148

See more details on using hashes here.

Provenance

The following attestation bundles were made for elfshoe-0.1.2-py3-none-any.whl:

Publisher: release.yml on timhughes/elfshoe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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