services: oci-container: Allow setting Shepherd log-file in oci-container-configuration.

* gnu/services/docker.scm (oci-container-configuration)
[log-file]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: Icad29ac6342b6f5bafc0d9be13a93cee99674185
This commit is contained in:
Giacomo Leidi via Guix-patches via 2024-06-11 22:04:57 +02:00 committed by Zheng Junjie
parent f5d0c324b1
commit 30ba86cb71
No known key found for this signature in database
GPG key ID: 3B5AA993E1A2DFF0
2 changed files with 15 additions and 0 deletions

View file

@ -40885,6 +40885,11 @@ Set the name of the provisioned Shepherd service.
Set additional Shepherd services dependencies to the provisioned
Shepherd service.
@item @code{log-file} (type: maybe-string)
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{network} (default: @code{""}) (type: string)
Set a Docker network for the spawned container.

View file

@ -74,6 +74,7 @@ (define-module (gnu services docker)
oci-container-configuration-image
oci-container-configuration-provision
oci-container-configuration-requirement
oci-container-configuration-log-file
oci-container-configuration-network
oci-container-configuration-ports
oci-container-configuration-volumes
@ -461,6 +462,11 @@ (define-configuration/no-serialization oci-container-configuration
(list-of-symbols '())
"Set additional Shepherd services dependencies to the provisioned Shepherd
service.")
(log-file
(maybe-string)
"When @code{log-file} is set, it names the file to which the services
standard output and standard error are redirected. @code{log-file} is created
if it does not exist, otherwise it is appended to.")
(network
(maybe-string)
"Set a Docker network for the spawned container.")
@ -669,6 +675,7 @@ (define (guess-name name image)
(host-environment
(oci-container-configuration-host-environment config))
(command (oci-container-configuration-command config))
(log-file (oci-container-configuration-log-file config))
(provision (oci-container-configuration-provision config))
(requirement (oci-container-configuration-requirement config))
(image (oci-container-configuration-image config))
@ -698,6 +705,9 @@ (define (guess-name name image)
#$image-reference #$@command)
#:user #$user
#:group #$group
#$@(if (maybe-value-set? log-file)
(list #:log-file log-file)
'())
#:environment-variables
(list #$@host-environment))))
(stop