Skip to content

Latest commit

 

History

History
95 lines (72 loc) · 7.86 KB

README.md

File metadata and controls

95 lines (72 loc) · 7.86 KB

awesome-baremetal

Bare-metal is awesome. Let's share our favourite tools.

Rules

  • Ordered alphabetically (eventually consistent)
  • Recent development or release (within the last 6 months) - or deemed relevant by curator
  • No defunct or abandoned projects
  • Must show signs of traction or corporate use
  • No "my scripts for my homelab that only I use" submissions.
  • This list is curated and not a museum, so the project should be active and relevant
  • No advertisements
  • Format: link to GitHub or website - "quote from GitHub repo or website"

Curator: Alex Ellis - CNCF Ambassador, OpenFaaS & Inlets Founder.

Self-hosted

  • bmc-toolbox - "bmc-toolbox is bunch of tools to ease BMC management"
  • cobbler - "Cobbler is a Linux installation server that allows for rapid setup of network installation environments"
  • Collins - "CMDB / state machine for infrastructure automation"
  • confluent - "Service for onboarding and management of baremetal server BMCs and PXE"
  • Digital Rebar - "Digital Rebar is the data center automation, provisioning and infrastructure as code (IaC) platform designed with a cloud native architecture replacing Cobbler, Foreman, MaaS or similar technologies"
  • foreman - "From provisioning and configuration to orchestration and monitoring, Foreman integrates with your existing infrastructure to make operations easier"
  • ironic "A service for managing and provisioning Bare Metal servers" - from OpenStack Foundation
  • LinuxKit - "A toolkit for building secure, portable and lean operating systems for containers" - PXE support, focus on immutable infrastructure.
  • Lokomotive - "Lokomotive is a 100% open-source Kubernetes distribution from the folks at Kinvolk"
  • MaaS - "Metal as a Service" by Canonical
  • Matchbox - "Matchbox is a service that matches bare-metal machines to profiles that PXE boot and provision clusters"
  • metalk8s - "MetalK8s was launched to make it easier to run Kubernetes (K8s) on bare-metal servers that need persistent storage" by Scality
  • Metal Stack - "we believe kubernetes runs best on bare metal. we build an api to manage bare metal hardware and kubernetes on top of that."
  • Metal³ - "Bare Metal Host Provisioning for Kubernetes" - with ClusterAPI support and built with Ironic
  • mr-provisioner - "Bare metal provisioning tool"
  • netboot.xyz - "a way to PXE boot various operating system installers or utilities from one place within the BIOS without the need of having to go retrieve the media to run the tool."
  • pixiecore "Pixiecore is an tool to manage network booting of machines" by Dave Anderson
  • plundr - "Plunder is a single-binary server that is all designed in order to make the provisioning of servers, platforms and applications easier." - with ClusterAPI support
  • RackHD - "a technology stack for enabling automated hardware management and orchestration through cohesive APIs. It serves as an abstraction layer between other management layers and the underlying, vendor-specific physical hardware."
  • Razor - "Razor is next generation provisioning software that handles bare metal hardware and virtual server provisioning"
  • Talos Systems - "A New Tool for Kubernetes Bare Metal" - with ClusterAPI support
  • Tinkerbell - "Tinkerbell is a bare metal provisioning engine. It’s built and maintained with love by the team at Equinix Metal."

Networking for bare-metal cloud

  • dnsmasq - "Dnsmasq provides network infrastructure for small networks: DNS, DHCP, router advertisement and network boot."
  • HAProxy - "The Reliable, High Performance TCP/HTTP Load Balancer" - often used in place of hardware LB.
  • inlets PRO - "A Cloud Native Tunnel for L4 TCP and L7 HTTPS traffic with built-in encryption"
  • inlets-operator - "Public IPs for your private Kubernetes Services using inlets PRO"
  • inlets - Easy to use HTTP tunnel written in Go
  • kube-vip - "Kubernetes Control Plane Virtual IP and Load-Balancer"
  • MetalLB - "MetalLB is a load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols."
  • Squid - "a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages." - used with bare-metal to cache packages and ISO images

Bare-metal cloud

x86_64 and / or arm64:

The Raspberry Pi 4B provides arm64 support with several operating systems like Ubuntu 20.04 / 22.04 being available. An NVMe can be plugged in over USB-C, see also: Upgrade your Raspberry Pi 4 with a NVMe boot drive

x86_x64 only:

Open Source Virtualization

This section is for projects like Proxmox, for where the community feel strongly, but their submission doesn't fit into the bare-metal category.

  • oVirt - "oVirt is an open-source distributed virtualization solution, designed to manage your entire enterprise infrastructure. oVirt uses the trusted KVM hypervisor and is built upon several other community projects, including libvirt, Gluster, PatternFly, and Ansible."
  • Ganeti - "Open source hyperconverged VM platform that scales from several to thousands of bare metal servers. Originally written for internal use at Google."
  • Proxmox VE - "Proxmox VE is a complete open-source platform for all-inclusive enterprise virtualization that tightly integrates KVM hypervisor and LXC containers, software-defined storage and networking functionality on a single platform"

Appendix

Sorting sections

Each section should be sorted after it's been updated, here's how you can do that with bash.

cat | sort -f
# Copy / paste

# Control + D

Then paste the output back into the document.