summary refs log tree commit diff
path: root/gnu/services
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-03-10 20:50:02 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-03-10 20:50:02 +0100
commit50b99c90c87642f664f9c9523a6e40fc8542ddcf (patch)
tree9fc8845e93ba913730e5fb92bbad158716d84e74 /gnu/services
parentbda4b5e0453e4c8feda24306b4aa76ad5406eb7d (diff)
parent21656ffa3b6d78a610f0befced20cc9b4b3baab6 (diff)
downloadguix-50b99c90c87642f664f9c9523a6e40fc8542ddcf.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/base.scm6
-rw-r--r--gnu/services/certbot.scm12
-rw-r--r--gnu/services/cuirass.scm13
-rw-r--r--gnu/services/guix.scm15
-rw-r--r--gnu/services/nfs.scm1
5 files changed, 33 insertions, 14 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index f1844fb422..ceb6374bfc 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
@@ -1918,7 +1918,7 @@ archive}).  If that is not the case, the service will fail to start."
   udev-configuration make-udev-configuration
   udev-configuration?
   (udev   udev-configuration-udev                 ;<package>
-          (default eudev))
+          (default eudev/btrfs-fix))
   (rules  udev-configuration-rules                ;list of <package>
           (default '())))
 
@@ -2116,7 +2116,7 @@ the udev rules in use.")
 directory dynamically.  Get extra rules from the packages listed in the
 @code{rules} field of its value, @code{udev-configuration} object.")))
 
-(define* (udev-service #:key (udev eudev) (rules '()))
+(define* (udev-service #:key (udev eudev/btrfs-fix) (rules '()))
   "Run @var{udev}, which populates the @file{/dev} directory dynamically.  Get
 extra rules from the packages listed in @var{rules}."
   (service udev-service-type
diff --git a/gnu/services/certbot.scm b/gnu/services/certbot.scm
index 0d3be03383..3e005918d6 100644
--- a/gnu/services/certbot.scm
+++ b/gnu/services/certbot.scm
@@ -3,6 +3,8 @@
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
 ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
+;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -70,6 +72,8 @@
   (certificates        certbot-configuration-certificates
                        (default '()))
   (email               certbot-configuration-email)
+  (server              certbot-configuration-server
+                       (default #f))
   (rsa-key-size        certbot-configuration-rsa-key-size
                        (default #f))
   (default-location    certbot-configuration-default-location
@@ -82,7 +86,7 @@
 (define certbot-command
   (match-lambda
     (($ <certbot-configuration> package webroot certificates email
-                                rsa-key-size default-location)
+                                server rsa-key-size default-location)
      (let* ((certbot (file-append package "/bin/certbot"))
             (rsa-key-size (and rsa-key-size (number->string rsa-key-size)))
             (commands
@@ -101,6 +105,7 @@
                             "--cert-name" name
                             "--manual-public-ip-logging-ok"
                             "-d" (string-join domains ","))
+                      (if server `("--server" ,server) '())
                       (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
                       (if authentication-hook
                           `("--manual-auth-hook" ,authentication-hook)
@@ -113,6 +118,7 @@
                             "--webroot" "-w" webroot
                             "--cert-name" name
                             "-d" (string-join domains ","))
+                      (if server `("--server" ,server) '())
                       (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
                       (if deploy-hook `("--deploy-hook" ,deploy-hook) '()))))))
               certificates)))
@@ -142,7 +148,7 @@
          (message (format #f (G_ "~a may need to be run~%") script)))
     (match config
       (($ <certbot-configuration> package webroot certificates email
-                                  rsa-key-size default-location)
+                                  server rsa-key-size default-location)
        (with-imported-modules '((guix build utils))
          #~(begin
              (use-modules (guix build utils))
@@ -154,7 +160,7 @@
 (define certbot-nginx-server-configurations
   (match-lambda
     (($ <certbot-configuration> package webroot certificates email
-                                rsa-key-size default-location)
+                                server rsa-key-size default-location)
      (list
       (nginx-server-configuration
        (listen '("80" "[::]:80"))
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 7bfb021161..0f4f0f9948 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -77,7 +77,9 @@
   (one-shot?        cuirass-configuration-one-shot? ;boolean
                     (default #f))
   (fallback?        cuirass-configuration-fallback? ;boolean
-                    (default #f)))
+                    (default #f))
+  (extra-options    cuirass-configuration-extra-options
+                    (default '())))
 
 (define (cuirass-shepherd-service config)
   "Return a <shepherd-service> for the Cuirass service with CONFIG."
@@ -95,7 +97,8 @@
         (specs            (cuirass-configuration-specifications config))
         (use-substitutes? (cuirass-configuration-use-substitutes? config))
         (one-shot?        (cuirass-configuration-one-shot? config))
-        (fallback?        (cuirass-configuration-fallback? config)))
+        (fallback?        (cuirass-configuration-fallback? config))
+        (extra-options    (cuirass-configuration-extra-options config)))
     (list (shepherd-service
            (documentation "Run Cuirass.")
            (provision '(cuirass))
@@ -110,7 +113,8 @@
                            "--interval" #$(number->string interval)
                            #$@(if use-substitutes? '("--use-substitutes") '())
                            #$@(if one-shot? '("--one-shot") '())
-                           #$@(if fallback? '("--fallback") '()))
+                           #$@(if fallback? '("--fallback") '())
+                           #$@extra-options)
 
                      #:environment-variables
                      (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt"
@@ -137,7 +141,8 @@
                            "--listen" #$host
                            "--interval" #$(number->string interval)
                            #$@(if use-substitutes? '("--use-substitutes") '())
-                           #$@(if fallback? '("--fallback") '()))
+                           #$@(if fallback? '("--fallback") '())
+                           #$@extra-options)
 
                      #:user #$user
                      #:group #$group
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 0f0fad39b0..10a8581a62 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -68,7 +68,12 @@
    (default #f))
   (commits-getmail-retriever-configuration
    guix-data-service-commits-getmail-retriever-configuration
-   (default #f)))
+   (default #f))
+  (extra-options    guix-data-service-extra-options
+                    (default '()))
+  (extra-process-jobs-options
+   guix-data-service-extra-process-jobs-options
+   (default '())))
 
 (define (guix-data-service-profile-packages config)
   "Return the guix-data-service package, this will populate the
@@ -78,7 +83,7 @@ ca-certificates.crt file in the system profile."
 
 (define (guix-data-service-shepherd-services config)
   (match-record config <guix-data-service-configuration>
-    (package user group port host)
+    (package user group port host extra-options extra-process-jobs-options)
     (list
      (shepherd-service
       (documentation "Guix Data Service web server")
@@ -92,7 +97,8 @@ ca-certificates.crt file in the system profile."
                       #$(string-append "--host=" host)
                       ;; Perform any database migrations when the
                       ;; service is started
-                      "--update-database")
+                      "--update-database"
+                      #$@extra-options)
 
                 #:user #$user
                 #:group #$group
@@ -117,7 +123,8 @@ ca-certificates.crt file in the system profile."
       (start #~(make-forkexec-constructor
                 (list
                  #$(file-append package
-                                "/bin/guix-data-service-process-jobs"))
+                                "/bin/guix-data-service-process-jobs")
+                 #$@extra-process-jobs-options)
                 #:user #$user
                 #:group #$group
                 #:environment-variables
diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm
index ddc9e2c47e..140a11856a 100644
--- a/gnu/services/nfs.scm
+++ b/gnu/services/nfs.scm
@@ -299,6 +299,7 @@
            (start
             #~(make-forkexec-constructor
                (list #$(file-append nfs-utils "/sbin/rpc.mountd")
+                     "--foreground"
                      #$@(if (member 'mountd debug)
                             '("--debug" "all")
                             '())