~ruther/guix-local

4ace6455063297e6de84a9a2477150a6ce9416d8 — Alexey Abramov 4 years ago 6bffa13
services: docker: Add 'environment-variables' configuration field.

* gnu/services/docker.scm (docker-configuration):  Add the field
(docker-shepherd-service): Pass the list of defined variables to
make-forkexec-constructor.
* doc/guix.texi (Miscellaneous Services): Update doc.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2 files changed, 17 insertions(+), 0 deletions(-)

M doc/guix.texi
M gnu/services/docker.scm
M doc/guix.texi => doc/guix.texi +11 -0
@@ 33229,6 33229,17 @@ Enable or disable debug output.
@item @code{enable-iptables?} (default @code{#t})
Enable or disable the addition of iptables rules.

@item @code{environment-variables} (default: @code{()})
List of environment variables to set for @command{dockerd}.

This must be a list of strings where each string has the form
@samp{@var{key}=@var{value}} as in this example:

@lisp
(list "LANGUAGE=eo:ca:eu"
      "TMPDIR=/tmp/dockerd")
@end lisp

@end table
@end deftp


M gnu/services/docker.scm => gnu/services/docker.scm +6 -0
@@ 62,6 62,9 @@ loop-back communications.")
  (enable-iptables?
   (boolean #t)
   "Enable addition of iptables rules (enabled by default).")
  (environment-variables
   (list '())
   "Environment variables to set for dockerd")
  (no-serialization))

(define %docker-accounts


@@ 102,6 105,7 @@ loop-back communications.")
  (let* ((docker (docker-configuration-docker config))
         (enable-proxy? (docker-configuration-enable-proxy? config))
         (enable-iptables? (docker-configuration-enable-iptables? config))
         (environment-variables (docker-configuration-environment-variables config))
         (proxy (docker-configuration-proxy config))
         (debug? (docker-configuration-debug? config)))
    (shepherd-service


@@ 132,6 136,8 @@ loop-back communications.")
                           (if #$enable-iptables?
                               "--iptables"
                               "--iptables=false"))
                     #:environment-variables
                     (list #$@environment-variables)
                     #:pid-file "/var/run/docker.pid"
                     #:log-file "/var/log/docker.log"))
           (stop #~(make-kill-destructor)))))