vm-manager/VMFile.kdl
Till Wegmueller eb78c24a8b
Add OmniOS builder VM definition and provisioning scripts
VMFile.kdl defines the omnios-builder VM with cloud-init, SSH config,
and a 3-stage provision pipeline (bootstrap packages + Rust, upload
forger source tarball, build and install forger). Makefile provides
convenience targets wrapping vmctl commands. pack-forger.sh creates a
minimal tarball of just the forger + spec-parser crates and image specs
from refraction-forger for upload to the VM.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:56:43 +01:00

32 lines
723 B
Text

vm "omnios-builder" {
image-url "https://downloads.omnios.org/media/stable/omnios-r151056.cloud.qcow2"
vcpus 4
memory 4096
disk 20
cloud-init {
hostname "omnios-builder"
ssh-key "~/.ssh/id_ed25519.pub"
}
ssh {
user "smithy"
private-key "~/.ssh/id_ed25519"
}
// Stage 1: System packages and Rust toolchain
provision "shell" {
script "scripts/bootstrap-omnios.sh"
}
// Stage 2: Upload forger source
provision "file" {
source "scripts/forger-src.tar.gz"
destination "/tmp/forger-src.tar.gz"
}
// Stage 3: Extract and build forger
provision "shell" {
script "scripts/install-forger.sh"
}
}