Crate bootc_lib

Crate bootc_lib 

Source
Expand description

§Bootable container tool

This crate builds on top of ostree’s container functionality to provide a fully “container native” tool for using bootable container images.

For user-facing documentation, see https://bootc-dev.github.io/bootc/. For architecture and internals documentation, see the Internals section.

§Crate Overview

This is the core implementation library for bootc. The bootc binary (crates/cli) is a thin wrapper that delegates to cli::run_from_iter.

The API is internal and not stable for external consumption.

§Module Index

§Core Functionality

§Container and Image Handling

  • image - Image operations and queries
  • boundimage - Logically Bound Images (LBIs)
  • podstorage - bootc-owned container storage (/usr/lib/bootc/storage)
  • podman - Podman command helpers

§Storage Backends

  • bootc_composefs - Composefs backend implementation (experimental)
  • The OSTree backend is implemented via ostree-ext and the store module

§Filesystem and Boot

  • bootloader - Bootloader configuration (GRUB, systemd-boot, UKI)
  • kernel - Kernel and initramfs handling
  • bootc_kargs - Kernel argument management
  • lsm - Linux Security Module (SELinux) integration
  • generator - Systemd generator for boot configuration

§Utilities

  • fsck - Filesystem consistency checks
  • lints - Container image linting
  • metadata - Image metadata extraction

Modules§

bootc_composefs 🔒
bootc_kargs 🔒
This module handles the bootc-owned kernel argument lists in /usr/lib/bootc/kargs.d.
bootloader 🔒
boundimage 🔒
Implementation of “logically bound” container images
cfsctl 🔒
cli
Bootable container image CLI
composefs_consts 🔒
containerenv 🔒
Helpers for parsing the /run/.containerenv file generated by podman.
deploy 🔒
Write deployments merging image with configmap
discoverable_partition_specification 🔒
Partition type GUIDs from the Discoverable Partitions Specification (DPS)
fsck 🔒
Perform consistency checking.
generator 🔒
glyph 🔒
Special Unicode characters used for display with ASCII fallbacks in case we’re not in a UTF-8 locale.
image 🔒
Controlling bootc-managed images
install 🔒
Writing a container to a block device in a bootable way
journal 🔒
Thin wrapper for systemd journaling; these APIs are no-ops when not running under systemd. Only use them when
k8sapitypes 🔒
Subset of API definitions for selected Kubernetes API types. We avoid dragging in all of k8s-openapi because it’s huge.
kernel 🔒
Kernel detection for container images.
lints 🔒
Implementation of container build lints
lsm 🔒
metadata 🔒
parsers 🔒
podman 🔒
podstorage 🔒
bootc-managed instance of containers-storage:
progress_jsonl 🔒
Output progress data using the json-lines format. For more information see https://jsonlines.org/.
reboot 🔒
Handling of system restarts/reboot
spec
The definition for host system state.
status 🔒
store 🔒
The Storage type holds references to three different types of storage:
task 🔒
ukify 🔒
Build Unified Kernel Images (UKI) using ukify.
utils 🔒