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
cli- Command-line interface implementation (clap-based)deploy- Deployment staging, rollback, and lifecycle managementstore- Storage backend abstraction (OSTree and Composefs)spec- Core types:spec::Host,spec::HostSpec,spec::BootEntryinstall- System installation (bootc install to-disk)status- Status reporting (bootc status)
§Container and Image Handling
image- Image operations and queriesboundimage- 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-extand thestoremodule
§Filesystem and Boot
bootloader- Bootloader configuration (GRUB, systemd-boot, UKI)kernel- Kernel and initramfs handlingbootc_kargs- Kernel argument managementlsm- Linux Security Module (SELinux) integrationgenerator- Systemd generator for boot configuration
§Utilities
fsck- Filesystem consistency checkslints- Container image lintingmetadata- Image metadata extraction
§Related Crates
ostree-ext- OCI/ostree bridgingbootc-mount- Mount utilitiesbootc-kernel-cmdline- Cmdline parsingetc-merge-/etcthree-way merge
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/.containerenvfile 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
Storagetype holds references to three different types of storage: - task 🔒
- ukify 🔒
- Build Unified Kernel Images (UKI) using ukify.
- utils 🔒