tinkerbell

module
v0.23.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2026 License: Apache-2.0

README

Tinkerbell

For each commit and PR codecov Go Report Card CLO Monitor CNCF Slack Channel CNCF Landscape FOSSA Status OpenSSF Best Practices

Tinkerbell is a bare metal provisioning engine. It supports network and ISO booting and BMC interactions as well as a metadata service and a workflow engine for provisioning. Some of the features include:

  • Cloud-init integration
  • DHCP with Host reservation or ProxyDHCP
  • Third-party DHCP server integration
  • BMC support via Redfish, IPMI, IntelAMT, and more
  • Auto-discovery of Hardware
  • Serial over SSH

For more details, see the Tinkerbell documentation.

Adopters

A list of adopters and a brief description of their use cases is in our adopters document.

Code of Conduct

Before getting started, read and understand our Code of Conduct.

Community

The Tinkerbell community meets for a video call weekly on Tuesdays. The details are in our community meeting doc.

Contributing

If you are interested in contributing to Tinkerbell, see our contributing guidelines.

Design Philosophy

The Tinkerbell project has a set of design principles that guide the development of the project. These principles are outlined in our design philosophy document.

Governance

The Tinkerbell project is governed by a group of Maintainers and Committers. How they are selected and governance details are outlined in our governance document.

Release Process

The Tinkerbell project follows a release process outlined in our release process document.

Roadmap

To follow along and contribute to the Tinkerbell roadmap, see our roadmap repository.

Security

For security issues, see our security document.

Directories

Path Synopsis
api module
cmd
agent command
tinkerbell command
pkg
api
Package api contains API Schema definitions for the Tinkerbell and BMC v1alpha1 API groups.
Package api contains API Schema definitions for the Tinkerbell and BMC v1alpha1 API groups.
backend/file
Package file watches a file for changes and updates the in memory hardware data.
Package file watches a file for changes and updates the in memory hardware data.
backend/kube
Package kube is a backend implementation that uses the Tinkerbell CRDs to get DHCP data.
Package kube is a backend implementation that uses the Tinkerbell CRDs to get DHCP data.
flag/netip
Package netip provides wrappers around net/netip types to implement the flag.Value interface.
Package netip provides wrappers around net/netip types to implement the flag.Value interface.
http/middleware
Package middleware provides common HTTP middleware for the Tinkerbell HTTP server.
Package middleware provides common HTTP middleware for the Tinkerbell HTTP server.
http/server
Package server provides an HTTP/HTTPS server for Tinkerbell.
Package server provides an HTTP/HTTPS server for Tinkerbell.
otel
https://github.com/equinix-labs/otel-init-go Copyright [yyyy] [name of copyright owner]
https://github.com/equinix-labs/otel-init-go Copyright [yyyy] [name of copyright owner]
xff
https://github.com/sebest/xff Copyright (c) 2015 Sebastien Estienne (sebastien.estienne@gmail.com)
https://github.com/sebest/xff Copyright (c) 2015 Sebastien Estienne (sebastien.estienne@gmail.com)
script
version command
internal
https://github.com/alanshaw/multiwriter
https://github.com/alanshaw/multiwriter
internal/dhcp/handler/proxy
Package proxy implements a DHCP handler that provides proxyDHCP functionality.
Package proxy implements a DHCP handler that provides proxyDHCP functionality.
internal/dhcp/handler/reservation
Package noop is a backend handler that does nothing.
Package noop is a backend handler that does nothing.
internal/dhcp/otel
Package otel handles translating DHCP headers and options to otel key/value attributes.
Package otel handles translating DHCP headers and options to otel key/value attributes.
internal/dhcp/server
Package dhcp providers UDP listening and serving functionality.
Package dhcp providers UDP listening and serving functionality.
internal/ipxe/binary/file
Package binary handles embedding of the iPXE binaries.
Package binary handles embedding of the iPXE binaries.
tink
agent/internal/pkg/rand
Package rand provides utilities related to randomization.
Package rand provides utilities related to randomization.
package tootles is the code for serving metadata (ec2 style, etc).
package tootles is the code for serving metadata (ec2 style, etc).
internal/backend
Package backend provides tootles-specific backend logic for converting Hardware resources into EC2 and Hack instance metadata formats.
Package backend provides tootles-specific backend logic for converting Hardware resources into EC2 and Hack instance metadata formats.
internal/frontend/ec2/internal/staticroute
Package staticroute provides tools for building EC2 Instance Metadata static routes from the set of data endpoints.
Package staticroute provides tools for building EC2 Instance Metadata static routes from the set of data endpoints.
internal/frontend/hack
Package hack contains a frontend that provides a /metadata endpoint for the rootio hub action.
Package hack contains a frontend that provides a /metadata endpoint for the rootio hub action.
ui
Package ui provides the Tinkerbell web UI service.
Package ui provides the Tinkerbell web UI service.
assets
Package assets provides embedded static assets for the Tinkerbell web UI.
Package assets provides embedded static assets for the Tinkerbell web UI.
internal/http
Package webhttp provides HTTP handlers for the Tinkerbell web UI.
Package webhttp provides HTTP handlers for the Tinkerbell web UI.
templates
templ: version: v0.3.977
templ: version: v0.3.977

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL