Tinkerbell is a bare metal provisioning engine, built and maintained by the team at Tinkerbell Community. Tinkerbell consists of five microservices: Boots, Hegel, Hook, PBnJ, and Tink.
Tinkerbell has four major components: a DHCP server (Boots), a metadata service (Hegel), an in-memory operating system installation environment (Hook) and a workflow engine (Tink). There is also an optional fifth component useful in VM and server setups: a Power and Boot service (PBnJ) that communicates with BMCs. The workflow engine is comprised of a server and a CLI, which communicate over gRPC. The CLI is used to create a workflow along with its building blocks, templates and targets.