From 1d48cf948cfb825a5b080d5cbe3ba3cb69beb7c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 5 Dec 2016 23:15:17 +0100 Subject: [PATCH] offload: Make the compression methods configurable. * guix/scripts/offload.scm ()[compression] [compression-level]: New fields. (open-ssh-session): Honor them. * doc/guix.texi (Daemon Offload Setup): Document them. --- doc/guix.texi | 7 +++++++ guix/scripts/offload.scm | 10 ++++++++-- 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