Matchbox automates network booting and provisioning of clusters. These examples show how to use matchbox on-premise or locally with QEMU/KVM.

Terraform Examples

These examples use Terraform as a client to Matchbox.

Name Description
simple-install Install Container Linux with an SSH key
etcd3-install Install a 3-node etcd3 cluster
bootkube-install Install a 3-node self-hosted Kubernetes v1.6.4 cluster


You are encouraged to look through the examples and Terraform modules. Implement your own profiles or package them as modules to meet your needs. We've just provided a starting point. Learn more about matchbox and Container Linux configs.

Manual Examples

These examples mount raw Matchbox objects into a Matchbox server's /var/lib/matchbox/ directory.

Name Description CoreOS Version FS Docs
simple CoreOS with autologin, using iPXE stable/1353.7.0 RAM reference
simple-install CoreOS Install, using iPXE stable/1353.7.0 RAM reference
grub CoreOS via GRUB2 Netboot stable/1353.7.0 RAM NA
etcd3 PXE boot a 3 node etcd3 cluster with proxies stable/1353.7.0 RAM None
etcd3-install Install a 3 node etcd3 cluster to disk stable/1353.7.0 Disk None
bootkube PXE boot a self-hosted Kubernetes v1.6.4 cluster stable/1353.7.0 Disk tutorial
bootkube-install Install a self-hosted Kubernetes v1.6.4 cluster stable/1353.7.0 Disk tutorial



Example profiles pass the coreos.autologin kernel argument. This skips the password prompt for development and troubleshooting and should be removed before production.

SSH Keys

Example groups allow ssh_authorized_keys to be added for the core user as metadata. You might also include this directly in your Ignition.

# /var/lib/matchbox/groups/default.json
    "name": "Example Machine Group",
    "profile": "pxe",
    "metadata": {
        "ssh_authorized_keys": ["ssh-rsa pub-key-goes-here"]

Conditional Variables


Some examples check the pxe variable to determine whether to create a /dev/sda1 filesystem and partition for PXEing with root=/dev/sda1 ("pxe":"true") or to write files to the existing filesystem on /dev/disk/by-label/ROOT ("pxe":"false").