bluefin-server

Build and convert FSDK-based bluefin-server bootc images into KubeVirt containerDisks.

11|9|Updated May 25, 2026
One-click install
npx skills add https://github.com/projectbluefin/lab --skill bluefin-server-projectbluefin
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: bluefin-server
Source: https://github.com/projectbluefin/lab/tree/main/docs/skills/bluefin-server
Command: npx skills add https://github.com/projectbluefin/lab --skill bluefin-server-projectbluefin

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building the bluefin-server bootc image with BuildStream fails in non-obvious ways: sandboxed Cargo compiles have no network access, bootc install refuses images missing prepare-root.conf, and containerDisk conversion crashes without an explicit filesystem parameter. This Skill codifies the fixes for each failure mode. ## Core Features & Use Cases - Offline Cargo Builds: Vendor Rust dependencies with cargo vendor, package them as .tar.zstd archives, and configure .cargo/config.toml so BuildStream sandboxes compile bootc fully offline. - Bootc Target Readiness: Ensure os-stack.bst includes prepare-root-config.bst so bootc install to-disk passes static image validation. - containerDisk Conversion: Run the build-containerdisk workflow with explicit filesystem and disk-size parameters to produce KubeVirt volumes for server testing. - Use Case: A build fails with "Failed to find ostree/prepare-root.conf"; use this Skill to add the missing prepare-root-config element to os-stack.bst and rebuild successfully. ## Quick Start Use the bluefin-server skill to fix my BuildStream build that fails with a missing prepare-root.conf error during bootc install to-disk.

Frequently Asked Questions about bluefin-server

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build Cargo projects offline in BuildStream?▼

Vendor dependencies with cargo vendor, compress them into a .tar.zstd archive, and extract it in the build script with tar --zstd. Then configure .cargo/config.toml to redirect crates-io to the vendored directory and compile with cargo build --release --offline.

Why does bootc install to-disk fail with missing prepare-root.conf?▼

bootc install to-disk performs static image validation and requires /usr/lib/ostree/prepare-root.conf inside the OCI image. Add the prepare-root-config.bst element to os-stack.bst so the config is written during the build.

How do I convert a bootc OCI image to a KubeVirt containerDisk?▼

Run the build-containerdisk workflow template with an explicit filesystem parameter such as -p filesystem=ext4 and a reasonable disk size like -p disk-size=10G. Omitting the filesystem parameter causes the conversion to fail with a missing root filesystem error.

Why does Cargo fail with network errors inside a BuildStream sandbox?▼

BuildStream prohibits network access during the build phase to enforce reproducibility, so all sources must be pre-fetched. The failure means .cargo/config.toml is missing or the --offline flag was not passed to cargo.

When should I not use this bluefin-server build skill?▼

Do not use it for standard downstream Fedora or CentOS Bluefin image management, GNOME Shell VM testing deployments, or Flatcar kernel lifecycle management. Those workflows are covered by separate ci-tooling, kubevirt-vms, and flatcar-node-onboarding documentation.