Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions docs/bootc/deprecation-notice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: Deprecation notice — bootc-image-builder
custom_edit_url: null
---

# Deprecation notice: bootc-image-builder

The osbuild project is **converging package mode and image mode** into a single, unified image-building experience. As part of that effort, the standalone **bootc-image-builder** container and CLI are being deprecated in favor of the unified **image-builder** CLI.

This document describes the timeline, migration path, and what you need to do.

## Why we're deprecating bootc-image-builder

We are unifying the tooling so that one CLI and one container can build images from both **blueprints** (package mode) and **bootable containers** (image mode). The unified [image-builder](https://www.osbuild.org/docs/developer-guide/projects/image-builder/) project already supports building from bootc container inputs via `--bootc-ref` and related options, with functional equivalence to what bootc-image-builder provides. Maintaining two separate codebases and containers is no longer necessary; consolidating reduces maintenance and gives users a single entry point for all image-building workflows.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would write this as 'so that one CLI can build images from packages, and convert bootable containers' (we're not really building the bootable container images, at least the terminology gets fuzzy here).

You can also directly link to the usage section for bootc in the image-builder docs: https://osbuild.org/docs/developer-guide/projects/image-builder/usage/#bootc


## Timeline and process

### RHEL 9/10 (and current container)

- **Backward compatibility is guaranteed for the full life of RHEL 10.** Existing automation, documentation, and pipelines that run the container with a **bootc-image-builder** entry point remain supported.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say "that run the bootc-image-builder container or executable remain supported".

Us switching the bootc-image-builder container to build from the image-builder-cli (with a symlink and stuff) is really an implementation detail that should be unnoticeable.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is an implementation detail, but given that we are archiving the bib git repo, i think it makes sense to explain. Happen to remove if there's consensus to though.

- **Starting in RHEL 9.7/10.2** bootc-image-builder will start only shipping new major versions with each RHEL Y release. Upstream releases will no longer be backports to the RHEL 10.Y image.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

backported not backports

- **Starting in RHEL 9.8/10.3**, the RHEL image-building container will be built on **image-builder-cli** (the unified implementation). It will **not** ship the original standalone bootc-image-builder binary. Instead, the container exposes a **bootc-image-builder entry point** that wraps image-builder-cli so that existing `podman run … bootc-image-builder` style invocations keep working without changing flags or workflows. A new container **image-builder** will be shipped that contains the same binary as bootc-image-builder, but without the compatibility entry point. Both the **bootc-image-builder** and **image-builder** containers will ship with the same version of image-builder-cli that is available as an rpm in respective RHEL release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the same implementation detail that doesn't need to be mentioned. It's transparent to users.


If we do keep it then please refer specifically to the RHEL bootc-image-builder container and say it's build on image-builder.

- **Before RHEL 9.8/10.3**, the container continues to use the current bootc-image-builder-based implementation. The transition at 10.3 is a swap of the implementation behind the same compatibility surface (entry point and expected behavior).



### RHEL 11

- **Only the image-builder container and CLI will be shipped.** The **bootc-image-builder** compatibility entry point will no longer be provided.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace CLI with package here and I'd say "the bootc-image-builder container and executable will no longer be available in RHEL 11".

- Consumers must complete migration to the image-builder CLI before relying on RHEL 11 or building RHEL 11.
Copy link
Member

@supakeen supakeen Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"to the image-builder package or container before".


## What you should do

1. **Prefer the image-builder CLI for new work.** Use the [image-builder](https://www.osbuild.org/docs/developer-guide/projects/image-builder/) documentation and invoke **image-builder** as the container entry point (or install the CLI on the host). From RHEL 10.3 onward, the RHEL container is image-builder-cli-based; the bootc-image-builder entry point exists only for backward compatibility.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say "prefer the image-builder package or container" and skip the entrypoint stuff.

2. **If you use the Podman plugin or other tooling** that invokes bootc-image-builder, plan for a reverse-dependency check and testing with the new image-builder CLI before the RHEL 11 cutover.
3. **If you rely on the Anaconda ISO image type:** The unified CLI currently supports the Anaconda ISO type, but we plan to **deprecate it, and remove it in RHEL 11** and move to fully container-based installer ISOs (e.g., bootc-installer) in line with Image Mode strategy. Prefer container-based installer flows where possible.

## Repository and archive

Development is moving to the unified [image-builder](https://github.com/osbuild/image-builder-cli) repository. The [bootc-image-builder](https://github.com/osbuild/bootc-image-builder) repository will be **archived** after the migration plan is complete; issues and relevant contributions will be handled in the unified project. We will publish this migration plan on osbuild.org and link to it from repository notices so that existing users and contributors have a single place to reference.

## Summary

![migration-plan](ib-cli-transition.png)

## Questions and feedback

- **Documentation:** [osbuild.org docs](https://www.osbuild.org/docs/)
- **Discussions:** [GitHub Discussions](https://github.com/orgs/osbuild/discussions)
- **Matrix:** [#image-builder on fedoraproject.org](https://matrix.to/#/#image-builder:fedoraproject.org)

If you have concerns or need help planning your migration, please reach out through one of the channels above.
Binary file added docs/bootc/ib-cli-transition.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.