summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-12-05 23:15:17 +0100
committerLudovic Courtès <ludo@gnu.org>2016-12-05 23:19:38 +0100
commit1d48cf948cfb825a5b080d5cbe3ba3cb69beb7c8 (patch)
tree2e1cb6c98d848d31fe45c2070272acb4ecb69563
parent067a2e2de9e5f8437ce020c62f64e08b82af72b8 (diff)
downloadguix-1d48cf948cfb825a5b080d5cbe3ba3cb69beb7c8.tar.gz
offload: Make the compression methods configurable.
* guix/scripts/offload.scm (<build-machine>)[compression]
[compression-level]: New fields.
(open-ssh-session): Honor them.
* doc/guix.texi (Daemon Offload Setup): Document them.
-rw-r--r--doc/guix.texi7
-rw-r--r--guix/scripts/offload.scm10
2 files changed, 15 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 5c94a56c01..738b7fb10c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -921,6 +921,13 @@ Port number of SSH server on the machine.
 The SSH private key file to use when connecting to the machine, in
 OpenSSH format.
 
+@item @code{compression} (default: @code{"zlib@@openssh.com,zlib"})
+@itemx @code{compression-level} (default: @code{3})
+The SSH-level compression methods and compression level requested.
+
+Note that offloading relies on SSH compression to reduce bandwidth usage
+when transferring files to and from build machines.
+
 @item @code{daemon-socket} (default: @code{"/var/guix/daemon-socket/socket"})
 File name of the Unix-domain socket @command{guix-daemon} is listening
 to on that machine.
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index 4d697f7d00..e20da99cbd 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -75,6 +75,10 @@
   (private-key     build-machine-private-key      ; file name
                    (default (user-openssh-private-key)))
   (host-key        build-machine-host-key)        ; string
+  (compression     build-machine-compression  ; string
+                   (default "zlib@openssh.com,zlib"))
+  (compression-level build-machine-compression-level ;integer
+                     (default 3))
   (daemon-socket   build-machine-daemon-socket    ; string
                    (default "/var/guix/daemon-socket/socket"))
   (parallel-builds build-machine-parallel-builds  ; number
@@ -175,8 +179,10 @@ private key from '~a': ~a")
 
                                ;; We need lightweight compression when
                                ;; exchanging full archives.
-                               #:compression "zlib"
-                               #:compression-level 3)))
+                               #:compression
+                               (build-machine-compression machine)
+                               #:compression-level
+                               (build-machine-compression-level machine))))
     (match (connect! session)
       ('ok
        ;; Authenticate the server.  XXX: Guile-SSH 0.10.1 doesn't know about