Tinkerbell is a tool that enables users to provision and manage bare metal. It helps standardize infrastructure and application management using the API-centric configuration and automation approach that was pioneered by the Kubernetes community. 

It is made up of four major components: 

  1. a DHCP server called Boots, 
  2. a metadata service called Hegel, 
  3. an in-memory operating system installation environment called OSIE, 
  4. and a workflow engine called Tink. 

There is an optional fifth component for VM and server setups, a Power and Boot service for communicating with BMCs.

In addition to those components, there are three infrastructure pieces that make up Tinkerbell. It uses PostgreSQL as a data store, a local image repository for storing action images used in workflows, and NGINX is used as a web server that can be used as a reverse proxy, load balancer, mail proxy, and HTTP cache. 

Tinkerbell was created by Equinix Metal

The project is available on GitHub here