Building Portable Service Images with Buck
2019-09-21, 10:30–10:55 (Europe/Berlin), Loft

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.

I am a Production Engineer at Facebook working on their large scale Container system called Tupperware. I have spoken previously at All Systems Go about our specialized use of the Portable Services concept called 'Composable Services'. I have a strong interest in container runtimes, how they operate, and how the images they run are constructed. I also like Cats.