Commit graph

2 commits

Author SHA1 Message Date
Till Wegmueller
d24dcc0363
Fix builder VM disk sizing, rootfs copy, and diagnostics
- Add disk_gb field to BuilderNode/BuilderConfig with 20GB default,
  fixing debootstrap failure caused by 2GB cloud image running out of
  space. Cloud-init growpart/resize_rootfs expand the partition.

- Replace walkdir-based copy_rootfs with cp -a to preserve symlinks,
  fixing grub-install failure caused by broken merged-/usr symlinks
  (/lib, /bin, /sbin -> /usr/*) in modern Ubuntu.

- Add network verification step that checks DNS before building and
  auto-fixes resolv.conf with SLIRP DNS (10.0.2.3) if needed.

- Add diagnostic collection on failure (debootstrap log, resolv.conf,
  disk space) before VM teardown.

- Include build stderr/stdout in RemoteBuildFailed error for better
  error reporting.

- Install build dependencies (debootstrap, qemu-utils, etc.) inside
  the builder VM before running the build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 18:01:49 +01:00
Till Wegmueller
48f8db1236
Initial implementation of refraction-forger
Standalone workspace with 4 crates for building optimized OS images
and publishing to OCI registries:

- spec-parser: KDL image spec parsing with include resolution and
  profile-based conditional filtering
- forge-oci: OCI image creation (tar layers, manifests, Image Layout)
  and registry push via oci-client
- forge-engine: Build pipeline with Phase 1 (rootfs assembly via native
  package managers with -R) and Phase 2 (QCOW2/OCI/artifact targets),
  plus dyn-compatible ToolRunner trait for external tool execution
- forger: CLI binary with build, validate, inspect, push, and targets
  commands

Ported KDL specs and overlay files from the vm-manager prototype.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:30:22 +01:00