mirror of
https://github.com/outbackdingo/matchbox.git
synced 2026-01-27 18:19:36 +00:00
* Migrate from the internal Drone server using a GitHub Workflow to perform the multi-arch container image build * Use self-hosted GitHub runners on ARM64 to perform the ARM64 build step faster that QEMU/KVM emulation * Mandate approval for all workflow runs from outside contributors since the builds use push credentials and partially run internally
45 lines
2.2 KiB
Markdown
45 lines
2.2 KiB
Markdown
# matchbox
|
|
[](https://pkg.go.dev/github.com/poseidon/matchbox)
|
|
[](https://quay.io/repository/poseidon/matchbox)
|
|
[](https://github.com/poseidon/matchbox/actions/workflows/build.yaml?query=branch%3Amain)
|
|

|
|
[](https://github.com/sponsors/poseidon)
|
|
[](https://fosstodon.org/@poseidon)
|
|
|
|
`matchbox` is a service that matches bare-metal machines to profiles that PXE boot and provision clusters. Machines are matched by labels like MAC or UUID during PXE and profiles specify a kernel/initrd, iPXE config, and Ignition config.
|
|
|
|
## Features
|
|
|
|
* Chainload via iPXE and match hardware labels
|
|
* Provision Fedora CoreOS or Flatcar Linux (powered by [Ignition](https://github.com/coreos/ignition))
|
|
* Authenticated gRPC API for clients (e.g. Terraform)
|
|
|
|
## Documentation
|
|
|
|
* [Docs](https://matchbox.psdn.io/)
|
|
* [Configuration](docs/config.md)
|
|
* [HTTP API](docs/api-http.md) / [gRPC API](docs/api-grpc.md)
|
|
|
|
## Installation
|
|
|
|
Matchbox can be installed from a binary or a container image.
|
|
|
|
* Install Matchbox as a [binary](docs/deployment.md#matchbox-binary), as a [container image](docs/deployment.md#container-image), or on [Kubernetes](docs/deployment.md#kubernetes)
|
|
* Setup a PXE-enabled [network](docs/network-setup.md)
|
|
|
|
## Tutorials
|
|
|
|
Start provisioning machines with Fedora CoreOS or Flatcar Linux.
|
|
|
|
* [Terraform Usage](docs/getting-started.md)
|
|
* Fedora CoreOS (PXE install to disk)
|
|
* Flatcar Linux (PXE install to disk)
|
|
* [Local QEMU/KVM](docs/getting-started-docker.md)
|
|
* Fedora CoreOS (live PXE or PXE install to disk)
|
|
* Flatcar Linux (live PXE or PXE install to disk)
|
|
|
|
## Contrib
|
|
|
|
* [dnsmasq](contrib/dnsmasq/README.md) - Run DHCP, TFTP, and DNS services as a container
|
|
* [terraform-provider-matchbox](https://github.com/poseidon/terraform-provider-matchbox) - Terraform provider plugin for Matchbox
|