services: childhurd: Always include the secret-service.

* gnu/services/virtualization.scm (secret-service-operating-system): New
procedure.
(hurd-vm-disk-image): Use it to ensure a Childhurd always includes the
secret-service.
(%hurd-vm-operating-system): Remove secret-service.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Jan (janneke) Nieuwenhuizen 2020-09-02 07:13:15 +02:00
parent 450dcd1aff
commit 18a9c16b5e
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273

View file

@ -835,6 +835,14 @@ (define secret-service-type
boot time. This service is meant to be used by virtual machines (VMs) that
can only be accessed by their host.")))
(define (secret-service-operating-system os)
"Return an operating system based on OS that includes the secret-service,
that will be listening to receive secret keys on port 1004, TCP."
(operating-system
(inherit os)
(services (cons (service secret-service-type 1004)
(operating-system-user-services os)))))
;;;
;;; The Hurd in VM service: a Childhurd.
@ -850,8 +858,6 @@ (define %hurd-vm-operating-system
(target "/dev/vda")
(timeout 0)))
(services (cons*
;; Receive secret keys on port 1004, TCP.
(service secret-service-type 1004)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
@ -887,8 +893,9 @@ (define-record-type* <hurd-vm-configuration>
(default "/etc/childhurd")))
(define (hurd-vm-disk-image config)
"Return a disk-image for the Hurd according to CONFIG."
(let ((os (hurd-vm-configuration-os config))
"Return a disk-image for the Hurd according to CONFIG. The secret-service
is added to the OS specified in CONFIG."
(let ((os (secret-service-operating-system (hurd-vm-configuration-os config)))
(disk-size (hurd-vm-configuration-disk-size config)))
(system-image
(image