summaryrefslogtreecommitdiff
path: root/gnu/services/virtualization.scm
diff options
context:
space:
mode:
authorJan (janneke) Nieuwenhuizen <janneke@gnu.org>2020-09-02 07:13:15 +0200
committerJan (janneke) Nieuwenhuizen <janneke@gnu.org>2020-09-02 07:24:15 +0200
commit18a9c16b5e067c9737452eb014ab80b5d1ffb915 (patch)
treefaa05fb84e2c7fe230f11bc9fe2fb68a8c3ddd09 /gnu/services/virtualization.scm
parent450dcd1aff741c4f81cc9508ce33f19e62edefb7 (diff)
downloadguix-patches-18a9c16b5e067c9737452eb014ab80b5d1ffb915.tar
guix-patches-18a9c16b5e067c9737452eb014ab80b5d1ffb915.tar.gz
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>
Diffstat (limited to 'gnu/services/virtualization.scm')
-rw-r--r--gnu/services/virtualization.scm15
1 files changed, 11 insertions, 4 deletions
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index 75fe203e15..20e104f48c 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -835,6 +835,14 @@ over TCP. Reboot upon failure."
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 @@ can only be accessed by their host.")))
(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 @@ can only be accessed by their host.")))
(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