Greetings!

With all the updates that have happened with Ostree Native Containers
and Atomic desktops, we wanted to share some initial thoughts on the
direction for evolving the user experience of image-based systems and
what that means for the packages and projects that provide the
foundation for this technology.

The main tool to manage packages and upgrades on ostree systems has
been rpm-ostree. With the introduction of OSTree Native Containers and
CoreOS layering (https://github.com/coreos/layering-examples),
rpm-ostree turned into a system that also managed container-native
image upgrades and deployments. This gave us an opportunity to
reconsider `dnf` for image-based systems, a tool that Fedora system
administrators are accustomed to manage the RPM packages and introduce
`bootc`, a new tool to boot containers and manage image-based Fedora
deployments.

Rough consensus was forming around these points:

On the short-term:

* dnf4 & dnf5 should provide a more helpful error when a user types
`dnf install` on a booted image-based system (pointing them to unlock
the system or use rpm-ostree).
* `bootc` (https://github.com/containers/bootc) is now available to
manage the container/image-based lifecyle on Fedora 39 and up hosts.
* No new major development should be done on rpm-ostree; we will
provide fixes and security updates but major development for
client-side features should be directed to `bootc` for container/image
lifecycle management and `dnf` for package management.
* dnf should be used during container builds of image-based Fedora for
most applications and examples.

Long term (Maybe Fedora 43/45 timeframe...):

* rpm-ostree client-side functionality handling package
layering/install/overrides should be folded into dnf.  (A *lot* of
details here)
* rpm-ostree will continue to be part of the ostree/ostree-container
base image composes. However this will be re-assessed after dnf has
become the default client-side tool for image-based Fedora systems.

As part of the UX we want dnf to continue to be the tool that
sysadmins see as the way to manage their RPM packages, even on
image-based systems. Some specific features of bootc to manage the
image lifecycle like `bootc upgrade` might be wrapped by `dnf upgrade`
on image mode systems, however we see bootc as the main tool to manage
the image-based hosts' deployments and we don't plan to hide this from
the customers behind dnf.

Our intent with the Fedora Change proposal is to cover the initial UX
changes, add bootc and  and re-introduce dnf on image-mode variants.
The new proposal builds on top of functionality added on these
previous enhancements:

* OstreeNativeContainer:
https://fedoraproject.org/wiki/Changes/OstreeNativeContainer
* OstreeNativeContainerStable:
https://fedoraproject.org/wiki/Changes/OstreeNativeContainerStable

If you would like to share feedback you can reach out to us via the
methods outlined at
https://docs.fedoraproject.org/en-US/bootc/community/ and you can
follow the new change proposal here:
https://fedoraproject.org/wiki/Changes/DNFAndBootcInImageModeFedora

Signed off by:
    - David Cantrell
    - Jonathan Lebon
    - Colin Walters
    - Timothée Ravier
    - Joseph Marrero
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to