bootc-dev/bootc

Boot and upgrade via container images

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 31 minutes ago
Added to GitGenius on November 18th, 2024
Created on November 30th, 2022
Open Issues & Pull Requests: 334 (+0)
Number of forks: 222
Total Stargazers: 2,229 (+0)
Total Subscribers: 28 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.1 hours
Mean response time: 36.0 days
90th percentile: 81.0 days
Tracked items: 517

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 54% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "area/composefs" is answered fastest, typically in about 3 hours, while "enhancement" waits about 2 days. 59% of tracked open issues have had no activity in three months. Only 5% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 269
New in 7 days: 9
Closed in 7 days: 2
Avg open age: 341 days
Stale 30+ days: 246
Stale 90+ days: 211

Recent activity

Opened in 7 days: 9
Closed in 7 days: 2
Comments in 7 days: 8
Events in 7 days: 14

Top labels

  • triaged (137)
  • enhancement (122)
  • area/install (105)
  • area/client (74)
  • bug (44)
  • good first issue (26)
  • area/ci (25)
  • area/system-reinstall-bootc (24)

Detailed Description

Bootc is a Rust-based project that enables transactional, in-place operating system updates using OCI and Docker container images as the transport and delivery format for base operating system updates. Rather than treating containers solely as an application deployment mechanism, bootc applies the layered container model to bootable host systems themselves, allowing Linux distributions and system operators to package complete operating system images including kernels and userspace components in standard container formats.

The project's core innovation lies in its approach to system updates. A bootc container image includes a Linux kernel, typically stored in locations like /usr/lib/modules, which is used to boot the target system. Importantly, the base userspace does not run inside a container by default at runtime. Instead, standard init systems like systemd operate as pid1 in the traditional manner, with no outer container process wrapping the system. This design preserves conventional system architecture while leveraging container technology for distribution and versioning.

Bootc is classified across numerous system-level categories including booting, boot loaders, system startup, Linux initialization, OCI compliance, kernel modules, initramfs handling, and systemd integration. The project also intersects with container runtimes including runc, containerd, podman, and cri-o, reflecting its position at the intersection of container technology and operating system infrastructure. Its domain classification includes microservices and Kubernetes contexts, indicating adoption patterns beyond traditional server deployments.

The project maintains a stable CLI and API, with a commitment to seamless in-place upgrades across future versions. Version numbering follows semantic versioning standards beginning with version 1.2.0. The project is not distributed as a library on crates.io but maintains version discipline nonetheless. Bootc itself is distribution-agnostic, functioning as a client-side tool that works across different Linux distributions and operating systems. The project directs users to an ADOPTERS.md file for information about base images and end-user implementations.

Community engagement is substantial and well-organized.

Bootc operates as a Cloud Native Computing Foundation Sandbox project and adheres to the CNCF Community Code of Conduct. The project hosts recurring community meetings on CNCF Zoom each Friday at 15:30 UTC, maintains a GitHub discussion forum for asynchronous communication, and operates a live chat channel on CNCF Slack. The project is tightly related to the Fedora and CentOS bootc initiatives, with shared community spaces including Matrix channels and weekly video calls. Comprehensive governance, contribution, and maintainer documentation is available in the repository.