Skip to content

battery-operator v0.2.0: a reference Host Image and Cluster API host pools

Choose a tag to compare

@phoban01 phoban01 released this 29 Sep 15:59
· 18 commits to main since this release
v0.2.0
219f212

battery-operator now provides a reference Host Image, and Cluster API templates that make Hosts from it (ADR 0007).

  • The Host Image is a bootc image on Fedora bootc 44. It carries containerd with its thin pool, Firecracker, Cloud Hypervisor, flintlockd over mutual TLS, the kubelet and kubeadm, a guest bridge with DHCP, NAT and isolation from the cluster, and SELinux enforcing. It is built for linux/amd64 and linux/arm64. See hostimage/README.md.
  • The Cluster API host pool templates in config/capi/ boot the Host Image on AWS and join each Host with kubeadm, with one settings object per pool: instance type, AMI, subnet, security groups, root volume size and the Host's settings. See config/capi/README.md.
  • hack/kubeadm-host/ proves the two together on a Mac: a Host booted from the arm64 image joins a kubeadm cluster, and runs a Pool, a claim and the guest network.
  • A Bound claim now has a HostReady condition, taken from the Exec Agent's report on its Host. The Client Library reports a Host that goes not ready to the Consumer (Claim.HostNotReady(), CL-050 to CL-053, CC-013).
  • The EXPIRES column of kubectl get microvmclaims shows a timestamp (#161).

Images:

  • ghcr.io/phoban01/battery-operator:v0.2.0 and ghcr.io/phoban01/battery-operator/exec-agent:v0.2.0, for linux/amd64 and linux/arm64.
  • ghcr.io/phoban01/battery-operator/host-image:v0.2.0, for linux/amd64 and linux/arm64. To make an AMI from it, see hostimage/README.md.

Docs: https://phoban01.github.io/battery-operator/