Skip to main content

bootc_lib/
lib.rs

1// The internals docs are built with --document-private-items, so allow
2// linking to private items from module documentation.
3#![allow(rustdoc::private_intra_doc_links)]
4
5//! # Bootable container tool
6//!
7//! This crate builds on top of ostree's container functionality
8//! to provide a fully "container native" tool for using
9//! bootable container images.
10//!
11//! For user-facing documentation, see <https://bootc.dev/bootc/>.
12//! For architecture and internals documentation, see the
13//! [Internals](https://bootc.dev/bootc/internals.html) section.
14//!
15//! # Crate Overview
16//!
17//! This is the core implementation library for bootc. The `bootc` binary
18//! (`crates/cli`) is a thin wrapper that delegates to [`cli::run_from_iter`].
19//!
20//! The API is internal and not stable for external consumption.
21//!
22//! # Module Index
23//!
24//! ## Core Functionality
25//!
26//! - [`cli`] - Command-line interface implementation (clap-based)
27//! - [`deploy`] - Deployment staging, rollback, and lifecycle management
28//! - [`store`] - Storage backend abstraction (OSTree and Composefs)
29//! - [`spec`] - Core types: [`spec::Host`], [`spec::HostSpec`], [`spec::BootEntry`]
30//! - [`install`] - System installation (`bootc install to-disk`)
31//! - [`status`] - Status reporting (`bootc status`)
32//!
33//! ## Container and Image Handling
34//!
35//! - [`image`] - Image operations and queries
36//! - [`delta`] - oci-delta artifacts (`--from-delta`)
37//! - [`boundimage`] - Logically Bound Images (LBIs)
38//! - [`podstorage`] - bootc-owned container storage (`/usr/lib/bootc/storage`)
39//! - [`podman`] - Podman command helpers
40//!
41//! ## Storage Backends
42//!
43//! - [`bootc_composefs`] - Composefs backend implementation
44//! - The OSTree backend is implemented via `ostree-ext` and the [`store`] module
45//!
46//! ## Filesystem and Boot
47//!
48//! - [`bootloader`] - Bootloader configuration (GRUB, systemd-boot, UKI)
49//! - [`kernel`] - Kernel and initramfs handling
50//! - [`bootc_kargs`] - Kernel argument management
51//! - [`lsm`] - Linux Security Module (SELinux) integration
52//! - [`generator`] - Systemd generator for boot configuration
53//!
54//! ## Utilities
55//!
56//! - [`fsck`] - Filesystem consistency checks
57//! - [`lints`] - Container image linting
58//! - [`metadata`] - Image metadata extraction
59//!
60//! # Related Crates
61//!
62//! - [`ostree-ext`](../ostree_ext/index.html) - OCI/ostree bridging
63//! - [`bootc-internal-mount`](../bootc_mount/index.html) - Mount utilities
64//! - [`linux-kernel-cmdline`](../linux_kernel_cmdline/index.html) - Cmdline parsing
65//! - [`etc-merge`](../etc_merge/index.html) - `/etc` three-way merge
66
67mod aboot;
68mod boot_artifact;
69mod bootc_composefs;
70pub(crate) mod bootc_kargs;
71mod bootloader;
72mod boundimage;
73pub mod cli;
74mod composefs_consts;
75mod container_export;
76mod containerenv;
77pub(crate) mod delta;
78pub(crate) mod delta_ostree;
79pub(crate) mod deploy;
80pub(crate) mod fsck;
81pub(crate) mod generator;
82mod glyph;
83mod image;
84mod install;
85pub(crate) mod journal;
86mod k8sapitypes;
87mod kernel;
88mod lints;
89mod loader_entries;
90mod lsm;
91pub(crate) mod metadata;
92mod mount;
93mod parsers;
94mod podman;
95pub(crate) mod podman_client;
96mod podstorage;
97mod progress_jsonl;
98mod reboot;
99pub mod spec;
100mod status;
101mod store;
102mod sysusers_cleanup;
103mod task;
104mod ukify;
105mod utils;
106
107#[cfg(test)]
108pub(crate) mod testutils;
109
110#[cfg(feature = "docgen")]
111mod cli_json;
112
113#[cfg(feature = "rhsm")]
114mod rhsm;
115
116// Re-export blockdev crate for internal use
117pub(crate) use bootc_blockdev as blockdev;