conference logo

Playlist "All Systems Go! 2019"

Building Portable Service Images with Buck

Lindsay Salisbury

Buck is an opensource build system. At Facebook, we’ve taught it to build container images that work with systemd.

At Facebook we use an open-source build system called Buck. Buck is a build system designed to provide more strong guarantees of incremental builds, reproducibility, and dependency management. Open-source Buck can now be used to construct fully described and fully self-contained container images that work with systemd! I will show how we use this tool internally at Facebook and how it can be used externally (It’s open-source!) to build service containers for use by systemd. I will dive into the the details of how these builds are performed with systemd-nspawn, how we use the Buck system to define the systemd services and their dependencies, and how these images work at runtime.