Production deployment notes

In Launchpad’s production build farm, launchpad-buildd is deployed via base virtual machine images constructed by taking standard Ubuntu cloud images and installing launchpad-buildd in them from https://launchpad.net/~canonical-is-sa/+archive/ubuntu/buildd. This is done by https://code.launchpad.net/~canonical-sysadmins/canonical-is-charms/launchpad-buildd-image-modifier (currently private, sorry).

We deliberately run builders in virtual machines rather than containers for the following reasons:

  • avoiding issues with nested containerization

  • containers are not secure enough against being escaped by malicious code

Additional context

Charm recipe builds, Launchpad CI, live filesystem builds, OCI recipe builds, and snap recipe builds all build in LXD containers. Everything else builds in chroots.

Please note that the LXD containers do not share basic system directories with the host.