shoelaces(8)
β¨ shoelaces(8) β the system manager's manual but make it cute β¨
okay bestie, buckle UP π this is the shoelaces page from the System Manager's Manual, and it's literally about automated server bootstrapping. yes. servers. getting their lil shoes tied. that's the whole vibe. π
πΈ NAME πΈ
shoelaces β automated server bootstrapping π₯Ύβ¨
π¦ SYNOPSIS π¦
shoelaces [options...]
that's it. that's the whole thing. options go brrr. π«
π OPTIONS π
every single one, no skips, no cap:
-base-url<string>β optional, bestie. it sets the base address used when generating URLs. if you don't pass it, the value of-bind-addrgets used instead. lowkey convenient. β¨-bind-addr<host:port>β where Shoelaces listens for requests. defaults tolocalhost:8081. π-config<config>β points at a config file. and guess what β every option below can live in that config too. so you can just vibe with a file instead of 800 flags. π-data-dir<directory>β a directory holding mappings, configs, templates, etc. the whole lil treasure chest. ποΈ-debugβ turns on debug mode. π-env-dir<directory>β a directory with environment overrides. the README of the project has the tea on how environment overrides work. β-mappings-file<file>β a mappings YAML file. defaults tomappings.yaml. again, README of the project for the deets on mappings. π-static-dir<directory>β a custom web directory full of static files. defaults toweb. π-template-extension<extension>β the Shoelaces template extension. defaults to.slc. slc stands for slay, probably. π
π DESCRIPTION π
so here's the main character energy: Shoelaces serves over HTTP iPXE boot scripts, cloud-init configuration, and literally any other configuration files to baremetal or virtual machines booting using iPXE. π₯οΈβ¨
and it does a few other things too, to make managing server deployments easier:
- Has a simple but nice UI to show the current configuration, and history of servers that booted. π
- Uses Go templates to handle complex configurations. πΉ
- Allows specifying the boot entry point for a given server based on its IP address or DNS PTR record. π
- Supports the notion of environments for Development and Production environment configurations, while trying to minimize template duplication. π±π
- Puts unknown servers into iPXE script boot retry loop, while at the same time showing them in the UI allowing the user to select a specific boot configuration. π
and fr fr β Shoelaces is better when used along a DHCP server. the CONFIGURATION section below has examples of how to hook a DHCP server up with Shoelaces. π«Ά
π CONFIGURATION π
Shoelaces goes looking for a config file whenever the -config flag is specified. simple as that. π«
here's an example config file, iconic:
bind-addr=localhost:8081
data-dir=/etc/shoelaces/data-dir/
template-extension=.slc
mappings-file=mappings.yaml
debug=true
and now the fun part β dhcpd(8) can be hooked with Shoelaces by adding this snippet into dhcpd.conf(5):
# dhcp.conf
next-server <your-tftp-server>;
if exists user-class and option user-class = "iPXE" {
filename "http://<shoelaces-server>/start";
} else {
filename "undionly.kpxe";
}
same energy with dnsmasq(8) β configure it for working with Shoelaces using this snippet:
dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
dhcp-boot=tag:!ipxe,undionly.kpxe
dhcp-boot=http://<shoelaces-server>/start
β οΈ and don't forget, bestie β a TFTP server such astftpd(8)must be configured to serve the iPXE executable,undionly.kpxe. no tftp, no boots. periodt. π
π¦ SEE ALSO π¦
dhcpd(8) dhcpd.conf(5) dnsmasq(8) tftpd(8)
go read those too, iykyk πβ¨
π AUTHORS π
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. ππ
and that's the whole page, bestie!! this was the shoelaces(8) manual from the System Manager's Manual, dated 2023-08-24. go tie some server shoes. slay. πππ¦
π¦ where this page comes from
- ubuntu noble: shoelaces 1.3.2+ds-1build1 Β· Apache-2.0
- ubuntu questing: shoelaces 1.3.2+ds-1build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms