bootable server images

cairn

cairn builds the operating system for a few home servers as one image, a complete copy of the system, made in public by an automated build service, signed with keys published here, and tested by starting it on a test machine first. A server updates by switching to the next image whole.

A server that installs updates piece by piece slowly stops matching any known setup, and a bad update can leave it unable to start. cairn replaces the whole system at once, and the server checks that its bootloader and system carry cairn's signature before it starts. The recipes and the build steps are public; each server's own settings stay private. It is for people who run a server at home and want to check how it was made.

CAIRN END TO END IN CI · CATALOG, PUBLIC IN CI · YOUR FORK, PRIVATE ON YOUR MACHINE promoted base push promoted digest reboot signs modules signs boot firmware keys KEYS · MINTED OFFLINE one key set public halves at /keys/ IN Fedora packages nothing inherited BUILD from scratch modules signed SEAL signed boot UKI · verity root GATE test-booted VM · Secure Boot on PROMOTE :stable servers follow it YOU BRING your fork host-specific config BUILD your instance on a promoted base ONCE install Ignition · TPM EVERY BOOT verified boot TPM unlocks the disk DAY TWO bootc upgrade next digest · reboot CAIRN END TO END IN CI · CATALOG, PUBLIC IN CI · YOUR FORK, PRIVATE ON YOUR MACHINE promoted base push promoted digest reboot KEYS · MINTED OFFLINE one key set public halves at /keys/ IN Fedora packages nothing inherited BUILD from scratch modules signed SEAL signed boot UKI · verity root GATE test-booted VM · Secure Boot on PROMOTE :stable servers follow it YOU BRING your fork host-specific config BUILD your instance on a promoted base ONCE install Ignition · TPM EVERY BOOT verified boot TPM unlocks the disk DAY TWO bootc upgrade next digest · reboot

The catalog builds in public, your fork and your machine stay private, and every public half of the keys is published.

In depth: image, sealing, pipeline, trust, running, install.

  • A computer with Secure Boot and a TPM, the security chip that unlocks the encrypted disk only when the signed system starts.
  • Firmware settings that let you add your own Secure Boot keys.
  • A way to start the installer: the computer's network boot, or a USB stick.
  • A recovery passphrase, the way back in if the chip cannot unlock the disk.
  • For your own server, a copy of a cairn image with your settings added.

Architecture

How each layer works, from the image to disk encryption.

Verify

Public keys and fingerprints for checking anything cairn signs.

Source

The image recipes, the pipeline and this site.