**Tinkerbell** is a lightweight, declarative bare metal provisioning framework originally built by Equinix Metal and now a CNCF sandbox project. Where [[MAAS]] is a full-featured platform with its own UI and database, Tinkerbell is a composable toolkit — you define provisioning workflows as code and assemble the components you need. --- ### First Principle: Provisioning workflows should be version-controlled, composable, and auditable — not locked inside a platform UI. Tinkerbell uses a workflow engine where each step is a container action. You define what happens during provisioning (partitioning, OS installation, network config) as a YAML workflow. The actions run sequentially on the target machine, giving you full control and a clear audit trail. --- ### Key Considerations - **Workflow-as-Code**: Provisioning workflows are YAML-defined and stored in Git — making them reviewable, testable, and repeatable. - **Components**: Tink Server (workflow state machine), Tink Worker (agent on target hardware), OSIE (in-memory OS for running actions), and Hegel (metadata service). - **Kubernetes-Native**: Designed to run inside [[Kubernetes]], making it composable with existing cluster infrastructure. - **vs MAAS**: [[MAAS]] is easier to get started with; Tinkerbell gives more flexibility for operators who need full control over provisioning logic. --- ### How It Fits ``` Physical hardware (IPMI/DHCP/PXE) → Tinkerbell (workflow engine provisions the OS) → [[KVM]] + [[OpenStack]] or [[Kubernetes]] (workload platform) ``` [[Bare Metal]] | [[MAAS]] | [[OpenBMC]] | [[Kubernetes]] | [[Open Source Hyperscaler MoC]]