Skip to content

Commit 4a5193e

Browse files
authored
Merge pull request #249 from cgwalters/extend-rpmostree
docs: Extend rpm-ostree relationship a bit
2 parents 47f8a34 + d7fafad commit 4a5193e

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

docs/relationship.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,25 @@ Perhaps in the future we may actually support some kind of `Pod` analogue for re
3838

3939
## Relationship with rpm-ostree
4040

41-
Today rpm-ostree directly links to `ostree-rs-ext`, and hence
42-
gains all the same container functionality. This will likely
43-
continue. For example, with rpm-ostree (or, perhaps re-framed as
41+
Today both bootc and rpm-ostree use the [ostree project](https://github.com/ostreedev/ostree-rs-ext)
42+
as a backing model. Hence, when using a container source,
43+
`rpm-ostree upgrade` and `bootc upgrade` are effectively equivalent;
44+
you can use either command.
45+
46+
However with rpm-ostree (or, perhaps re-framed as
4447
"dnf image"), it will continue to work to e.g. `dnf install`
45-
(i.e. `rpm-ostree install`) on the *client side* system. However, `bootc upgrade` would
46-
(should) then error out as it will not understand how to upgrade
47-
the system.
48+
(i.e. `rpm-ostree install`) on the *client side* system.
49+
In addition there are other client-side mutation commands such as
50+
`rpm-ostree initramfs --enable`.
51+
52+
However, as soon as you mutate the system in this way, `bootc upgrade`
53+
will error out as it will not understand how to upgrade
54+
the system. The bootc project currently takes a relatively
55+
hard stance that system state should come from a container image.
4856

49-
rpm-ostree also has significant other features such as
50-
`rpm-ostree kargs` etc.
57+
The way kernel argument work also uses ostree on the backend
58+
in both cases, so using e.g. `rpm-ostree kargs` will also work
59+
on a system updating via bootc.
5160

5261
Overall, rpm-ostree is used in several important projects
5362
and will continue to be maintained for many years to come.
@@ -65,6 +74,14 @@ Further, bootc does aim to [include some of the functionality of zincati](https:
6574
But all this said: *It will be supported to use both bootc and rpm-ostree together*; they are not exclusive.
6675
For example, `bootc status` at least will still function even if packages are layered.
6776

77+
### Future bootc <-> podman binding
78+
79+
All the above said, it is likely that at some point bootc will switch to [hard binding with podman](https://github.com/containers/bootc/pull/215).
80+
This will reduce the role of ostree, and hence break compatibilty with rpm-ostree.
81+
When such work lands, we will still support at least a "one way" transition from an
82+
ostree backend. But once this happens there are no plans to teach rpm-ostree
83+
to use podman too.
84+
6885
## Relationship with Fedora CoreOS (and Silverblue, etc.)
6986

7087
Per above, it is a toplevel goal to support a seamless, transactional update from existing OSTree based systems, which includes these Fedora derivatives.

0 commit comments

Comments
 (0)