summaryrefslogtreecommitdiff
path: root/gnu/services/vpn.scm
AgeCommit message (Collapse)Author
2023-07-21services: wireguard: Add a 'configuration' action.Maxim Cournoyer
* gnu/services/vpn.scm (wireguard-shepherd-service) [actions]: New field.
2023-07-21services: wireguard: Clean-up configuration file serializer.Maxim Cournoyer
Previously, the generated config file would contain arbitrary whitespace that made it look ugly. * gnu/services/vpn.scm (<wireguard-configuration>) [dns]: Change default value from #f to '(). (wireguard-configuration-file): Use match-record. Format each line individually, assembling the lines at the end to avoid extraneous white space. * doc/guix.texi (VPN Services): Update doc.
2023-07-21services: wireguard: Implement a dynamic IP monitoring feature.Maxim Cournoyer
* gnu/services/vpn.scm (<wireguard-configuration>) [monitor-ips?, monitor-ips-internal]: New fields. * gnu/services/vpn.scm (define-with-source): New syntax. (wireguard-service-name, strip-port/maybe) (ipv4-address?, ipv6-address?, host-name?) (endpoint-host-names): New procedure. (wireguard-monitoring-jobs): Likewise. (wireguard-service-type): Register it. * tests/services/vpn.scm: New file. * Makefile.am (SCM_TESTS): Register it. * doc/guix.texi (VPN Services): Update doc. Reviewed-by: Bruno Victal <mirai@makinata.eu>
2023-03-03services: vpn: Deprecate 'openvpn-client-service' & 'openvpn-server-service' ↵Bruno Victal
procedures. * doc/guix.texi (VPN Services): Replace 'openvpn-client-service' & 'openvpn-server-service' procedures with their service-type counterparts. * gnu/services/vpn.scm (openvpn-client-service, openvpn-server-service): Deprecate procedure. (openvpn-server-service-type, openvpn-client-service-type): Set default value. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-12-25services: wireguard: Allow specifying pre-shared keys.Timo Wilken
* gnu/services/vpn.scm (<wireguard-peer>)[preshared-key]: New field. * doc/guix.texi (VPN Services): Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-12-09services: wireguard: Use the parameterized wireguard package.EuAndreh
* gnu/services/vpn.scm (wireguard-activation): Use the "wg" binary from the package given to <wireguard-configuration>. Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2022-11-13services: vpn: Fix the profile wireguard package.EuAndreh
This is a follow-up of: fb35b7cedd48a47820b0c250677b7ec6ac78fdc1. * gnu/services/vpn.scm (wireguard-service-type): Add the wireguard package from the configuration to the profile. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-11-12services: vpn: Add wireguard-tools to profile-service-type.EuAndreh
* gnu/services/vpn.scm (wireguard-service-type): Include the "wireguard-tools" package as an extension to profile-service-type, so that users that enable the wireguard service can interact with it via the command-line without having to manually install wireguard-tools. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-10-20services: wireguard: Add more configuration fields.Mathieu Othacehe
* gnu/services/vpn.scm (<wireguard-configuration>)[pre-up, post-up, pre-down, post-down, table]: New fields. (wireguard-configuration-file): Take them into account. * doc/guix.texi (Wireguard): Update it.
2022-06-24services: configuration: Remove 'validate-configuration'.Ludovic Courtès
Now that configuration records use the 'sanitize' property for each field, 'validate-configuration' has become useless because it's impossible to construct an invalid configuration record. * gnu/services/configuration.scm (validate-configuration): Remove. * gnu/services/mail.scm (dovecot-service): Remove call. * gnu/services/vpn.scm (openvpn-client-service) (openvpn-server-service): Likewise. * doc/guix.texi (Complex Configurations): Remove documentation.
2022-06-22services: wireguard: Shepherd 'stop' method really stops.Ludovic Courtès
Until now the 'stop' method would return #t, which shepherd would interpret as "services could not be stopped". * gnu/services/vpn.scm (wireguard-shepherd-service): Have 'stop' return #f.
2022-06-15services: configuration: Use *unspecified* instead of 'disabled.Attila Lendvai
Use *unspecified* as a marker for field values that have not been set. Rationale: 'disabled may easily clash with user values for boolean fields, is confusing (i.e. its meaning is *not* boolean false, but unspecified) and it also passes silently through the symbol? predicate of a field of type symbol. * gnu/services/configuration.scm (configuration-missing-default-value): Renamed from configuration-no-default-value. (define-maybe-helper): Use *unspecified* instead of 'disabled, and make the default value optional. * gnu/home/services/desktop.scm (home-redshift-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. * gnu/services/authentication.scm (nslcd-configuration): Likewise. * gnu/services/cgit.scm (repository-cgit-configuration): Likewise. * gnu/services/file-sharing.scm (serialize-maybe-string) (serialize-maybe-file-object): Use 'unspecified?' instead of (eq? val 'disabled). * gnu/services/messaging.scm (raw-content?): Likewise. (ssl-configuration): Change (maybe-xyz 'disabled) to maybe-xyz. (prosody-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/messaging.scm (define-all-configurations): Use *unspecified* instead of 'disabled'. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-account): Likewise. (jami-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise. * tests/services/configuration.scm ("maybe type, no default") ("maybe type, with default"): New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-04-29services: Add missing 'description' fields.Ludovic Courtès
* gnu/services/databases.scm (postgresql-service-type)[description]: New field. (memcached-service-type)[description]: New field. (mysql-service-type)[description]: New field. (redis-service-type)[description]: New field. * gnu/services/desktop.scm (geoclue-service-type)[description]: New field. (udisks-service-type)[description]: New field. (elogind-service-type)[description]: New field. (account-service-type)[description]: New field. * gnu/services/kerberos.scm (krb5-service-type)[description]: New field. (pam-krb5-service-type)[description]: New field. * gnu/services/lirc.scm (lirc-service-type)[description]: New field. * gnu/services/mail.scm (dovecot-service-type)[description]: New field. (opensmtpd-service-type)[description]: New field. (mail-aliases-service-type)[description]: New field. (exim-service-type)[description]: New field. * gnu/services/monitoring.scm (zabbix-server-service-type)[description]: New field. (zabbix-agent-service-type)[description]: New field. * gnu/services/nfs.scm (rpcbind-service-type)[description]: New field. (pipefs-service-type)[description]: New field. (gss-service-type)[description]: New field. (idmap-service-type)[description]: New field. * gnu/services/spice.scm (spice-vdagent-service-type)[description]: New field. * gnu/services/sysctl.scm (sysctl-service-type)[description]: New field. * gnu/services/virtualization.scm (libvirt-service-type)[description]: New field. (virtlog-service-type)[description]: New field. * gnu/services/vpn.scm (openvpn-server-service-type)[description]: New field. (openvpn-client-service-type)[description]: New field. (wireguard-service-type)[description]: New field. * gnu/services/web.scm (httpd-service-type)[description]: New field. (fcgiwrap-service-type)[description]: New field. (agate-service-type)[description]: New field. [name]: Fix.
2022-03-03services: openvpn: Actually save log file.Cameron Chaparro
* gnu/services/vpn.scm (openvpn-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-22services: wireguard: Add DNS config field.Nathan Dehnel
* gnu/services/vpn.scm (wireguard-configuration)[dns]: New field. (wireguard-configuration-file): Honor it. * doc/guix.texi: Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-11-30services: Accept <inferior-package>s in lieu of <package>s.Tobias Geerinckx-Rice
* gnu/services/authentication.scm (fprintd-configuration) (nslcd-configuration): Substitute file-like objects for package ones. * gnu/services/cgit.scm (cgit-configuration, opaque-cgit-configuration): Likewise. * gnu/services/cups.scm (package-list?, cups-configuration): Likewise. * gnu/services/dns.scm (verify-knot-configuration) (ddclient-configuration): Likewise. * gnu/services/docker.scm (docker-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/getmail.scm (getmail-configuration): Likewise. * gnu/services/mail.scm (dovecot-configuration) (opaque-dovecot-configuration): Likewise. * gnu/services/messaging.scm (prosody-configuration) (opaque-prosody-configuration): Likewise. * gnu/services/monitoring.scm (zabbix-server-configuration) (zabbix-agent-configuration): Likewise. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-configuration): Likewise. * gnu/services/virtualization.scm (libvirt-configuration) (qemu-guest-agent-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise.
2021-07-07services: Add bitmask-service-type.Raghav Gururajan
* gnu/services/vpn.scm (bitmask-service-type): New variable. * doc/guix.texi: Document it. Co-authored-by: jgart <jgart@dismail.de>
2021-06-25Remove unused module imports from (gnu services vpn).Tobias Geerinckx-Rice
* gnu/services/vpn.scm: Remove (gnu packages networking) and (guix utils) imports.
2021-06-25gnu: Add strongswan service.Domagoj Stolfa
* gnu/services/vpn.scm (<strongswan-configuration>): New record type. (charon-plugins, strongswan-configuration-file) (strongswan-shepherd-service, strongswan-service-type): New variables. * doc/guix.tex (VPN Services): Document them all.
2021-05-24gnu: services: Add missing wireguard related exports.Solene Rapenne
* gnu/services/vpn.scm: Export 'wireguard-peer-public-key' and 'wireguard-peer-keep-alive'. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2021-04-20services: wireguard: Add keep-alive support.Guillaume Le Vaillant
* gnu/services/vpn.scm (<wireguard-peer>): Add 'keep-alive' field. (wireguard-configuration-file): Use it. * doc/guix.texi (VPN Services): Document it.
2021-02-17services: wireguard: New service.Mathieu Othacehe
* gnu/services/vpn.scm (wireguard-peer, wireguard-configuration): New records. (wireguard-service-type): New variable. * doc/guix.texi (VPN Services): Document it.
2020-11-18gnu: vpn: Make ca, key and cert optional.Julien Lepiller
* gnu/services/vpn.scm (openvpn-client-configuration) (openvpn-server-configuration): Make ca, key an cert fields optional. * doc/guix.texi (VPN Services): Document the change.
2020-02-19gnu: services: Add openvpn options.Julien Lepiller
* gnu/services/vpn.scm (openvpn-client-configuration) (openvpn-server-configuration): Add fast-io? and auth-user-pass options.
2020-02-19gnu: services: Fix openvpn boolean fields.Julien Lepiller
* gnu/services/vpn.scm (serialize-boolean): Do not print #t to the file.
2017-10-10services: vpn: Fix default tls-auth configuration.Julien Lepiller
* gnu/services/vpn.scm (serialize-tls-auth): Fix serialization error when tls-auth is disabled.
2017-03-31doc: Fix typos.Eric Bavier
* doc/guix.texi (Build Systems)[ocaml-build-system]: Fix typo. (Log Rotation)[periodic-rotations]: ditto. (Database Services)[redis-service-type]: ditto. (OpenSMTPD Service)[opensmtpd-configuration]: ditto. (VPN Services)[OpenVPN]: ditto. (Power management Services)[tlp-configuration]: ditto. (Git daemon service)[git-daemon-service]: ditto. (Running GuixSD in a VM): ditto. * gnu/services/pm.scm (tlp-configuration)[runtime-pm-blacklist]: Fix typo. * gnu/services/vpn.scm (openvpn-client-configuration)[status]: ditto.
2017-03-24services: openvpn: Fix a typo which was corrected in generated doc.Mathieu Othacehe
* gnu/services/vpn.scm (define-split-configuration): Fix typo. Signed-off-by: Clément Lassieur <clement@lassieur.org>
2017-01-25services: Fix 'mkdir-p' in activation scripts.Clément Lassieur
* gnu/services/cups.scm (%cups-activation): Import (guix build utils). * gnu/services/mail.scm (opensmtpd-activation): Idem. * gnu/services/networking.scm (ntp-service-activation): Idem. * gnu/services/spice.scm (spice-vdagent-activation): Idem. * gnu/services/ssh.scm (openssh-activation): Idem. (dropbear-activation): Idem. * gnu/services/vpn.scm (%openvpn-activation): Idem. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-01-20services: Reindent vpn.scm.Ludovic Courtès
This fixes indentation of 'match' forms. * gnu/services/vpn.scm: Pass through 'indent-code.el'.
2017-01-15gnu: Add openvpn service.Julien Lepiller
* gnu/services/vpn.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (VPN Services): New section.