βš›πŸ“¦ Hybrid image/package system with atomic upgrades and package layering
jlebon and rh-atomic-bot packaging: Don't include checksums for ltmain.sh
And `config.guess` and `config.sub`. These files get mangled by the
`%configure` macro when it tries to insert hardening compile flags and
so the checksums no longer match. This is an ugly hack akin to #1554
that requires an incision in the cargo vendor JSON.

Fedora does package a lot of these crate sources now which we
could use to drop these hacks, but not all the crates are packaged (I
counted 4 unpackaged top-level crates), and I'm not sure what their
states are in RHEL7/8 either.

Closes: #1715
Approved by: cgwalters
Latest commit 5202ce0 Dec 14, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix GitHub issue template formatting Mar 14, 2018
api-doc lib: Expose new API around basearch Jul 21, 2017
bindgen Split cbindgen to separate build, support external version Sep 25, 2018
buildutil buildutils: Add libglnx.m4 to .gitignore Apr 5, 2018
ci ci: Verify rustfmt Nov 21, 2018
design Initial renaming pass of "jigdo" to "rojig" Feb 26, 2018
docs docs/treefile: Add info about paths for add-files Oct 26, 2018
experiments-and-demos/skopeo2ostree experiments-and-demos: New subdir with skopeo2ostree Dockerfile Jan 11, 2018
libdnf @ 7ecb2f5 Update libdnf Aug 29, 2018
libglnx @ 470af87 Update libglnx Jul 17, 2018
man man: Fix references to automatic timer and service Nov 1, 2018
packaging packaging: Don't include checksums for ltmain.sh Dec 15, 2018
rust Cargo.toml: Fix backtrace crate to compatibile version Dec 13, 2018
scripts core/scripts: Support /var/lib/rpm-state Mar 28, 2018
src daemon/deploy: Fix free() of override replace pkgs Dec 10, 2018
tests daemon/deploy: Fix free() of override replace pkgs Dec 10, 2018
vagrant Vagrantfile: specify full path to using_sshfs Dec 21, 2016
.dir-locals.el .dir-locals.el: Global Emacs style settings Jan 12, 2017
.editorconfig tree: add vimrc and editorconfig Oct 2, 2017
.gitmodules .gitmodules: Update URL for libglnx May 29, 2018
.papr.yml ci: Go back to centos/7/atomic/smoketested Nov 20, 2018
.vimrc tree: add vimrc and editorconfig Oct 2, 2017
CONTRIBUTING.md docs: fix ostree and CONTRIBUTING.md links Jul 12, 2016
COPYING COPYING: Update to latest LGPLv2+ Mar 10, 2014
HACKING.md hacking: make it easier to use a custom tree Sep 1, 2017
LICENSE Add a LICENSE symlink Apr 28, 2016
Makefile-daemon.am Add rpm-ostree-bootstatus.service Dec 3, 2018
Makefile-decls.am packaging: Support vendoring the Rust sources Jun 6, 2018
Makefile-extra.inc ci: Verify rustfmt Nov 21, 2018
Makefile-lib-defines.am lib: Add version macros and version checking function Jul 21, 2017
Makefile-lib.am compose+rust: Parse includes via Rust too Oct 4, 2018
Makefile-libdnf.am build-sys: Propagate verbosity into libdnf Aug 27, 2018
Makefile-libpriv.am build-sys: Mark libpriv symbols as private Mar 28, 2018
Makefile-man.am man: Add rpm-ostreed-automatic page Mar 7, 2018
Makefile-rpm-ostree.am ci: Verify rustfmt Nov 21, 2018
Makefile-tests.am test: add unit test for passwd to sysuser conversion Aug 30, 2018
Makefile.am ci: Verify rustfmt Nov 21, 2018
README.md README.md: Fix youtube link Apr 14, 2018
Vagrantfile Vagrantfile: specify full path to using_sshfs Dec 21, 2016
autogen.sh build-sys: Fix use of libglnx configure bits Dec 15, 2017
configure.ac Release 2018.10 Dec 13, 2018
git.mk build: Use git.mk, make git status clean Mar 10, 2016
mkdocs.yml docs: Start using mkdocs Mar 9, 2016

README.md

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: