diff options
author | Giacomo Leidi via Guix-patches via <guix-patches@gnu.org> | 2024-06-11 22:04:58 +0200 |
---|---|---|
committer | Zheng Junjie <zhengjunjie@iscas.ac.cn> | 2024-07-05 15:12:34 +0800 |
commit | 7d91bd453010da8941f32694706024645905ae37 (patch) | |
tree | fa8ae3c8550b555bd9a26756f666e9988c101b91 | |
parent | 30ba86cb712e1012708d2bafad21d6b7266f0c6f (diff) | |
download | guix-7d91bd453010da8941f32694706024645905ae37.tar guix-7d91bd453010da8941f32694706024645905ae37.tar.gz |
services: oci-container: Allow setting Shepherd auto-start? in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[auto-start?]: New field.
(oci-container-shepherd-service): use it.
* doc/guix.texi: Document it.
Change-Id: Id093d93effbbec3e1be757f8be83cf5f62eaeda7
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
-rw-r--r-- | doc/guix.texi | 4 | ||||
-rw-r--r-- | gnu/services/docker.scm | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 15ddbff9fa..5f55d569c5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -40890,6 +40890,10 @@ When @code{log-file} is set, it names the file to which the service's standard output and standard error are redirected. @code{log-file} is created if it does not exist, otherwise it is appended to. +@item @code{auto-start?} (default: @code{#t}) (type: boolean) +Whether this service should be started automatically by the Shepherd. If it +is @code{#f} the service has to be started manually with @command{herd start}. + @item @code{network} (default: @code{""}) (type: string) Set a Docker network for the spawned container. diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index c256d1601b..a247fba8b8 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -75,6 +75,7 @@ oci-container-configuration-provision oci-container-configuration-requirement oci-container-configuration-log-file + oci-container-configuration-auto-start? oci-container-configuration-network oci-container-configuration-ports oci-container-configuration-volumes @@ -467,6 +468,10 @@ service.") "When @code{log-file} is set, it names the file to which the service’s standard output and standard error are redirected. @code{log-file} is created if it does not exist, otherwise it is appended to.") + (auto-start? + (boolean #t) + "Whether this service should be started automatically by the Shepherd. If it +is @code{#f} the service has to be started manually with @command{herd start}.") (network (maybe-string) "Set a Docker network for the spawned container.") @@ -670,6 +675,8 @@ operating-system, gexp or file-like records but ~a was found") (oci-image-repository image)))))) (let* ((docker (file-append docker-cli "/bin/docker")) + (auto-start? + (oci-container-configuration-auto-start? config)) (user (oci-container-configuration-user config)) (group (oci-container-configuration-group config)) (host-environment @@ -688,6 +695,7 @@ operating-system, gexp or file-like records but ~a was found") (shepherd-service (provision `(,(string->symbol name))) (requirement `(dockerd user-processes ,@requirement)) (respawn? #f) + (auto-start? auto-start?) (documentation (string-append "Docker backed Shepherd service for " |