Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -94,5 +94,5 @@ archive: build

# Install the binary to ~/.local/bin
install: build
cp target/release/bck ~/.local/bin/
cp target/release/bcvk ~/.local/bin/

6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ 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
host virtualization stack, making it simple to test bootc containers without
requiring root privileges or dedicated VM infrastructure.

### Creating a persistent bootable disk image from a container image
```bash
Expand Down Expand Up @@ -90,9 +91,6 @@ bcvk libvirt rm my-fedora-vm
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
```
Expand Down
4 changes: 2 additions & 2 deletions docs/HACKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ Integration tests require QEMU/KVM to be fully working as they launch actual VMs

## Running

Ensure the entrypoint script is in `$PATH`, i.e. that `bck` works.
Ensure the entrypoint script is in `$PATH`, i.e. that `bcvk` works.

Then you can invoke `bck`.
Then you can invoke `bcvk`.

## Code formatting

Expand Down
2 changes: 2 additions & 0 deletions docs/src/HACKING.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# HACKING

See [../HACKING.md](../HACKING.md) for development instructions.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For better readability, it's generally preferred to use a clean name for the link text rather than a relative path. How about using HACKING.md as the link text?

Suggested change
See [../HACKING.md](../HACKING.md) for development instructions.
See [HACKING.md](../HACKING.md) for development instructions.

2 changes: 1 addition & 1 deletion docs/src/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ sudo systemctl enable --now libvirtd
## Clone and Build

```bash
git clone https://github.com/cgwalters/bcvk.git
git clone https://github.com/bootc-dev/bcvk.git
cd bcvk
cargo build --release
```
Expand Down
2 changes: 1 addition & 1 deletion docs/src/contributing.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Contributing

We welcome contributions to bcvk! Please see [docs/HACKING.md](../HACKING.md) for detailed development instructions.
We welcome contributions to bcvk! Please see [../HACKING.md](../HACKING.md) for detailed development instructions.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For better readability and consistency with other files, it's generally preferred to use a clean name for the link text rather than a relative path. How about using HACKING.md as the link text?

Suggested change
We welcome contributions to bcvk! Please see [../HACKING.md](../HACKING.md) for detailed development instructions.
We welcome contributions to bcvk! Please see [HACKING.md](../HACKING.md) for detailed development instructions.

69 changes: 2 additions & 67 deletions docs/src/disk-images.md
Original file line number Diff line number Diff line change
@@ -1,69 +1,4 @@
# Disk Images

The `to-disk` command creates bootable disk images from bootc containers.

## Supported Formats

```bash
# Raw disk image (default)
bcvk to-disk quay.io/fedora/fedora-bootc:42 output.img

# QCOW2 (compressed, for QEMU/KVM)
bcvk to-disk --format qcow2 quay.io/fedora/fedora-bootc:42 output.qcow2

# VHD (Hyper-V, Azure)
bcvk to-disk --format vhd quay.io/fedora/fedora-bootc:42 output.vhd

# VMDK (VMware)
bcvk to-disk --format vmdk quay.io/fedora/fedora-bootc:42 output.vmdk
```

## Configuration Options

```bash
# Disk size
bcvk to-disk --size 50G quay.io/fedora/fedora-bootc:42 output.img

# Filesystem type
bcvk to-disk --filesystem xfs quay.io/fedora/fedora-bootc:42 output.img
bcvk to-disk --filesystem ext4 quay.io/fedora/fedora-bootc:42 output.img

# Partitioning scheme
bcvk to-disk --partition gpt quay.io/fedora/fedora-bootc:42 output.img
bcvk to-disk --partition mbr quay.io/fedora/fedora-bootc:42 output.img
```

## Common Use Cases

### Cloud Deployment

```bash
# AWS/GCP (raw format)
bcvk to-disk --format raw --size 30G quay.io/fedora/fedora-bootc:42 cloud.img

# Azure (VHD format)
bcvk to-disk --format vhd --size 30G quay.io/fedora/fedora-bootc:42 azure.vhd
```

### Bare Metal

```bash
# Create bootable USB/SD card image
bcvk to-disk --size 16G quay.io/fedora/fedora-bootc:42 usb.img
sudo dd if=usb.img of=/dev/sdX bs=4M status=progress
```

### Virtualization

```bash
# QEMU/KVM
bcvk to-disk --format qcow2 quay.io/fedora/fedora-bootc:42 vm.qcow2
qemu-system-x86_64 -hda vm.qcow2 -m 2048 -enable-kvm

# VMware
bcvk to-disk --format vmdk quay.io/fedora/fedora-bootc:42 vm.vmdk

# VirtualBox (requires conversion)
bcvk to-disk --format raw quay.io/fedora/fedora-bootc:42 vm.img
VBoxManage convertfromraw vm.img vm.vdi
```
The `to-disk` command creates disk images from bootc containers.
It is a wrapper for [bootc install to-disk](https://bootc-dev.github.io/bootc/man/bootc-install-to-disk.8.html).
Comment on lines +3 to +4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While it's great that you're removing incorrect information, this change removes all examples, making the documentation less helpful. The bcvk to-disk command has its own options and workflow that are worth documenting with a few examples.

To improve usability, please consider restoring a few corrected examples to give users a quick and accurate starting point. For example:

# Disk Images

The `to-disk` command creates disk images from bootc containers.
It is a wrapper for [bootc install to-disk](https://bootc-dev.github.io/bootc/man/bootc-install-to-disk.8.html), but provides its own options for disk creation and runs the installation inside an ephemeral VM.

## Examples

### Basic Usage

To create a default raw disk image:
```bash
bcvk to-disk quay.io/fedora/fedora-bootc:42 output.img

Specifying Format and Size

To create a 20GB qcow2 image:

bcvk to-disk --format qcow2 --disk-size 20G quay.io/fedora/fedora-bootc:42 output.qcow2

Custom Filesystem

To use the xfs filesystem:

bcvk to-disk --filesystem xfs quay.io/fedora/fedora-bootc:42 output.img

1 change: 0 additions & 1 deletion docs/src/libvirt-manage.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ bcvk libvirt run --name myvm quay.io/fedora/fedora-bootc:42
# Manage state
bcvk libvirt start myvm
bcvk libvirt stop myvm
bcvk libvirt restart myvm

# Remove VM
bcvk libvirt rm myvm
Expand Down
1 change: 0 additions & 1 deletion docs/src/libvirt-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ bcvk libvirt run \
--name production-api \
--memory 8192 \
--cpus 4 \
--autostart \
quay.io/myapp/api:v1.0

# Development setup with SSH
Expand Down
Loading