mbox

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

Message ID 877e90tj7l.fsf_-_@sdf.lonestar.org
Headers show

Message

Jakob L. Kreuze July 2, 2019, 5:55 p.m. UTC
Kyle Meyer <kyle@kyleam.com> writes:

> Reading that again, I see my suggestion has a typo: s/as/a/

It's alright, I picked up on it as I was copying it in :)

Anyway, here's another revision updating the documentation. I had a go
at making the environment types more like the service types, in the
sense that configuration objects would be tied to the environment rather
than the machine, but that would involve introducing an 'environment'
object, which I thought to be too verbose.

#+BEGIN_SRC scheme
(list (machine
       (system %system)
       (environment
        (environment managed-host-environment-type
                     (machine-ssh-configuration
                      (host-name "localhost")
                      (identity "./id_rsa")
                      (port 2222))))))
#+END_SRC

I suppose this could be avoided if I were to expose a different
constructor for 'machine'.

#+BEGIN_SRC scheme
(list (machine %system
       (environment managed-host-environment-type
                    (machine-ssh-configuration
                     (host-name "localhost")
                     (identity "./id_rsa")
                     (port 2222)))))
#+END_SRC

I don't know if that's any better. Thoughts?

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           | 107 ++++++++++++
 gnu/local.mk            |   5 +-
 gnu/machine.scm         | 118 +++++++++++++
 gnu/machine/ssh.scm     | 363 ++++++++++++++++++++++++++++++++++++++++
 guix/scripts/deploy.scm |  90 ++++++++++
 guix/ssh.scm            |  10 +-
 7 files changed, 691 insertions(+), 6 deletions(-)
 create mode 100644 gnu/machine.scm
 create mode 100644 gnu/machine/ssh.scm
 create mode 100644 guix/scripts/deploy.scm