
Tinkerbell
Tinkerbell is a free, open-source engine for provisioning and managing bare metal infrastructure.
What Tinkerbell is
Tinkerbell is a free, open-source engine for provisioning and managing bare metal infrastructure. Its core stack includes Tink, Smee, Tootles, and Hook, with optional power and boot services plus a Cluster API provider. Workflows pair hardware with templates and are managed as Kubernetes custom resources. Templates sequence actions such as streaming an image to disk, writing files, and partitioning disks; actions may use any container image available to the worker. Smee supplies DHCP and TFTP, serving iPXE and the initial installation image. Tootles exposes hardware metadata over HTTP, including an AWS EC2-compatible format. Rufio can manage baseboard controllers and perform one-off physical-machine actions. Deployment options include Kubernetes, a standalone binary, and Docker Compose. Kubernetes 1.26 or later is recommended for production. The stack needs Layer 2 networking or a DHCP relay, at least 2 vCPUs, 4 GB RAM, and 300 MB disk; target workers need iPXE boot support.
Good
- Open-source bare metal provisioning
- Declarative Kubernetes custom resources
- Supports image, file, and disk actions
- Provides DHCP and TFTP network boot
- Offers Cluster API integration
Watch out
- Requires Layer 2 networking or DHCP relay
- Production setup recommends Kubernetes 1.26 or later
- Workers must support iPXE boot
- Quick-start path needs public internet
Who it suits
It suits infrastructure teams provisioning dedicated physical servers and creating Kubernetes clusters on bare metal. Users should be comfortable with Kubernetes, network booting, and the documented resource requirements.
Verdict
Tinkerbell offers API-centric workflows for provisioning physical machines and integrating bare metal with Kubernetes. Its networking, boot, and resource prerequisites should be checked before deployment.
The facts
Each one read from Tinkerbell's own pages, with the date it was checked.
What it does
- BMC management
- Rufio manages baseboard management controllers and can execute one-off actions to bring physical machines to a desired state.checked 5 Oct 2026
- Cluster API integration
- Tinkerbell provides a Cluster API infrastructure provider that lets it serve as a bare-metal provider for Cluster API.checked 10 Oct 2026
- Community support
- The project directs users to its documentation, GitHub organization, and the #tinkerbell channel in the CNCF Slack workspace for help and participation.checked 5 Oct 2026
- Core stack
- The core stack consists of Smee, Tootles, Hook, and Tink.checked 10 Oct 2026
- Custom actions
- Actions can use any container image available to the worker.checked 5 Oct 2026
- Deployment options
- The installation guide documents Kubernetes, a standalone binary, and Docker Compose; Kubernetes is recommended for production use.checked 10 Oct 2026
- Kubernetes integration
- The Cluster API provider lets Tinkerbell act as a bare metal provider for Kubernetes cluster creation and management.checked 5 Oct 2026
- Metadata
- Tootles exposes hardware metadata over HTTP and can provide it in an AWS EC2 compatible format.checked 5 Oct 2026
- Minimum resources
- The architecture page lists minimum stack resources of 2 vCPUs, 4 GB RAM, and 300 MB disk.checked 10 Oct 2026
- Network boot
- Smee provides DHCP and TFTP services and serves iPXE and the initial installation image.checked 5 Oct 2026
- Network requirement
- The stack requires Layer 2 networking for its DHCP server, or a DHCP relay configured to forward traffic to the stack.checked 10 Oct 2026
- Optional hardware management
- Optional PBnJ and Rufio services communicate with baseboard management controllers.checked 10 Oct 2026
- Production setup
- The documentation recommends Kubernetes for production and specifies Kubernetes 1.26 or later as a prerequisite.checked 5 Oct 2026
- Provisioning model
- It uses an API-centric, declarative configuration and automation approach inspired by the Kubernetes community.checked 10 Oct 2026
- Purpose
- Tinkerbell is a bare-metal provisioning engine maintained by the Tinkerbell Community.checked 10 Oct 2026
- Resource requirements
- The documented minimum stack resources are 2 vCPUs, 4 GB RAM, and 300 MB disk, and target worker machines must support iPXE network boot.checked 5 Oct 2026
- Setup limitation
- The quick-start guide says its Vagrant and Libvirt path requires public internet and does not support air-gapped or proxied environments.checked 10 Oct 2026
- Stack components
- The core stack includes Tink, Smee, Tootles, and Hook, with optional power and boot services and a Cluster API provider.checked 5 Oct 2026
- Support
- The community page directs users to documentation, GitHub for bugs and feature ideas, and the CNCF Slack #tinkerbell channel for discussion.checked 10 Oct 2026
- Target hardware
- A target worker must support iPXE network boot and needs about 2 GB RAM to load HookOS and run a workflow; actual memory needs depend on action container images.checked 10 Oct 2026
- Templates
- Templates contain sequential tasks and actions, including actions such as streaming an image to disk, writing files, and partitioning disks.checked 5 Oct 2026
- Workflow execution environment
- HookOS is a lightweight in-memory operating system used to run Tink Worker and execute workflows.checked 10 Oct 2026
- Workflow management
- Workflows combine hardware and a template, are defined as Kubernetes custom resources, and are managed by tink-controller.checked 10 Oct 2026
- Workflow model
- A workflow combines hardware and a template for execution and is managed as a Kubernetes custom resource.checked 5 Oct 2026
Alternatives to Tinkerbell
- 1

Canonical MAAS
Free planOpen sourceWebAPILinuxSelf-hosted8.1From $30 a year - 2

Foreman
Free planWebAPILinuxSelf-hosted6.9Free plan - 3
openQRM Enterprise
Free planWebAPILinuxSelf-hosted6.3Free plan - 4

Cobbler
Free planAPILinuxSelf-hosted6.2Free plan - 5
xCAT
Free planAPILinuxSelf-hosted6.2Free plan - 6

OpenNebula
WebAPILinuxSelf-hosted6.0
