Go to file
Colin Walters 24faf942df compose: Add --add-metadata-from-json
I'd like to embed structured metadata about the originating git
repository.  See [this example](https://pagure.io/fedora-atomic-host-continuous/c/142b12020d7efe18b56d039304efea102a210790?branch=master).  However, I think what we really
want here is a *single* value which has subkeys.

One thing in the back of my mind too is...we could use this to
enhance our "change detection".  Right now we checksum the sack,
treefile, and treecompose-post.  But down the line, I'd
like to support more sophisticated postprocessing, where the
script might reference external files or the like.

In that case, we could stop checksumming the post script, and rely on whether or
not the git repo changed. (This would conversely mean we would do a build even
if e.g. the repo's `README.md` changed, but we can address that with a
post-assemble content check).

Anyways though, for now, this gets us the ability to more easily drop more
structured metadata in the commit, whether it's input git repos, tests that
passed, etc.

Note a trap that bit me here: since the metadata we write here is *host* endian,
but `ostree show --raw` byteswaps (it needs to since the core ostree variant
is always big endian), we get inverted numbers if the host is little.

I think we should probably canonicalize our metadata to big endian; this should
be pretty backwards compatible since I doubt anyone has been adding raw numbers
so far.

Closes: #676
Approved by: jlebon
2017-03-14 18:17:07 +00:00
.github Add issue template, move PR template to .github 2017-03-10 16:31:27 +00:00
api-doc build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
buildutil tests: Honor TEST_SKIP_CLEANUP like ostree 2017-01-13 20:08:24 +00:00
design design/package-layering: New file 2014-06-18 08:48:03 -04:00
docs compose-tests: add more tests 2016-12-09 16:18:11 +00:00
libdnf@9340446273 bump libdnf for chksum fix 2017-03-10 18:35:11 +00:00
libglnx@abd37a4790 libglnx: Update to master (for -fsanitize=undefined fixes) 2016-10-28 18:25:33 +00:00
man rebase: Update man page for syntax, print if just changing remote 2017-03-13 14:45:30 +00:00
packaging spec: Update from fedora dist-git 2017-03-08 19:52:58 +00:00
scripts bwrap: Don't use --unshare-net in nspawn by default 2017-03-10 17:27:56 +00:00
src compose: Add --add-metadata-from-json 2017-03-14 18:17:07 +00:00
tests compose: Add --add-metadata-from-json 2017-03-14 18:17:07 +00:00
vagrant Vagrantfile: specify full path to using_sshfs 2016-12-21 20:00:43 +00:00
.dir-locals.el .dir-locals.el: Global Emacs style settings 2017-01-12 16:09:16 +00:00
.gitmodules submodules: Use new repo for libdnf 2017-02-06 19:13:19 +00:00
.redhat-ci.Dockerfile ci: Sync Dockerfile with ostree 2017-03-07 15:01:26 +00:00
.redhat-ci.yml redhat-ci: provision more nodes for vmcheck 2017-03-13 00:42:13 +00:00
autogen.sh autogen.sh: tweak program checking logic 2015-09-11 10:24:44 -04:00
configure.ac main: Output YAML for --version 2017-03-09 14:23:34 +00:00
CONTRIBUTING.md docs: fix ostree and CONTRIBUTING.md links 2016-07-12 15:46:53 +00:00
COPYING COPYING: Update to latest LGPLv2+ 2014-03-10 16:40:16 -04:00
git.mk build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
HACKING.md hacking: add builddep command 2016-11-21 16:07:35 +00:00
LICENSE Add a LICENSE symlink 2016-04-28 13:09:22 +00:00
Makefile-daemon.am Merge daemon binary into main binary 2017-02-07 16:07:09 +00:00
Makefile-decls.am Switch to using libhif as a git submodule 2016-06-30 14:27:55 +00:00
Makefile-lib-defines.am lib: Add RpmOstreePackage 2015-04-16 13:26:58 -04:00
Makefile-lib.am Update for libhif -> libdnf 2016-08-04 01:10:08 +00:00
Makefile-libdnf.am Update for libhif -> libdnf 2016-08-04 01:10:08 +00:00
Makefile-libpriv.am daemon: Introduce an origin structure 2017-01-13 20:08:24 +00:00
Makefile-man.am build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
Makefile-rpm-ostree.am daemon: Implement "reload" 2017-02-24 21:36:45 +00:00
Makefile-tests.am vmcheck: add support for parallel runs 2017-03-13 00:42:13 +00:00
Makefile.am Makefile.am: add rpm-ostreed stub to GITIGNOREFILES 2017-02-21 14:13:42 +00:00
mkdocs.yml docs: Start using mkdocs 2016-03-09 11:10:58 -05:00
README.md README.md: libhif is now called libdnf 2017-02-16 15:40:20 +00:00
TODO upgrader: Prune pkgcache repo 2016-08-30 19:53:24 +00:00
Vagrantfile Vagrantfile: specify full path to using_sshfs 2016-12-21 20:00:43 +00:00

rpm-ostree Overview

rpm-ostree is a hybrid image/package system. It uses OSTree as a base image format, and supports RPM on both the client and server side using libdnf.

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

Features:

  • Atomic upgrades and rollback for host system updates
  • A server side tool to consume RPMs and commit them to an OSTree repository
  • A system daemon to consume OSTree commits as updates

Projects using rpm-ostree

Project Atomic uses rpm-ostree to provide a minimal host for Docker formatted Linux containers. Replicating a base immutable OS, then using Docker for applications.

Manual

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