aboutsummaryrefslogtreecommitdiff
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)
downloadpatches-1d48cf948cfb825a5b080d5cbe3ba3cb69beb7c8.tar
patches-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