tinkerbell

module
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2025 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 DHCP data.
Package file watches a file for changes and updates the in memory DHCP 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.
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.
internal/ipxe/http
package bhttp is the http server for smee.
package bhttp is the http server for smee.
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/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.

Jump to

Keyboard shortcuts

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