From cbad52e3818b1e652fa21f431e4615a62abae5bf Mon Sep 17 00:00:00 2001 From: bootc-dev Bot Date: Fri, 24 Oct 2025 17:02:43 +0000 Subject: [PATCH] Sync common files from infra repository Synchronized from bootc-dev/infra@f214d520055b064b5876572efd4457ec96e34c0e. Signed-off-by: bootc-dev Bot --- README.md | 120 ++---------------------------------------------------- 1 file changed, 4 insertions(+), 116 deletions(-) diff --git a/README.md b/README.md index 31baeb07d..aaaad7fc8 100644 --- a/README.md +++ b/README.md @@ -1,117 +1,5 @@ -# bcvk - bootc virtualization kit - -This project helps launch ephemeral VMs from bootc containers, and also create -disk images that can be imported into other virtualization frameworks. - -## Installation - -For now `git clone && cargo build --release`. - -## Quick Start - -### Running a bootc container as ephemeral VM - -This doesn't require any privileges, it's just a wrapper -for `podman`. It does require a virt stack (qemu, virtiofsd) -in the host environment. - -```bash -bcvk ephemeral run -d --rm -K --name mytestvm quay.io/fedora/fedora-bootc:42 -bcvk ephemeral ssh mytestvm -``` - -Or to fully streamline the above and have the VM automatically terminate when you exit -the SSH client: - -```bash -bcvk ephemeral run-ssh quay.io/fedora/fedora-bootc:42 -``` - -Everything with `bcvk ephemeral` creates a podman container that reuses the -host virtualization stack, and - -### Creating a persistent bootable disk image from a container image -```bash -# Install bootc image to disk -bcvk to-disk quay.io/centos-bootc/centos-bootc:stream10 /path/to/disk.img -``` - -### Image management - -There's a convenient helper function which filters by all container images -with the `containers.bootc=1` label: `bcvk images list` - -### libvirt integration - -The libvirt commands provide comprehensive integration with libvirt infrastructure for managing bootc containers as persistent VMs. - -#### Running a bootc container as a libvirt VM - -```bash -# Basic libvirt VM creation with default settings (2GB RAM, 2 CPUs, 20GB disk) -bcvk libvirt run quay.io/fedora/fedora-bootc:42 - -# Custom VM with specific resources and name -bcvk libvirt run --name my-fedora-vm --memory 4096 --cpus 4 --disk-size 50G quay.io/fedora/fedora-bootc:42 - -# Run VM with port forwarding and volume mounts -bcvk libvirt run --name web-server --port 8080:80 --volume /host/data:/mnt/data quay.io/centos-bootc/centos-bootc:stream10 - -# Run VM in background and automatically SSH into it -bcvk libvirt run --detach --ssh --name test-vm quay.io/fedora/fedora-bootc:42 -``` - -#### Managing libvirt VMs - -```bash -# List all bootc-related libvirt domains -bcvk libvirt list - -# SSH into a running VM -bcvk libvirt ssh my-fedora-vm - -# Stop a running VM -bcvk libvirt stop my-fedora-vm - -# Start a stopped VM -bcvk libvirt start my-fedora-vm - -# Get detailed information about a VM -bcvk libvirt inspect my-fedora-vm - -# Remove a VM and its resources -bcvk libvirt rm my-fedora-vm -``` - -#### Advanced libvirt workflows - -```bash -# Upload a pre-built disk image to libvirt storage -bcvk to-disk quay.io/fedora/fedora-bootc:42 /tmp/fedora.img -bcvk libvirt upload /tmp/fedora.img --name fedora-base - -# Create a domain from uploaded image -bcvk libvirt create fedora-base --name my-vm --memory 8192 - -# Run with custom filesystem and network settings -bcvk libvirt run --filesystem xfs --network bridge quay.io/centos-bootc/centos-bootc:stream10 -``` - -## Goals - -This project aims to implement part of -. - -Basically it will be "bootc virtualization kit", and help users -run bootable containers as virtual machines. - -Related projects and content: - -- https://github.com/coreos/coreos-assembler/ -- https://github.com/ublue-os/bluefin-lts/blob/main/Justfile - -## Development - -See [docs/HACKING.md](docs/HACKING.md). - +# Common synchronized files +Files placed in this repository are automatically +synchronized (via a pull request) to all repositories +in the bootc-dev organization.