mbox

[bug#36404,0/4] Add 'guix deploy'.

Message ID 87imsl9tsx.fsf_-_@sdf.lonestar.org
Headers show

Message

Jakob L. Kreuze July 2, 2019, 12:14 a.m. UTC
Huge thanks to everyone who commented on the first two renditions of this
patch series. Here's a summary of the changes I've incorporated:

% The 'environment' field of <machine> is now an instance of
  <environment-type> -- a record similar to <service-type>. See the manual
  page for an example of how this looks in a deployment specification.
% Deployment specifications are loaded in an environment with '(gnu)', '(gnu
  machine)', and '(gnu machine ssh)'. '(gnu machine)' and its descendant
  modules are no longer exported from '(gnu)'.
% Environment and load path excursions have been removed from the deployment
  internals for 'managed-host-environment-type'. 'remote-eval' spawns a new
  Guile REPL with each invocation, so modifications to $PATH et al. aren't
  really relevant -- at least not with how 'deploy-managed-host' is
  implemented.
% Wording in the manual section has been updated.
% The docstring for 'open-ssh-session' has been updated.
% Tests have been decoupled from the commit adding '(gnu machine)' and omitted
  from this patch series. I will add them back in a future patch.

Jakob L. Kreuze (4):
  ssh: Add 'identity' keyword to 'open-ssh-session'.
  gnu: Add machine type for deployment specifications.
  Add 'guix deploy'.
  doc: Add section for 'guix deploy'.

 Makefile.am             |   4 +-
 doc/guix.texi           | 101 ++++++++++++
 gnu/local.mk            |   5 +-
 gnu/machine.scm         | 118 +++++++++++++
 gnu/machine/ssh.scm     | 355 ++++++++++++++++++++++++++++++++++++++++
 guix/scripts/deploy.scm |  90 ++++++++++
 guix/ssh.scm            |  10 +-
 7 files changed, 677 insertions(+), 6 deletions(-)
 create mode 100644 gnu/machine.scm
 create mode 100644 gnu/machine/ssh.scm
 create mode 100644 guix/scripts/deploy.scm