GNU bug report logs -
#73467
[PATCH] Wireguard: Add autostart? field.
Previous Next
To reply to this bug, email your comments to 73467 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Wed, 25 Sep 2024 09:39:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Apoorv Singh <apoorvs569 <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Wed, 25 Sep 2024 09:39:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
The following patch adds a record field autostart? which can be
used by the user to configure weather the wireguard service should
start automatically. This field is helpful for people who might
have limited bandwidth and/or they don't want the wireguard
service to start at boot which in turn starts the VPN without them
knowing as it can result in un-desired usage of their bandwidth
etc.
I personally have limited bandwidth on the VPS I am running the wireguard VPN on and don't want to use it all the time, and this options will fix that, as I sometimes forget that I have it turned on
[0002-Wireguard-add-autostart-field.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
.
--
- Apoorv Singh
- Sent from Emacs.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Thu, 26 Sep 2024 18:11:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 73467 <at> debbugs.gnu.org (full text, mbox):
Apoorv Singh <apoorvs569 <at> gmail.com> writes:
> The following patch adds a record field autostart? which can be used by the user
> to configure weather the wireguard service should start automatically.
I generally agree that there should be a way to disable autostart and
I've solved it in a more generic way:
--8<---------------cut here---------------start------------->8---
(define (no-autostart input-service)
"Augment shepherd extension of INPUT-SERVICE to disable auto-start."
(define (transform-extension ex)
(match ex
(($ (@@ (gnu services) <service-extension>)
(and ($ (@@ (gnu services) <service-type>) 'shepherd-root _) kind)
compute)
(service-extension
kind
(lambda (config)
(let ((orig (car (compute config))))
(list (shepherd-service (inherit orig) (auto-start? #f)))))))
(_ ex)))
(match input-service
(($ (@@ (gnu services) <service>)
(and ($ (@@ (gnu services) <service-type>) _ extensions _) kind)
value)
(service
(service-type
(inherit kind)
(extensions (map transform-extension extensions)))
value))))
--8<---------------cut here---------------end--------------->8---
Anyway, you need to document the new configuration parameter in the manual.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Thu, 03 Oct 2024 10:29:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 73467 <at> debbugs.gnu.org (full text, mbox):
[0003-Rename-autostart-to-auto-start-as-other-services-use.patch (text/x-patch, attachment)]
[0004-Document-the-new-auto-start-field-for-wireguard-serv.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
The following patches rename the autostart? field to auto-start?
to follow what other services name the field and documents the
newly added field in guix.texi file.
--
- Apoorv Singh
- Sent from Emacs.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Thu, 03 Oct 2024 12:39:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 73467 <at> debbugs.gnu.org (full text, mbox):
Hello,
Apoorv Singh <apoorvs569 <at> gmail.com> writes:
> The following patch adds a record field autostart? which can be used
> by the user to configure weather the wireguard service should start
> automatically. This field is helpful for people who might have limited
> bandwidth and/or they don't want the wireguard service to start at
> boot which in turn starts the VPN without them knowing as it can
> result in un-desired usage of their bandwidth etc.
>
> I personally have limited bandwidth on the VPS I am running the
> wireguard VPN on and don't want to use it all the time, and this
> options will fix that, as I sometimes forget that I have it turned on
I guess you are also re-routing all of your traffic to your wireguard
interface? I have such a setup, and I've configured wireguard via
NetworkManager for this case, as it's more conveniently turned on & off,
even from GNOME's UI [0].
[0] https://lists.gnu.org/archive/html/help-guix/2024-09/msg00032.html
Also, by default, a Wireguard tunnel doesn't consume any data (no pings,
nothing) until traffic is sent to it, so it shouldn't be an issue until
you use it.
>>From 378f72413697e418061fe359acddf24d6afe1add Mon Sep 17 00:00:00 2001
> From: apoorv569 <apoorvs569 <at> gmail.com>
> Date: Wed, 25 Sep 2024 09:10:36 +0530
> Subject: [PATCH 2/2] Wireguard add autostart? field
>
> ---
> gnu/services/vpn.scm | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
> index 449909e34d..eee7e78c6d 100644
> --- a/gnu/services/vpn.scm
> +++ b/gnu/services/vpn.scm
> @@ -86,6 +86,7 @@ (define-module (gnu services vpn)
> wireguard-configuration-pre-down
> wireguard-configuration-post-down
> wireguard-configuration-table
> + wireguard-configuration-autostart?
>
> wireguard-service-type))
>
> @@ -760,7 +761,9 @@ (define-record-type* <wireguard-configuration>
> (post-down wireguard-configuration-post-down ;list of strings
> (default '()))
> (table wireguard-configuration-table ;string
> - (default "auto")))
> + (default "auto"))
> + (autostart? wireguard-configuration-autostart?
> + (default #f)))
IIUC, this would mean the wireguard service would not longer start *by
default*, breaking users configs and more importantly expectations
(since it'd be different to most other services in this respect).
> (define (wireguard-configuration-file config)
> (define (peer->config peer)
> @@ -907,7 +910,8 @@ (define (wireguard-shepherd-service config)
> (match-record config <wireguard-configuration>
> (wireguard interface)
> (let ((wg-quick (file-append wireguard "/bin/wg-quick"))
> - (config (wireguard-configuration-file config)))
> + (config (wireguard-configuration-file config))
> + (autostart (wireguard-configuration-autostart? config)))
> (list (shepherd-service
> (requirement '(networking))
> (provision (list (wireguard-service-name interface)))
> @@ -916,6 +920,7 @@ (define (wireguard-shepherd-service config)
> (stop #~(lambda _
> (invoke #$wg-quick "down" #$config)
> #f)) ;stopped!
> + (auto-start? autostart)
Like Sergey, I agree it'd be useful to expose an auto-start? value, and
I'd also like to see some way to make this exposed to all services, as
something inherited (though I'm not sure how that could be achieved with
our current structure).
But as a start, if it's really useful (seem my first comment above
regarding bandwidth usage), we could do it this way, as long as it
doesn't change the default behavior (default #f)
It'd also need to be documented in doc/guix.texi.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Thu, 03 Oct 2024 12:49:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 73467 <at> debbugs.gnu.org (full text, mbox):
Hi,
Apoorv Singh <apoorvs569 <at> gmail.com> writes:
>>From e17eb73fb9662e44c6cb03405ea87f7e37dbf1e3 Mon Sep 17 00:00:00 2001
> From: apoorv569 <apoorvs569 <at> gmail.com>
> Date: Thu, 3 Oct 2024 10:51:36 +0530
> Subject: [PATCH 3/4] Rename autostart? to auto-start? as other services use
> the same.
>
> ---
> gnu/services/vpn.scm | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
> index eee7e78c6d..7e79de48a8 100644
> --- a/gnu/services/vpn.scm
> +++ b/gnu/services/vpn.scm
> @@ -762,7 +762,7 @@ (define-record-type* <wireguard-configuration>
> (default '()))
> (table wireguard-configuration-table ;string
> (default "auto"))
> - (autostart? wireguard-configuration-autostart?
> + (auto-start? wireguard-configuration-autostart? ;boolean
> (default #f)))
Instead of sending a diff on top of your original work, please squash
your commits and send it as marked as 'v2' for version 2. Some guidance
is available here for formatting and sending patches [0]
[0] https://guix.gnu.org/manual/devel/en/html_node/Sending-a-Patch-Series.html
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Thu, 03 Oct 2024 12:55:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 73467 <at> debbugs.gnu.org (full text, mbox):
Hi,
Sergey Trofimov <sarg <at> sarg.org.ru> writes:
> Apoorv Singh <apoorvs569 <at> gmail.com> writes:
>
>> The following patch adds a record field autostart? which can be used by the user
>> to configure weather the wireguard service should start automatically.
>
> I generally agree that there should be a way to disable autostart
+1. I'm not sure how this could be implemented... seems to me we'd need
some guide of record inheritance or something, with a base configuration
record containing the auto-start? (which should default to #t) option.
--
Thanks,
Maxim
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Fri, 04 Oct 2024 04:47:03 GMT)
Full text and
rfc822 format available.
Message #23 received at 73467 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
The following patch adds auto-start? field for wireguard-service-type
[0001-Wireguard-Add-auto-start-field.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
.
--
- Apoorv Singh
- Sent from Emacs.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#73467
; Package
guix-patches
.
(Sat, 15 Mar 2025 16:31:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 73467 <at> debbugs.gnu.org (full text, mbox):
It seems like someone else has added this field for the
wireguard-service-type and I should close this thread.
--
- Apoorv Singh
- Sent from Emacs.
This bug report was last modified 97 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.