Subject: Re: [PATCH v2 2/3 WIP] services: shepherd: Add support for socket activation endpoints.

From: Ludovic Courtès <[email-masked]>
Date: Thu, 28 Apr 2022 00:05:19 +0200

Hi,

Liliana Marie Prikler <[email-masked]> skribis:

> * gnu/services/shepherd.scm (<shepherd-endpoint>): New record type.
> (shepherd-endpoint->sexp): New variable.
> * doc/guix.texi (Shepherd Services): Document it.

[...]

> +++ b/gnu/services/shepherd.scm
> @@ -66,6 +66,16 @@ (define-module (gnu services shepherd)
>              shepherd-action-documentation
>              shepherd-action-procedure
>  
> +            shepherd-endpoint
> +            shepherd-endpoint-address
> +            shepherd-endpoint-name
> +            shepherd-endpoint-style
> +            shepherd-endpoint-backlog
> +            shepherd-endpoint-socket-owner
> +            shepherd-endpoint-socket-group
> +            shepherd-endpoint-socket-directory-permissions
> +            shepherd-endpoint->sexp
> +
>              %default-modules
>  
>              shepherd-service-file
> @@ -183,6 +193,56 @@ (define %default-modules
>      ((guix build utils) #:hide (delete))
>      (guix build syscalls)))
>  
> +(define-record-type* <shepherd-endpoint>

I don’t think this is necessary: Shepherd endpoints are created in a
#~(make-systemd-constructor …) gexp, it’s OK to use the Shepherd
endpoint API there.

Ludo’.