diff options
| author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-06-01 20:54:40 -0400 |
|---|---|---|
| committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2020-06-03 11:31:07 -0400 |
| commit | 7c9be7b7cb71103d8a382a254e8c7a20ce7adce0 (patch) | |
| tree | 84dd1265f601533e3bbf1930dca75541888f8d10 /gnu/services/docker.scm | |
| parent | 2f49007dd076b14feb40d7c3331dee3e737265c8 (diff) | |
gnu: services: docker: Add a debug? parameter.
* gnu/services/docker.scm (docker-configuration): Add a debug? field.
(containerd-shepherd-service): Pass the "--log-level=debug" argument when
DEBUG? is true.
(docker-shepherd-service): Pass the "--debug" and "--log-level=debug"
arguments when DEBUG? is true.
* doc/guix.texi (Miscellaneous Services): Update doc.
Diffstat (limited to 'gnu/services/docker.scm')
| -rw-r--r-- | gnu/services/docker.scm | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index d6dc7928214..937dff7bdbe 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> | 2 | ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> |
| 3 | ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> | 3 | ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> |
| 4 | ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||
| 4 | ;;; | 5 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 6 | ;;; This file is part of GNU Guix. |
| 6 | ;;; | 7 | ;;; |
| @@ -52,7 +53,10 @@ | |||
| 52 | loop-back communications.") | 53 | loop-back communications.") |
| 53 | (enable-proxy? | 54 | (enable-proxy? |
| 54 | (boolean #t) | 55 | (boolean #t) |
| 55 | "Enable or disable the user-land proxy (enabled by default).")) | 56 | "Enable or disable the user-land proxy (enabled by default).") |
| 57 | (debug? | ||
| 58 | (boolean #f) | ||
| 59 | "Enable or disable debug output.")) | ||
| 56 | 60 | ||
| 57 | (define %docker-accounts | 61 | (define %docker-accounts |
| 58 | (list (user-group (name "docker") (system? #t)))) | 62 | (list (user-group (name "docker") (system? #t)))) |
| @@ -71,19 +75,24 @@ loop-back communications.") | |||
| 71 | (mkdir-p #$state-dir)))) | 75 | (mkdir-p #$state-dir)))) |
| 72 | 76 | ||
| 73 | (define (containerd-shepherd-service config) | 77 | (define (containerd-shepherd-service config) |
| 74 | (let* ((package (docker-configuration-containerd config))) | 78 | (let* ((package (docker-configuration-containerd config)) |
| 79 | (debug? (docker-configuration-debug? config))) | ||
| 75 | (shepherd-service | 80 | (shepherd-service |
| 76 | (documentation "containerd daemon.") | 81 | (documentation "containerd daemon.") |
| 77 | (provision '(containerd)) | 82 | (provision '(containerd)) |
| 78 | (start #~(make-forkexec-constructor | 83 | (start #~(make-forkexec-constructor |
| 79 | (list (string-append #$package "/bin/containerd")) | 84 | (list (string-append #$package "/bin/containerd") |
| 85 | #$@(if debug? | ||
| 86 | '("--log-level=debug") | ||
| 87 | '())) | ||
| 80 | #:log-file "/var/log/containerd.log")) | 88 | #:log-file "/var/log/containerd.log")) |
| 81 | (stop #~(make-kill-destructor))))) | 89 | (stop #~(make-kill-destructor))))) |
| 82 | 90 | ||
| 83 | (define (docker-shepherd-service config) | 91 | (define (docker-shepherd-service config) |
| 84 | (let* ((docker (docker-configuration-docker config)) | 92 | (let* ((docker (docker-configuration-docker config)) |
| 85 | (enable-proxy? (docker-configuration-enable-proxy? config)) | 93 | (enable-proxy? (docker-configuration-enable-proxy? config)) |
| 86 | (proxy (docker-configuration-proxy config))) | 94 | (proxy (docker-configuration-proxy config)) |
| 95 | (debug? (docker-configuration-debug? config))) | ||
| 87 | (shepherd-service | 96 | (shepherd-service |
| 88 | (documentation "Docker daemon.") | 97 | (documentation "Docker daemon.") |
| 89 | (provision '(dockerd)) | 98 | (provision '(dockerd)) |
| @@ -101,6 +110,9 @@ loop-back communications.") | |||
| 101 | (start #~(make-forkexec-constructor | 110 | (start #~(make-forkexec-constructor |
| 102 | (list (string-append #$docker "/bin/dockerd") | 111 | (list (string-append #$docker "/bin/dockerd") |
| 103 | "-p" "/var/run/docker.pid" | 112 | "-p" "/var/run/docker.pid" |
| 113 | #$@(if debug? | ||
| 114 | '("--debug" "--log-level=debug") | ||
| 115 | '()) | ||
| 104 | (if #$enable-proxy? "--userland-proxy" "") | 116 | (if #$enable-proxy? "--userland-proxy" "") |
| 105 | "--userland-proxy-path" (string-append #$proxy | 117 | "--userland-proxy-path" (string-append #$proxy |
| 106 | "/bin/proxy")) | 118 | "/bin/proxy")) |
