No description
Find a file
2026-05-24 14:43:48 -05:00
README.md first commit 2026-05-24 14:43:48 -05:00

Overview

This repository contains the logic for touching the "outside world." It interacts with hypervisors, builds OS images, establishes secure outbound mounts, and manages the lifecycle of target worker nodes.

Core Responsibilities

  • Hypervisor Resource Pools: Wraps APIs for Libvirt, Proxmox, vSphere, AWS, etc., to autonomously provision and destroy VMs.
  • Automated Image Bakery: Compiles LUKS-encrypted OS images, injecting one-time setup keys and custom initramfs configurations.
  • PXE & Remote Execution: Acts as an HTTPS endpoint for iPXE booting. Handles the outbound SSH connections to inject LUKS passwords via Dropbear.
  • Pluggable Runtime Adapters: Manages the deployment targets. Handles establishing reverse sshfs/gocryptfs mounts and overriding environments for systemd, Docker, Podman, and Kubernetes.

Exported Interfaces / API

  • ProvisionNode(HypervisorTarget, Specifications)
  • BakeImage(SetupKey, LTPK_Anchor) -> Returns bootable ISO/initramfs stream.
  • DeployConfig(TargetNode, PlaintextConfig, RuntimeAdapterType) -> Establishes ephemeral mount, restarts service, severs connection.
  • SetPowerState(TargetNode, State) -> Interacts with IPMI/Redfish or Hypervisor API.

Suggested Tech Stack

  • Language: Go.
  • Libraries: Cloud Provider SDKs, go-libvirt, wrappers for packer or native chroot builders, sftp (for sshfs client implementation).