Skip to content

Commit 9e4b5e9

Browse files
authored
Update bootc-resources.md
1 parent 6fcd85c commit 9e4b5e9

File tree

1 file changed

+83
-78
lines changed

1 file changed

+83
-78
lines changed

docs/bootc-resources.md

Lines changed: 83 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,80 +1,85 @@
11

22

3-
### **A Curriculum for Mastering Bootable Containers with `bootc`**
4-
5-
6-
-----
7-
8-
### **Module 1: The Big Picture - Why Bootable Containers?**
9-
10-
**Goal:** Understand the vision behind `bootc` and why image-based operating systems are a transformative approach to system management.
11-
12-
* **1.1: The Vision from the Experts**
13-
* **Video:** [Bootable Containers A deep dive into image based OS - Fedora Flock 2024 ](https://www.youtube.com/watch%3Fv%3Ds_t40323sE0) - A foundational talk by Dan Walsh (creator of SELinux & Podman).
14-
* **Video:** [Keynote: Revolutionize your OS deploy and management with bootc containers - DevConf.CZ 2025](https://pretalx.devconf.info/devconf-cz-2025/talk/YT9CKK/) - A keynote presentation on the revolutionary potential of `bootc`.
15-
* **1.2: Core Project & Foundational Concepts**
16-
* [bootc-dev/bootc - GitHub](https://github.com/bootc-dev/bootc) - The official project repository.
17-
* [Bootc Documentation](https://bootc-dev.github.io/bootc/)
18-
* [Getting Started with Bootable Containers - Fedora Documentation](https://docs.fedoraproject.org/en-US/bootc/) - A maybe outdated guide explaining the core concepts.
19-
* **1.3: The Future is Now: CNCF and Community**
20-
* [Shape the Future of Linux: Contribute to bootc Open Source Project | Red Hat Developer](https://www.google.com/search?q=https://developers.redhat.com/articles/2024/06/11/shape-future-linux-contribute-bootc-open-source-project) - Discusses `bootc`'s acceptance into the CNCF Sandbox.
21-
22-
-----
23-
24-
### **Module 2: Under the Hood - How `bootc` Works**
25-
26-
**Goal:** Gain a technical understanding of how a container image becomes a running, bootable operating system.
27-
28-
* **2.1: The Installation Process**
29-
* [Understanding `bootc-image-builder`](https://github.com/osbuild/bootc-image-builder) - Main tool for building Disk images from Bootc images.
30-
* **2.2: The Bootc Filesystem**
31-
* [Filesystem - `bootc`](https://docs.fedoraproject.org/en-US/bootc/filesystem/) - Explains the read-only `/usr` and persistent `/etc`/`/var` layout.
32-
* **2.3: Provisioning and Advanced Use Cases**
33-
* [System provisioning and `bootc`, now and the future :: DevConf.CZ 2025](https://www.youtube.com/watch?v=2OrumHcgdvk) - A talk by Colin Walters (maintainer of `bootc`) on provisioning.
34-
* [How pre-tuned real-time bootable containers work | Red Hat Developer](https://developers.redhat.com/articles/2025/03/06/how-pre-tuned-real-time-bootable-containers-work) - A technical article on using `bootc` for real-time workloads.
35-
36-
-----
37-
38-
### **Module 3: Exploring the Ecosystem - What's Already Out There?**
39-
40-
**Goal:** Discover the wide variety of pre-built `bootc` images available.
41-
42-
* **3.1: The Foundational Base Images**
43-
* **Fedora:** `quay.io/fedora/fedora-bootc:42`
44-
* **CentOS Stream:** `quay.io/centos-bootc/centos-bootc:stream10`
45-
* **AlmaLinux:** `quay.io/almalinuxorg/almalinux-bootc:10`
46-
* **3.2: Community-Driven Desktop Images**
47-
* **Universal Blue:** [Project Homepage](https://universal-blue.org/)
48-
* **The Tuna-OS Family:** [tuna-os/tunaOS on GitHub](https://github.com/tuna-os/tunaOS) (Yellowfin, Albacore, Bluefin-tuna, Redfin).
49-
* **Other Desktops:** AlmaLinux Atomic Desktops, HeliumOS.
50-
* **3.3: Edge & Server Deployments**
51-
* [RamaEdge/os-builder](https://github.com/RamaEdge/os-builder) - Example of `k3s` and `Microshift` baked into `bootc` images.
52-
53-
-----
54-
55-
### **Module 4: Let's Build\! - Creating Your Own Custom OS**
56-
57-
**Goal:** Transition from a consumer to a creator. Build, customize, and manage your own bootable container image.
58-
59-
* **4.1: The Starting Point for Desktops**
60-
* [ublue-os/image-template](https://github.com/ublue-os/image-template) - The recommended template for creating your own customized desktop OS using GitHub Actions.
61-
* **4.2: Best Practices for Building Images**
62-
* [Building images - `bootc` Documentation](https://bootc-dev.github.io/bootc/building/guidance.html) - Official guidance on creating robust and maintainable images.
63-
* [Best Practices for Building Bootable Containers](https://developers.redhat.com/articles/2025/02/26/best-practices-building-bootable-containers)
64-
* **4.3: Self-Hosting a GitOps Pipeline**
65-
* [Self-hosting `bootc` images for desktop and server](https://mrguitar.net/?p=2627) - An excellent guide on setting up your own GitOps pipeline to build and manage `bootc` images, giving you full control over your infrastructure.
66-
* **4.4: For the Nix-heads: Integrating Your Development Workflow**
67-
* [Managing Your Laptop with Bootable Containers, Fedora Toolbox, Nix, and Home Manager :: DevConf.CZ 2025](https://www.youtube.com/watch?v=P9XydScZZzs) - Explains how to combine an immutable OS with the flexibility of Nix for development.
68-
69-
-----
70-
71-
### **Module 5: Advanced Topics - Security & Automation**
72-
73-
**Goal:** Secure your custom images by integrating modern security practices directly into your build pipeline.
74-
75-
* **5.1: Generating a Software Bill of Materials (SBOM)**
76-
* **Tool:** [Syft](https://github.com/anchore/syft) - For generating SBOMs from container images.
77-
* **Reference:** Example `bootc` repo using Syft and Grype for SBOM and vulnerability scanning.
78-
* **5.2: Automated Vulnerability Scanning**
79-
* **Tool:** [Trivy](https://github.com/aquasecurity/trivy) - A comprehensive vulnerability scanner.
80-
* **Reference:** [Trivy-scan Example GitHub Action](https://github.com/aquasecurity/trivy-action) for CI/CD integration.
3+
---
4+
5+
### **Intro**
6+
7+
* [Flock 2024 Bootable Containers A deep dive into image based OS](https://www.youtube.com/watch?v=uNZuYBq5XfI) \- [Dan Walsh](https://www.redhat.com/en/authors/dan-walsh) (Father of SELinux/Podman)
8+
* [**bootc-dev/bootc: Boot and upgrade via container images \- GitHub**](https://github.com/bootc-dev/bootc)
9+
* The official project repository, a great place to start for a high-level overview of the project's goals, status, and community.
10+
* [**Getting Started with Bootable Containers \- Fedora Documentation**](https://docs.fedoraproject.org/en-US/bootc/getting-started/)
11+
* A foundational guide that explains the core concepts, benefits, and how to start using bootable containers.
12+
---
13+
14+
### **How It Works**
15+
16+
* [**Understanding bootc install**](https://bootc-dev.github.io/bootc//bootc-install.html)
17+
* A deep dive into the bootc install command, which is the core of how a container image becomes a bootable system. It explains the process of writing to disk and setting up the bootloader.
18+
* [**Filesystem \- bootc**](https://bootc-dev.github.io/bootc/filesystem.html)
19+
* Explains the immutable filesystem layout of a bootc system, with /usr being read-only and /etc and /var being used for persistent, mutable data.
20+
* [**How pre-tuned real-time bootable containers work | Red Hat Developer**](https://developers.redhat.com/articles/2025/03/06/how-pre-tuned-real-time-bootable-containers-work)
21+
* A technical article that provides an example of using bootc for real-time workloads, offering a peek into its internal mechanisms and customization.
22+
*
23+
24+
---
25+
26+
### **What about Nix?**
27+
28+
* [Nix-Fedora-Toolbox](https://thrix.github.io/nix-toolbox/)
29+
* [Managing Your Laptop with Bootable Containers, Fedora Toolbox, Nix, and Home Manager :: DevConf.CZ 2025](https://pretalx.devconf.info/devconf-cz-2025/talk/G9JURJ/)
30+
31+
---
32+
33+
### **Deploying with Bootc on Bare Metal (in the cloud)**
34+
35+
* [System provisioning and bootc, now and the future :: DevConf.CZ 2025](https://pretalx.devconf.info/devconf-cz-2025/talk/RKW3WM/) \- [Colin Walters](https://www.redhat.com/en/authors/colin-walters) (OPenshift/CoreOS, Maintainer of Bootc)
36+
* Great Example \- [https://github.com/RamaEdge/os-builder](https://github.com/RamaEdge/os-builder)
37+
* Ravi Chillerega \- k3s and Microshift baked in to bootc images for deployment to edge devices
38+
* [Keynote: Revolutionize your OS deploy and management with bootc containers :: DevConf.CZ 2025](https://pretalx.devconf.info/devconf-cz-2025/talk/YT9CKK/)
39+
40+
---
41+
42+
### **Desktop building with Bootc**
43+
44+
* [ublue-os/image-template: Build your own custom Universal ... \- GitHub](https://github.com/ublue-os/image-template)
45+
* This is where you should start if you want to make your own desktop OS image
46+
* [Universal Blue – Powered by the future, delivered today](https://universal-blue.org/)
47+
* Universal Blue offers custom, immutable Atomic Desktop images, streamlining the creation and management of pre-configured OS environments using bootc for modern deployment.
48+
* [Red Hat / centos-stream / containers / bootc \- GitLab](https://gitlab.com/redhat/centos-stream/containers/bootc) \- CentOS Bootc Base images
49+
* quay.io/centos-bootc/centos-bootc:stream10
50+
* [Fedora / bootc / Base Images \- GitLab](https://gitlab.com/fedora/bootc/base-images) \- Fedora Bootc Base Images
51+
* quay.io/fedora/fedora-bootc:42
52+
* [AlmaLinux/bootc-images \- GitHub](https://github.com/AlmaLinux/bootc-images) \- Almalinux Bootc Base images
53+
* `quay.io/almalinuxorg/almalinux-bootc:10`
54+
* [AlmaLinux/atomic-desktop \- GitHub](https://github.com/AlmaLinux/atomic-desktop) \- KDE \+ GNOME base images
55+
* [AlmaLinux/atomic-workstation \- GitHub](https://github.com/AlmaLinux/atomic-workstation) \- More Opinionated GNOME workstation baes on AlmaLInux
56+
* [https://github.com/tuna-os/tunaOS](https://github.com/tuna-os/tunaOS)
57+
* Forks of [Bluefin LTS](https://github.com/ublue-os/bluefin-lts/releases) bringing most of the goodies to other base images
58+
* Yellowfin \- Almalinux 10 Kitten (synced with CentOS 10\)
59+
* Albacore \- Almalinux 10 (synced with RHEL/EL 10\)
60+
* Bluefin-tuna \- Fedora 42 (using newer, pure bootc, unlike Bluefin)
61+
* Redfin \- RHEL 10
62+
* [HeliumOS](https://www.heliumos.org/) \- KDE CentOS-based desktop image
63+
* [EU-OS](https://eu-os.eu/) \- Community-led Proof-Of-Concept of a Public-use OS for EU
64+
* [ublue-os/aurora-lts: Aurora Helium \- GitHub](https://github.com/ublue-os/aurora-lts) \- CentOS companion to [ublue-os/aurora: The ultimate productivity workstation \- GitHub](https://github.com/ublue-os/aurora) **Needs maintainers\!\!**
65+
66+
---
67+
68+
### **Security**
69+
70+
* Syft \- SBOM
71+
* [out of memory exception when scanning images (here: fedora-bootc …](https://github.com/anchore/syft/issues/3800)
72+
* [Syft SBOM in a GHA](https://github.com/ublue-os/bluefin-lts/blob/bce36a272851767cb805df8e73458b902f44f67c/.github/workflows/reusable-build-image.yml#L163)
73+
* [Example bootc repo using Syft and Grype](https://github.com/SNThrailkill/Bootc-Fedora) (SBOM and Vuln-scanning)
74+
* Trivy \- SARIF Vuln scan
75+
* [Trivy-scan Example](https://github.com/RamaEdge/os-builder/blob/main/.github/actions/trivy-scan/action.yml)
76+
77+
---
78+
79+
### **Future & Best Practices**
80+
81+
* [**Shape the Future of Linux: Contribute to bootc Open Source Project | Red Hat Developer**](https://developers.redhat.com/blog/2025/07/23/shape-future-linux-contribute-bootc-open-source-project)
82+
* A recent blog post discussing bootc's acceptance into the **CNCF Sandbox**, its evolution, and the benefits of contributing to the project.
83+
* [**Building images \- bootc**](https://bootc-dev.github.io/bootc//building/guidance.html)
84+
* Provides guidance on best practices for building bootc\-compatible images, including how to handle configuration files and nested containers. It also discusses the project's vision for the future.
85+
*

0 commit comments

Comments
 (0)