Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I wanted something that is almost zero-config, almost zero footprint (does not mirror packages, unpack ISOs, etc) to deploy on TORs and completely flexible in crafting preseed files, boot parameters, etc. The industry-grade Foreman makes it extremely difficult to iterate on crafting the perfect preseed mix in a shared-Foreman scenario, with its elaborate API model. I wanted a manifest that has-it-all. As an IaaC/Ansible user, I wanted to be able to ask netbootd to serve a given host (and stop serving it) on the fly, with a very simple API.
It's been done before but I never felt satisfied with existing solutions. I know Foreman (Ruby), Cobbler (Python), Digital Rebar (Go, not open source) . With the exception of the last one, they are orchestrators for external DHCP, TFTP, HTTP servers, which means you run tons of different software.
More inline with the power of self-contained Go single-binary solution is Pixiecore, GoPXE and Trixiecore. Those are simpler to run, but a bit stale or not as flexible with different operating systems.
I think quite similar to https://github.com/plunder-app/plunder and smaller scale than https://tinkerbell.org
If you want one of those, it is at https://github.com/willscott/go-nfs/ I have never really seen the need for it -- for read-only data, http(s) does just fine, and a general-use read-write file store without tight security encourages bad deploy patterns at scale.