Go to file
Colin Walters 87441d9ec2 rust: Move FFI bits into ffi submodule for each file
The `lib.rs` file was starting to accumulate, and I want to do this
before adding more.  I just made this up, but an `ffi` submodule
in each file seems to work well.  It isolates the FFI consumption
there still (so e.g. if we want pure Rust unit tests, we don't
need to deal with FFI).

Closes: #1646
Approved by: jlebon
2018-10-30 14:24:42 +00:00
.github
api-doc
bindgen
buildutil
ci
design
docs docs/treefile: Add info about paths for add-files 2018-10-26 20:48:07 +00:00
experiments-and-demos/skopeo2ostree
libdnf@7ecb2f5ddc
libglnx@470af8763f
man
packaging packaging: Nuke more vendored sources 2018-10-16 17:41:09 +00:00
rust rust: Move FFI bits into ffi submodule for each file 2018-10-30 14:24:42 +00:00
scripts
src core: Disable librpm SELinux plugin when writing rpmdb 2018-10-29 18:42:10 +00:00
tests compose: Check that add-files are compatible after parsing 2018-10-26 20:48:07 +00:00
vagrant
.dir-locals.el
.editorconfig
.gitmodules
.papr.yml
.vimrc
autogen.sh
configure.ac Release 2018.9 2018-10-25 18:12:37 +00:00
CONTRIBUTING.md
COPYING
git.mk
HACKING.md hacking: make it easier to use a custom tree 2017-09-01 19:58:55 +00:00
LICENSE
Makefile-daemon.am
Makefile-decls.am
Makefile-lib-defines.am
Makefile-lib.am
Makefile-libdnf.am
Makefile-libpriv.am
Makefile-man.am man: Add rpm-ostreed-automatic page 2018-03-07 22:54:33 +00:00
Makefile-rpm-ostree.am build-sys: Fix make rustfmt, and run it 2018-10-23 19:05:06 +00:00
Makefile-tests.am
Makefile.am
mkdocs.yml
README.md
Vagrantfile

rpm-ostree: A true hybrid image/package system

rpm-ostree combines libostree (an image system), with libdnf (a package system), bringing many of the benefits of both together.

                         +-----------------------------------------+
                         |                                         |
                         |       rpm-ostree (daemon + CLI)         |
                  +------>                                         <---------+
                  |      |     status, upgrade, rollback,          |         |
                  |      |     pkg layering, initramfs --enable    |         |
                  |      |                                         |         |
                  |      +-----------------------------------------+         |
                  |                                                          |
                  |                                                          |
                  |                                                          |
+-----------------|-------------------------+        +-----------------------|-----------------+
|                                           |        |                                         |
|         libostree (image system)          |        |            libdnf (pkg system)          |
|                                           |        |                                         |
|   C API, hardlink fs trees, system repo,  |        |    ties together libsolv (SAT solver)   |
|   commits, atomic bootloader swap         |        |    with librepo (RPM repo downloads)    |
|                                           |        |                                         |
+-------------------------------------------+        +-----------------------------------------+

For more information, see the online manual: Read The Docs (rpm-ostree)

Features:

  • Transactional, background image-based (versioned/checksummed) upgrades
  • OS rollback without affecting user data (/usr but not /etc, /var) via libostree
  • Client-side package layering (and overrides)
  • Easily make your own: rpm-ostree compose tree

Projects using rpm-ostree

Project Atomic is an umbrella project for delivering upstream container technologies and combined with a minimized, atomically upgradable host system to Fedora, Red Hat Enterprise Linux, and CentOS.

rpm-ostree is the underlying technology for host updates. The headlining project is "Atomic Host", which is a server variant oriented towards running Linux containers using e.g. Kubernetes. However, there is now also a Workstation variant, showing the full generality of the rpm-ostree model.

Manual

For more information, see the online manual: Read The Docs (rpm-ostree)

Talks and media

A number of Project Atomic talks are available; see for example this post which has a bigger collection that also includes talks on containers.

rpm-ostree specific talks: