You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/relationship.md
+25-8Lines changed: 25 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,16 +38,25 @@ Perhaps in the future we may actually support some kind of `Pod` analogue for re
38
38
39
39
## Relationship with rpm-ostree
40
40
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
44
47
"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.
48
56
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.
51
60
52
61
Overall, rpm-ostree is used in several important projects
53
62
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:
65
74
But all this said: *It will be supported to use both bootc and rpm-ostree together*; they are not exclusive.
66
75
For example, `bootc status` at least will still function even if packages are layered.
67
76
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
+
68
85
## Relationship with Fedora CoreOS (and Silverblue, etc.)
69
86
70
87
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