Go to file
Colin Walters 588a0327db postprocess: Error if units with machineid-compat: false
Rather than silently ignoring it.

In theory...we could write to /usr/lib/systemd instead of `/etc`
but eh...I feel like what we really want to do is make it convenient
to write a preset file from the YAML.

(We could have an `add-files` content that takes values literally
 which would be nice in YAML and suck in JSON)

A general thread running through this is that for people making
*derivatives* of a CoreOS-like system, having to create their
own `exampleos-release` package is an annoying hurdle.

Anyways for now we're fixing the bug that we were silently ignoring
it.

Closes: #1488
Approved by: jlebon
2018-08-06 00:33:56 +00:00
.github Fix GitHub issue template formatting 2018-03-14 21:54:16 +00:00
api-doc
buildutil buildutils: Add libglnx.m4 to .gitignore 2018-04-05 15:26:46 +00:00
ci ci: Pepper in date markers to help debug timing 2018-07-21 14:43:48 +00:00
design Initial renaming pass of "jigdo" to "rojig" 2018-02-26 15:32:50 +00:00
docs postprocess: Error if units with machineid-compat: false 2018-08-06 00:33:56 +00:00
experiments-and-demos/skopeo2ostree experiments-and-demos: New subdir with skopeo2ostree Dockerfile 2018-01-11 14:07:17 +00:00
libdnf@1cad4373cf Update libdnf, disable Python bindings 2018-07-31 17:13:50 +00:00
libglnx@470af8763f Update libglnx 2018-07-17 18:35:38 +00:00
man app: Lift kargs out of experimental 2018-06-26 19:14:56 +00:00
packaging packaging: Fix Rust vendoring 2018-06-08 15:42:03 +00:00
rust rust: Add support for inline rojig spec files 2018-08-03 16:54:47 +00:00
scripts core/scripts: Support /var/lib/rpm-state 2018-03-28 18:37:17 +00:00
src postprocess: Error if units with machineid-compat: false 2018-08-06 00:33:56 +00:00
tests postprocess: Error if units with machineid-compat: false 2018-08-06 00:33:56 +00:00
vagrant
.dir-locals.el
.editorconfig tree: add vimrc and editorconfig 2017-10-02 14:36:44 +00:00
.gitmodules .gitmodules: Update URL for libglnx 2018-05-29 14:22:46 +00:00
.papr.yml ci: Bump f28-compose by 10 minutes 2018-07-24 20:15:10 +00:00
.vimrc tree: add vimrc and editorconfig 2017-10-02 14:36:44 +00:00
autogen.sh build-sys: Fix use of libglnx configure bits 2017-12-15 16:32:39 +00:00
configure.ac core: Use new rpmtsSetVfyLevel() API for writing rpmdb 2018-07-31 19:22:30 +00:00
CONTRIBUTING.md
COPYING
git.mk
HACKING.md
LICENSE
Makefile-daemon.am daemon: Don't use absolute path for gdbus-codegen 2018-06-05 18:09:59 +00:00
Makefile-decls.am packaging: Support vendoring the Rust sources 2018-06-06 15:52:48 +00:00
Makefile-lib-defines.am
Makefile-lib.am
Makefile-libdnf.am
Makefile-libpriv.am build-sys: Mark libpriv symbols as private 2018-03-28 15:18:11 +00:00
Makefile-man.am man: Add rpm-ostreed-automatic page 2018-03-07 22:54:33 +00:00
Makefile-rpm-ostree.am rust: Add a make rustfmt, run it 2018-07-05 13:58:22 +00:00
Makefile-tests.am tests: Move upgrade/rebase tests from unit to vmcheck/test-upgrades 2018-04-25 20:28:56 +00:00
Makefile.am build-sys: Add some gitignore for Rust bits 2018-06-11 13:08:41 +00:00
mkdocs.yml
README.md README.md: Fix youtube link 2018-04-14 15:24:54 +00:00
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: