Repository navigation
Ignite v3.0.0
Highlights
- The web UI is redesigned with two modes, Cozy and Console. Press
\to switch between them, and the choice is saved per user. - The original flame logo is back in the nav, on the login page and as the favicon.
- A status bar on every page shows overall service health.
- Overview and DHCP pages show pool stats, including in-flight and failed counts.
- Provision editor: live syntax highlighting as you type (cloud-init/YAML, kickstart, preseed, iPXE/shell, PXE menus, AutoYaST, and {{ }} template tags), replacing the old Preview button. It adds about 5 KB, loaded only on that page.
- Dynamic OS image catalog: Ignite discovers current releases from each distro (Ubuntu LTS, Debian, Fedora, CentOS Stream, openSUSE Leap/Tumbleweed, NixOS) at startup and every OS_CATALOG_REFRESH (default 24h), hides end-of-life releases using endoflife.date, and falls back to a built-in list offline (OS_CATALOG_OFFLINE=true pins it). The OS Images page shows catalog status with a Refresh button, and downloaded images that reach end of life get an EOL badge but keep working.
- OS image catalog: live release lists, an EOL badge, and refresh.
Backend
- Every form now has per-session CSRF protection plus a same-host Origin check.
COOKIE_SECURE=autokeeps logins working over plain HTTP. - Each host gets its own provisioning callback token. A cleanup ticker runs in the background, and several race conditions are fixed.
- DHCP status is consistent everywhere (running, stopped or configured), and timestamps are RFC3339.
- Syslinux activation stages files and then swaps them in. The endpoint is
POST /api/syslinux/activate/{version}. - Redfish/BMC: certificate checks are skipped by default because homelab BMCs are usually self-signed. Set
BMC_TLS_VERIFY=trueto enforce them.BMC_SYSTEM_ID/system_idselects a system when a BMC has more than one. A powered-off host gets On, and a running host gets ForceRestart. kernel_optionsrejects control characters./statusnow redirects to/.- New settings:
TFTP_PORT, plusDHCP_ENABLED. When DHCP_ENABLED is false, DHCP servers show configured and Start returns 409 with an explanation.HTTP_PORTis unchanged. - OS images: end-of-life releases removed and current ones added (Ubuntu 22.04/24.04/26.04, Debian 12/13, Fedora 43/44, CentOS Stream 9/10, NixOS 26.05, openSUSE Leap 16.0 and Tumbleweed). Image downloads, which were broken for every distro, are fixed, and iPXE menu paths now match where images are stored. A hardened, read-only /os-images/ route serves boot files to PXE clients without auth.
Upgrading from 2.x (breaking)
- Back up first. Copy
ignite.dband your TFTP directory before you recreate the container. - Mount the new volumes. Mount
/app/data(holdsignite.dband the Syslinux cache at/app/data/syslinux) and/app/public/tftp. If you don't mount them, data will not persist across container recreation. - Syslinux. Any version you downloaded before 3.0.0 must be downloaded again before it can be activated, because the cache moved to
/app/data/syslinux. - API clients and scripts. POSTs to the web UI now need the session CSRF token, so scripts that posted to UI forms will get 403.
- BMC TLS.
BMC_TLS_INSECUREis gone. Verification is off by default, andBMC_TLS_VERIFY=trueturns it on. - Regenerate the iPXE config after upgrading.
Full changelog: v2.2.1...v3.0.0
What's Changed
- Phase 1 backend: host callback auth, lease maintenance, overview data by @chadleeshaw in #15
- Restyle the web UI with Cozy and Console themes by @chadleeshaw in #16
- OS images: drop EOL releases, fix download and iPXE paths by @chadleeshaw in #17
- Highlight provision templates inside the editor by @chadleeshaw in #18
- OS images: dynamic release catalog with EOL filtering by @chadleeshaw in #19
Full Changelog: v2.2.1...v3.0.0