netbootd: automate OS provisioning (PXE booting), DHCP, TFTP, HTTP server

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • netbootd

    Lightweight network boot/install server (DHCP, TFTP, HTTP)

  • 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.

  • Cobbler

    Cobbler is a versatile Linux deployment server

  • 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.

  • 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.

    WorkOS logo
  • netboot

    Packages and utilities for network booting

  • 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.

  • plunder

    A Modern automation platform

  • I think quite similar to https://github.com/plunder-app/plunder and smaller scale than https://tinkerbell.org

  • go-nfs

    golang NFSv3 server

  • 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.

  • 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.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts