This repository is Experimental meaning that it's based on untested ideas or techniques and not yet established or finalized or involves a radically new and innovative style! This means that support is best effort (at best!) and we strongly encourage you to NOT use this in production.
It is comprised of following five major components:
- A DHCP server (boots)
- A workflow engine (tink, this repository)
- A metadata service (hegel)
- An in-memory installation environment(osie)
- A controller/handler of BMC interactions(pbnj)
The workflow engine is comprised of a server and a CLI, which communicates over gRPC. The CLI is used to create a workflow and its building blocks: templates and targeted hardware.
Use make help
Luke.
The most interesting targets are make all
(or just make
) and make images
.
make all
builds all the binaries for your host OS and CPU to enable running directly.
make images
will build all the binaries for Linux/x86_64 and build docker images with them.
A workflow is a framework responsible for handling flexible, bare metal provisioning, that is...
- standalone and does not need the Packet API to function
- contains
Boots
,Tink
,Hegel
,OSIE
,PBnJ
and workers - can bootstrap any remote worker using
Boots + Hegel + OSIE + PBnJ
- can run any set of actions as Docker container runtimes
- receive, manipulate, and save runtime data
For complete documentation, please visit the Tinkerbell project hosted at tinkerbell.org.