From 24a4a635fd76a91463c75cfe615929ec482cc2f6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 7 Mar 2020 21:57:03 +0100 Subject: gnu: eudev: Add variant with corrected Btrfs rules. Discussed at . * gnu/packages/linux.scm (eudev/btrfs-fix): New variable. * gnu/services/base.scm ()[udev]: Default to it. (udev-service): Likewise for #:udev. --- gnu/services/base.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/services') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 706b3ae7ec..669a03b041 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 +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2015, 2016 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu @@ -1918,7 +1918,7 @@ (define-record-type* udev-configuration make-udev-configuration udev-configuration? (udev udev-configuration-udev ; - (default eudev)) + (default eudev/btrfs-fix)) (rules udev-configuration-rules ;list of (default '()))) @@ -2116,7 +2116,7 @@ (define udev-service-type 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 -- cgit v1.2.3 From 5fdc5b2d57d2e7ab04dbaf9c85e7f34eebe81495 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 7 Mar 2020 23:58:39 -0500 Subject: services: nfs: Run rpc.mountd in foreground. Fixes . Shepherd doesn't keep track of processes that fork themselves and would disable the process after restarting it a couple times. * gnu/services/nfs.scm (nfs-shepherd-services): Invoke rpc.mountd with the '--foreground' option. --- gnu/services/nfs.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/services') 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 @@ (define (nfs-shepherd-services config) (start #~(make-forkexec-constructor (list #$(file-append nfs-utils "/sbin/rpc.mountd") + "--foreground" #$@(if (member 'mountd debug) '("--debug" "all") '()) -- cgit v1.2.3 From f6713b55a18e2e1310af772e7556ce803f52e527 Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Thu, 5 Mar 2020 15:39:48 -0500 Subject: services: certbot: Add server option. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/certbot.scm (certbot-configuration): Add server option. (certbot-command): Use server option. (certbot-actication): Use server option. (certbot-nginx-server-configurations): Use server option. * doc/guix.texi (Certificate Services): Document server option. Co-authored-by: Tobias Geerinckx-Rice Signed-off-by: Ludovic Courtès --- doc/guix.texi | 5 +++++ gnu/services/certbot.scm | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'gnu/services') diff --git a/doc/guix.texi b/doc/guix.texi index fab9159530..2278cb6a53 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -74,6 +74,7 @@ Copyright @copyright{} 2019, 2020 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* +Copyright @copyright{} 2020 Jack Hill@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -21008,6 +21009,10 @@ and several @code{domains}. Mandatory email used for registration, recovery contact, and important account notifications. +@item @code{server} (default: @code{#f}) +Optional URL of ACME server. Setting this overrides certbot's default, +which is the Let's Encrypt server. + @item @code{rsa-key-size} (default: @code{2048}) Size of the RSA key. 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 ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2019 Julien Lepiller +;;; Copyright © 2020 Jack Hill +;;; Copyright © 2020 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,6 +72,8 @@ (define-record-type* (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-record-type* (define certbot-command (match-lambda (($ 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 @@ (define certbot-command "--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 @@ (define certbot-command "--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 @@ (define (certbot-activation config) (message (format #f (G_ "~a may need to be run~%") script))) (match config (($ 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-activation config) (define certbot-nginx-server-configurations (match-lambda (($ package webroot certificates email - rsa-key-size default-location) + server rsa-key-size default-location) (list (nginx-server-configuration (listen '("80" "[::]:80")) -- cgit v1.2.3 From d8ab68b92941ca0286697b87a88254023a0b2dc9 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 1 Mar 2020 20:56:37 +0000 Subject: services: guix-data-service: Allow passing extra options. This is so that the options supported by the service configuration don't have to always be changed. Generally though all options should be explicitly supported and documented, so this is mostly to facilitate experimentation. * gnu/services/guix.scm (): Add extra-options and extra-process-jobs-options to the record type. (guix-data-service-shepherd-services): Handle these new configuration record fields. * doc/guix.texi (Guix Data Service): Document these new options. --- doc/guix.texi | 6 ++++++ gnu/services/guix.scm | 15 +++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) (limited to 'gnu/services') diff --git a/doc/guix.texi b/doc/guix.texi index 2278cb6a53..b192118566 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -25250,6 +25250,12 @@ If set, this is the @code{getmail-retriever-configuration} object with which to configure getmail to fetch mail from the guix-commits mailing list. +@item @code{extra-options} (default: @var{'()}) +Extra command line options for @code{guix-data-service}. + +@item @code{extra-process-jobs-options} (default: @var{'()}) +Extra command line options for @code{guix-data-service-process-jobs}. + @end table @end deftp 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 @@ (define-record-type* (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 @@ (define (guix-data-service-profile-packages config) (define (guix-data-service-shepherd-services config) (match-record config - (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 @@ (define (guix-data-service-shepherd-services config) #$(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 @@ (define (guix-data-service-shepherd-services config) (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 -- cgit v1.2.3 From af96c1e0e42978594b27bcf957d75b304f107998 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 2 Mar 2020 08:00:14 +0000 Subject: services: cuirass: Allow passing extra command line options. This is so that the options supported by the service configuration don't have to always be changed. Generally though all options should be explicitly supported and documented, so this is mostly to facilitate experimentation. * gnu/services/cuirass.scm (): Add an extra-options field. (cuirass-shepherd-service): Pass the extra options to the shepherd servvices. * doc/guix.texi (Continuous Integration): Document it. --- doc/guix.texi | 3 +++ gnu/services/cuirass.scm | 13 +++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'gnu/services') diff --git a/doc/guix.texi b/doc/guix.texi index b192118566..1af80849cb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -22450,6 +22450,9 @@ Only evaluate specifications and build derivations once. When substituting a pre-built binary fails, fall back to building packages locally. +@item @code{extra-options} (default: @code{'()}) +Extra options to pass when running the Cuirass processes. + @item @code{cuirass} (default: @code{cuirass}) The Cuirass package to use. @end table 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 @@ (define-record-type* (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 for the Cuirass service with CONFIG." @@ -95,7 +97,8 @@ (define (cuirass-shepherd-service config) (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 @@ (define (cuirass-shepherd-service config) "--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 @@ (define (cuirass-shepherd-service config) "--listen" #$host "--interval" #$(number->string interval) #$@(if use-substitutes? '("--use-substitutes") '()) - #$@(if fallback? '("--fallback") '())) + #$@(if fallback? '("--fallback") '()) + #$@extra-options) #:user #$user #:group #$group -- cgit v1.2.3