Skip to content

feat(linbo): add LINBO management extension modules#6

Open
amolani wants to merge 2 commits intolinuxmuster:lmn73from
amolani:feat/linbo-modules
Open

feat(linbo): add LINBO management extension modules#6
amolani wants to merge 2 commits intolinuxmuster:lmn73from
amolani:feat/linbo-modules

Conversation

@amolani
Copy link
Copy Markdown

@amolani amolani commented Mar 25, 2026

Add 18 new Python modules to linuxmusterTools.linbo for LINBO boot infrastructure management. These modules provide reusable building blocks for linuxmuster-webui plugins, CLI tools, and API routers.

New modules:

  • ssh.py, terminal.py: SSH command execution + interactive PTY sessions
  • wol.py, host_status.py: Wake-on-LAN + TCP port probe for online detection
  • grub_generator.py: GRUB config generation from start.conf data objects
  • firmware.py: firmware detection (dmesg parsing), config management, boot-log health analysis
  • drivers.py: driver profile CRUD with ZIP extraction and validation
  • kernel.py: kernel variant switching + linbofs rebuild trigger
  • linbofs.py: linbofs64 rebuild orchestration with file-based locking
  • dhcp.py: dnsmasq proxy-DHCP + ISC DHCP config export (server IP configurable, auto-detected from setup.ini)
  • image_sync.py: image download with HTTP Range resume + MD5 verification
  • multicast.py, torrent.py: multicast/BitTorrent distribution wrappers
  • boot_logs.py: boot log access + host image status parsing
  • wlan.py: WLAN/wpa_supplicant configuration management
  • linbo_update.py: APT-based LINBO package update management
  • hooks.py: update-linbofs hook discovery
  • _validation.py: centralized validation using upstream NameChecker with fallback regex for standalone usage

Design decisions:

  • Zero runtime dependencies (paramiko optional via lazy import)
  • Uses upstream NameChecker for validation when available
  • No duplication of existing parsers (config.py, images.py, models.py)
  • All subprocess calls use list form (no shell=True)
  • Path traversal protection on all file operations
  • GPL-3.0-only, Python >= 3.10

amolani and others added 2 commits March 25, 2026 16:05
Add 18 new Python modules to linuxmusterTools.linbo for LINBO boot
infrastructure management. These modules provide reusable building blocks
for linuxmuster-webui plugins, CLI tools, and API routers.

New modules:
- ssh.py, terminal.py: SSH command execution + interactive PTY sessions
- wol.py, host_status.py: Wake-on-LAN + TCP port probe for online detection
- grub_generator.py: GRUB config generation from start.conf data objects
- firmware.py: firmware detection (dmesg parsing), config management,
  boot-log health analysis
- drivers.py: driver profile CRUD with ZIP extraction and validation
- kernel.py: kernel variant switching + linbofs rebuild trigger
- linbofs.py: linbofs64 rebuild orchestration with file-based locking
- dhcp.py: dnsmasq proxy-DHCP + ISC DHCP config export
  (server IP configurable, auto-detected from setup.ini)
- image_sync.py: image download with HTTP Range resume + MD5 verification
- multicast.py, torrent.py: multicast/BitTorrent distribution wrappers
- boot_logs.py: boot log access + host image status parsing
- wlan.py: WLAN/wpa_supplicant configuration management
- linbo_update.py: APT-based LINBO package update management
- hooks.py: update-linbofs hook discovery
- _validation.py: centralized validation using upstream NameChecker
  with fallback regex for standalone usage

Design decisions:
- Zero runtime dependencies (paramiko optional via lazy import)
- Uses upstream NameChecker for validation when available
- No duplication of existing parsers (config.py, images.py, models.py)
- All subprocess calls use list form (no shell=True)
- Path traversal protection on all file operations
- GPL-3.0-only, Python >= 3.10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant