shoelaces(8) | System Manager's Manual | shoelaces(8) |
shoelaces - automated server bootstrapping
shoelaces [options...]
-base-url <string>
-bind-addr <host:port>
-config <config>
-data-dir <directory>
-debug
-env-dir <directory>
-mappings-file <file>
-static-dir <directory>
-template-extension <extension>
Shoelaces serves over HTTP iPXE boot scripts, cloud-init configuration, and any other configuration files to baremetal or virtual machines booting using iPXE. It also does a few other things to make easier managing server deployments:
Shoelaces is better when used along a DHCP server. Refer to the CONFIGURATION section for examples on how to configure a DHCP server for hooking it with Shoelaces.
Shoelaces searches for a config file whenever the -config flag is specified.
Here is example config file:
bind-addr=localhost:8081 data-dir=/etc/shoelaces/data-dir/ template-extension=.slc mappings-file=mappings.yaml debug=true
dhcpd(8) can be hooked with Shoelaces by adding the following snippet in dhcpd.conf(5):
# dhcp.conf next-server <your-tftp-server>; if exists user-class and option user-class = "iPXE" {
filename "http://<shoelaces-server>/poll/1/${netX/mac:hexhyp}"; } else {
filename "undionly.kpxe"; }
Similarly, dnsmasq(8) can be configured for working with Shoelaces with the following snippet:
dhcp-match=set:ipxe,175 # iPXE sends a 175 option. dhcp-boot=tag:!ipxe,undionly.kpxe dhcp-boot=http://<shoelaces-server>/poll/1/${netX/mac:hexhyp}
A TFTP server such as tftpd(8) must be configured to serve the IPXE ROM, undionly.kpxe.
Maintained by ThousandEyes Inc. <opensource@thousandeyes.com>.
Up-to-date sources can be found at https://github.com/thousandeyes/shoelaces.
Bugs reports and patches can be submitted via GitHub's interface or contacting the maintainers directly via email.
2021-07-18 |