[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#71263] [PATCH v2 4/5] gnu: docker: Allow setting Shepherd respawn?
From: |
Giacomo Leidi |
Subject: |
[bug#71263] [PATCH v2 4/5] gnu: docker: Allow setting Shepherd respawn? in oci-container-configuration. |
Date: |
Tue, 11 Jun 2024 22:04:59 +0200 |
* gnu/services/docker.scm (oci-container-configuration)
[respawn?]: New field;
(oci-container-shepherd-service): use it.
* doc/guix.texi: Document it.
Change-Id: I0d6367607fd0fd41f90a54b33d80bf4d4f43dd8b
---
doc/guix.texi | 4 ++++
gnu/services/docker.scm | 9 ++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index cc3847eadb..6dae5939d5 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -40707,6 +40707,10 @@ Miscellaneous Services
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{respawn?} (default: @code{#f}) (type: boolean)
+Whether to have Shepherd restart the service when it stops, for instance when
+the underlying process dies.
+
@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 712ca14cba..bc566e6316 100644
--- a/gnu/services/docker.scm
+++ b/gnu/services/docker.scm
@@ -76,6 +76,7 @@ (define-module (gnu services docker)
oci-container-configuration-requirement
oci-container-configuration-log-file
oci-container-configuration-auto-start?
+ oci-container-configuration-respawn?
oci-container-configuration-network
oci-container-configuration-ports
oci-container-configuration-volumes
@@ -472,6 +473,10 @@ (define-configuration/no-serialization
oci-container-configuration
(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}.")
+ (respawn?
+ (boolean #f)
+ "Whether to restart the service when it stops, for instance when the
+underlying process dies.")
(network
(maybe-string)
"Set a Docker network for the spawned container.")
@@ -685,6 +690,8 @@ (define (oci-container-shepherd-service config)
(log-file (oci-container-configuration-log-file config))
(provision (oci-container-configuration-provision config))
(requirement (oci-container-configuration-requirement config))
+ (respawn?
+ (oci-container-configuration-respawn? config))
(image (oci-container-configuration-image config))
(image-reference (oci-image-reference image))
(options (oci-container-configuration->options config))
@@ -697,7 +704,7 @@ (define (oci-container-shepherd-service config)
(shepherd-service (provision `(,(string->symbol name)))
(requirement `(dockerd user-processes ,@requirement))
- (respawn? #f)
+ (respawn? respawn?)
(auto-start? auto-start?)
(documentation
(string-append
--
2.45.1