unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#38441] [PATCH 0/5] Record operating system provenance info
@ 2019-11-30 22:30 Ludovic Courtès
  2019-11-30 22:31 ` [bug#38441] [PATCH 1/5] services: Add 'provenance-service-type' Ludovic Courtès
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Ludovic Courtès @ 2019-11-30 22:30 UTC (permalink / raw)
  To: 38441; +Cc: Ludovic Courtès

Hello Guix!

This patch series allows ‘guix system’ to record provenance info
about a system in its output: the system itself (e.g.,
/run/current-system) now contains three more files: “channels.scm”,
“configuration.scm”, and “provenance” (a summary of the first two
files.)

That means you can always inspect a deployed system to find its own
“source”.  In some cases, you can even run something like:

      guix time-machine \
        -C /var/guix/profiles/system-N-link/channels.scm -- \
        system reconfigure \
        /var/guix/profiles/system-N-link/configuration.scm

to rebuild generation N of your system.  Pretty cool, no?  :-)

Otherwise you can simply run:

  guix system describe

to see where your OS comes from.

Provenance tracking is implemented as a service.  The service is
automatically added by ‘guix system init’, ‘reconfigure’, and by
‘guix deploy’.  For other commands, one can pass ‘--save-provenance’
to turn it on.

This was long overdue!

This has interesting implications on trustworthiness: you can
distribute a VM/Docker image with provenance info, and anyone
can reproduce it and ensure they obtain the same bits (well, ideally,
because I guess a few steps may still not be bit-reproducible).

Thoughts?

Thanks,
Ludo’.

Ludovic Courtès (5):
  services: Add 'provenance-service-type'.
  guix system: Use 'provenance-service-type', add "--save-provenance".
  machine: Add provenance tracking to each machine operating system.
  guix system: "list-generations" displays provenance info.
  guix system: Add "describe" action.

 doc/guix.texi           | 109 +++++++++++++++++++++++++++++++++++++---
 gnu/machine.scm         |   7 ++-
 gnu/services.scm        |  87 ++++++++++++++++++++++++++++++++
 gnu/system.scm          |  10 ++++
 guix/scripts/pull.scm   |   1 +
 guix/scripts/system.scm | 107 ++++++++++++++++++++++++++++++++-------
 6 files changed, 293 insertions(+), 28 deletions(-)

-- 
2.24.0

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-12-07  0:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-30 22:30 [bug#38441] [PATCH 0/5] Record operating system provenance info Ludovic Courtès
2019-11-30 22:31 ` [bug#38441] [PATCH 1/5] services: Add 'provenance-service-type' Ludovic Courtès
2019-11-30 22:31   ` [bug#38441] [PATCH 2/5] guix system: Use 'provenance-service-type', add "--save-provenance" Ludovic Courtès
2019-11-30 22:31   ` [bug#38441] [PATCH 3/5] machine: Add provenance tracking to each machine operating system Ludovic Courtès
2019-11-30 22:31   ` [bug#38441] [PATCH 4/5] guix system: "list-generations" displays provenance info Ludovic Courtès
2019-11-30 22:31   ` [bug#38441] [PATCH 5/5] guix system: Add "describe" action Ludovic Courtès
2019-12-02 12:12 ` [bug#38441] [PATCH 0/5] Record operating system provenance info zimoun
2019-12-07  0:03 ` bug#38441: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).