summaryrefslogtreecommitdiff
path: root/gnu/services/web.scm
Commit message (Expand)AuthorAgeFilesLines
* services: nginx: Make log formats configurable.•••* gnu/services/web.scm (<nginx-log-format-configuration>): New record. (<nginx-configuration>)[log-format, log-formats]: New fields. (assert-valid-log-format-escape): New procedure. (emit-nginx-log-format-config): New procedure. (default-nginx-config): Make log formats configurable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I8a16a1a9a20f64606dac0a1e14f1c5217d351f90 Leo Nikkilä7 days1-2/+39
* services: nginx-upstream-configuration: Allow file-like objects•••* gnu/services/web.scm (emit-nginx-upstream-config): Support file-like objects. * doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it. Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Tomas Volf2024-11-201-2/+4
* services: nginx: Print extra-content before the server-blocks.•••The configuration file is processed sequentially, which meant that there was no way to set for example log format shared between the server-blocks, because the final configuration file would have this order: ... http { ... server { } ... $extra-content } Moving the extra-content before the serialization of server-blocks resolves this. * gnu/services/web.scm (default-nginx-config): Move extra-content before server-blocks. Change-Id: Ie8286a533dfed575abc58a0f4800706b3ad6adc2 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Tomas Volf2024-11-201-5/+5
* services: anonip: Add 'debug?' configuration field.•••* gnu/services/web.scm (<anonip-configuration>) [debug?]: New field. (anonip-shepherd-service): Honor it. * doc/guix.texi (Log Rotation) <anonip-configuration>: Document it. Change-Id: Iaf57b5992808374b069a55c34a9adfdfe52b046c Maxim Cournoyer2024-11-011-0/+3
* services: web: Fix race between nginx activation and anonip.•••* gnu/services/web.scm (anonip-shepherd-service): Recreate the input file when it's not a FIFO. Fixes: <https://issues.guix.gnu.org/59181> Change-Id: I8ba87f9fc48ecfd515e34bdee9e2949a2a559f9c Maxim Cournoyer2024-11-011-34/+29
* services: agate: Change variable names and add system test.•••* doc/guix.texi (Web Services): Update documentation for agate-service-type. * gnu/services/web.scm (agate-configuration): Rename certs, addr, lang and central-conf variables. * gnu/tests/web.scm (%test-agate): Add system test for agate-service-type. Change-Id: Ie14814fca1d5158acd67899da0c3fc2c5b586c72 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Rodion Goritskov2024-08-311-19/+19
* services: agate: Update options for compatibility with the current Agate vers...•••* gnu/services/web.scm (<agate-configuration>)[certs]: Add. [cert]: Remove. [key]: Remove. [hostname]: Change from string to list. [silent?]: Remove. [only-tls13?]: Add. [central-conf?]: Add. [ed25519?]: Add. [skip-port-check?]: Add. (agate-shepherd-service): Change handling of addr and hostname, add new options handling. * doc/guix.texi (Web Services): Update. Change-Id: Ifb4968d704627344913bb69f20636d710a4fe738 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Rodion Goritskov2024-07-261-19/+31
* services: web: Return success from nginx-action.•••Previous value of #f lead to `head reload nginx' returning exit code 1, complicating usage from scripts (and other actions). Returning #t fixes that. Any actual failures are still covered by the invoke call above. * gnu/services/web.scm (nginx-shepherd-service)[nginx-action]<-s>: Return #t. Change-Id: I4ce1645798a85baddeb0f5bd702a2567db3c7aaa Signed-off-by: Ludovic Courtès <ludo@gnu.org> Tomas Volf2024-07-101-1/+1
* services: web: Pass run-directory to nginx's actions.•••Reloading nginx lead to (harmless, yet annoying) alert being logged: nginx: [alert] could not open error log file: open() "/gnu/store/9l2lznlqpjcm79znq1xas378maqgysc8-nginx-1.27.0/logs/error.log" failed (2: No such file or directory) Since there already is prepared runtime directory for nginx, all that was missing was to also pass it to the reload and reopen invocations. * gnu/services/web.scm (nginx-shepherd-service)[reload, reopen]: Pass -p flag with run-directory as value. Change-Id: Id5c558d65def8c1fe5cf581a4a370508ac05e550 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Tomas Volf2024-07-101-2/+2
* services: web: Improve nginx formatting for extra-content.•••When extra-content is a list, add 4 space indentation and a newline to every line. If it's a string, continue inserting it directly. This makes the list serialization behavior more consistent with other services. * gnu/services/web (default-nginx-config): Support lists. * doc/guix.texi (Web Services)[nginx-configuration]: Document it. Change-Id: Iec8614ba3cfc37292a566197e8d39b352b04846a Signed-off-by: Christopher Baines <mail@cbaines.net> Richard Sent2024-06-261-1/+8
* services: Add whoogle-service-type.•••* gnu/services/web.scm (whoogle-service-type): New variable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Miguel Ángel Moreno2024-02-201-0/+56
* services: Remove unnecessary references to (gnu build shepherd).•••* gnu/services/databases.scm (memcached-shepherd-service): Remove ‘with-imported-modules’ form and ‘modules’ field. * gnu/services/security-token.scm (pcscd-shepherd-service): Remove ‘with-imported-modules’ form. * gnu/services/web.scm (hpcguix-web-shepherd-service): Likewise. Change-Id: Ieb817508f1751e0c1ff551a0e078789a4a813c1c Ludovic Courtès2023-12-221-25/+23
* services: hpcguix-web: Add ‘configuration’ action.•••* gnu/services/web.scm (hpcguix-web-shepherd-service): Define ‘config-file’ and use it. Add ‘actions’ field. Change-Id: I085df403270039ede3c13f21a5d60682c7510e2e Ludovic Courtès2023-12-141-6/+6
* gnu: gmnisrv: Fix typo.•••* gnu/services/web.scm (gmnisrv-service-type): Change the service name to gmnisrv Change-Id: I1ca46c312db851486313c431fe0454786f0a673e Signed-off-by: Ludovic Courtès <ludo@gnu.org> Michal Atlas2023-12-031-1/+1
* gnu: Use ‘libc-utf8-locales-for-target’.•••* guix/packages.scm (%standard-patch-inputs): Use ‘libc-utf8-locales-for-target’ instead of ‘glibc-utf8-locales’. * guix/self.scm (%packages): Likewise. * gnu/home/services/ssh.scm (file-join): Likewise * gnu/installer.scm (build-compiled-file): Likewise. * gnu/packages/chromium.scm (ungoogled-chromium/wayland): Likewise. * gnu/packages/gnome.scm (libgweather4, tracker): Likewise. * gnu/packages/javascript.scm (js-mathjax): Likewise. * gnu/packages/package-management.scm (guix, flatpak): Likewise. * gnu/packages/raspberry-pi.scm (raspi-arm64-chainloader): Likewise. * gnu/packages/suckless.scm (svkbd): Likewise. * gnu/services.scm (cleanup-gexp): Likewise. * gnu/services/base.scm (guix-publish-shepherd-service): Likewise. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services) (guix-build-coordinator-agent-shepherd-services): Likewise. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services): (guix-data-service-shepherd-services) (nar-herder-shepherd-services) (bffe-shepherd-services): Likewise. * gnu/services/web.scm (anonip-shepherd-service) (mumi-shepherd-services): Likewise. * gnu/system/image.scm (system-disk-image, system-iso9660-image) (system-docker-image, system-tarball-image): Likewise. * gnu/system/install.scm (%installation-services): Likewise. * guix/profiles.scm (info-dir-file): Likewise. (ca-certificate-bundle, profile-derivation): Likewise. * guix/scripts/pack.scm (store-database, set-utf8-locale): Likewise. * tests/pack.scm: Likewise. * tests/profiles.scm ("profile-derivation, cross-compilation"): Likewise. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Co-authored-by: Christopher Baines <mail@cbaines.net> Change-Id: I24239f427bcc930c29d2ba5d00dc615960a6c374 Janneke Nieuwenhuizen2023-12-021-2/+4
* services: nginx: Harden php-location settings.•••* gnu/services/web.scm (nginx-php-location): Only pass existing PHP files to the back end. Mitigate httpoxy vulnerability. Bruno Victal2023-07-021-0/+8
* services: nginx: Add reopen action.•••This is required to allow log file rotations using rottlog, etc. * gnu/services/web.scm (nginx-shepherd-service): Add reopen shepherd action. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal2023-04-111-1/+5
* services: nginx: Make logging level configurable.•••* gnu/services/web.scm (<nginx-configuration>)[log-level]: New field. (assert-valid-log-level): New procedure. (default-nginx-config): Make log-level configurable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Bruno Victal2023-04-111-1/+18
* services: hpcguix-web: Provide default values.•••* gnu/services/web.scm (<hpcguix-web-configuration>)[specs]: Default to #f. (hpcguix-web-shepherd-service): Do not pass '--config' when SPECS is #f. (hpcguix-web-service-type)[default-value]: New field. * doc/guix.texi (Web Services): Adjust accordingly. Ludovic Courtès2023-01-221-6/+9
* services: Add Shepherd 'configuration' action to various services.•••* gnu/services/avahi.scm (avahi-shepherd-service): Add 'actions' field. * gnu/services/base.scm (nscd-actions): Add call to 'shepherd-configuration-action'. * gnu/services/desktop.scm (upower-shepherd-service): Add 'actions' field. (elogind-shepherd-service): Likewise. * gnu/services/dict.scm (dicod-shepherd-service): Likewise. * gnu/services/networking.scm (openntpd-shepherd-service): Likewise. (tor-shepherd-service): Likewise. * gnu/services/ssh.scm (openssh-shepherd-service): Likewise. * gnu/services/web.scm (nginx-shepherd-service): Likewise. * gnu/services/xorg.scm (gdm-shepherd-service): Likewise. * gnu/tests/base.scm (run-basic-test)["nscd configuration action"]: New test. * doc/guix.texi (Services): Document it. Ludovic Courtès2022-11-181-4/+3
* services: Streamline or eliminate some match-lambda patterns.•••These were spot while working on a fix for commit 543d971ed2 ("services: configuration: Re-order generated record fields"). * gnu/services/web.scm (php-fpm-accounts): Remove extraneous trailing dummy catchall patterns. (agate-accounts): Access the configuration fields directly since there are only two, which is less error-prone. Maxim Cournoyer2022-11-171-19/+18
* services: nginx: Improve reload action documentation.•••* gnu/services/web.scm (nginx-shepherd-service): Be explicit about the reload action not changing the configuration file, but instead respawning worker processes. Signed-off-by: Christopher Baines <mail@cbaines.net> EuAndreh via Guix-patches via2022-10-181-1/+5
* services: nginx: Use nginx-action over inline gexp.•••* gnu/services/web.scm (nginx-shepherd-service): Use the simpler "nginx-action" helper, for the same reload side-effect. Signed-off-by: Christopher Baines <mail@cbaines.net> EuAndreh via Guix-patches via2022-10-181-7/+1
* services: nginx: Add reload action.•••In a new "reload" shepherd-action, send a SIGHUP to the NGINX master process, so that it can re-read the configuration file and start new worker processes. * gnu/services/web.scm (nginx-shepherd-service): Add the "reload" shepherd-action. Signed-off-by: Christopher Baines <mail@cbaines.net> EuAndreh2022-10-131-2/+13
* services: anonip: Bail out when the input is not a FIFO.•••* gnu/services/web.scm (anonip-shepherd-service)[start]: Accept zero arguments. Define 'spawn'. Print a message and return #f when #$INPUT does not denote a FIFO. Ludovic Courtès2022-10-041-26/+34
* services: nginx: Don't emit empty fields•••An empty root or index field is an error in nginx. * gnu/services/web.scm (emit-nginx-server-config): Don't emit root or index fields when they are empty Signed-off-by: Ludovic Courtès <ludo@gnu.org> Simen Endsjø2022-09-261-2/+7
* services: web: Fix long lines.•••* gnu/services/web.scm: Remove a trailing space and wrap long line. No functional change. Mathieu Othacehe2022-09-111-30/+36
* services: nginx: Add 'shepherd-requirement' configuration field.•••* gnu/services/web.scm (<nginx-configuration>)[shepherd-requirement]: New field. (nginx-shepherd-service): Honor it. * doc/guix.texi (Web Services): Document it. Ludovic Courtès2022-09-061-2/+5
* services: Add anonip-service-type.•••* gnu/services/web.scm (anonip-configuration): New record type. (anonip-configuration?, anonip-configuration-anonip, anonip-configuration-input, anonip-configuration-output, anonip-configuration-skip-private?, anonip-configuration-column, anonip-configuration-replacement, anonip-configuration-ipv4mask, anonip-configuration-ipv6mask, anonip-configuration-increment, anonip-configuration-delimiter, anonip-configuration-regex): New procedures. (anonip-service-type): New service type. * doc/guix.texi (Log Rotation): Add subheading for Anonip Service. Ricardo Wurmus2022-07-031-1/+109
* services: nginx: Add support for extra content in upstream blocks.•••I'm looking at this as I'd like to use the keepalive functionality. * gnu/services/web.scm (nginx-upstream-configuration-extra-content): New procedure. (emit-nginx-upstream-config): Include the extra-content if applicable. * doc/guix.texi (NGINX): Document this. Christopher Baines2022-07-011-1/+13
* services: Add missing 'description' fields.•••* 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. Ludovic Courtès2022-04-291-5/+10
* services: web: Rotate mumi logs.•••* gnu/services/web.scm (%mumi-log, %mumi-mailer-log, %mumi-worker-log): New variables. (mumi-shepherd-services): Use them. (%mumi-log-rotations): New variable. (mumi-service-type): Extend rottlog. Maxim Cournoyer2022-02-171-4/+18
* services: patchwork: Set DEFAULT_AUTO_FIELD in settings.•••This resolves some warnings with Django 3.2. This was added by upstream to the base settings https://github.com/getpatchwork/patchwork/commit/43e5c4a0ace4e662c3e3973337445314abbe5247 * gnu/services/web.scm (patchwork-settings-module-compiler): Specify DEFAULT_AUTO_FIELD in the settings module. Christopher Baines2022-02-021-0/+2
* services: Accept <inferior-package>s in lieu of <package>s.•••* 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. Tobias Geerinckx-Rice2021-11-301-7/+7
* gnu: hpcguix-web: Update to 0.2.0.•••* gnu/packages/web.scm (hpcguix-web): Update to 0.2.0. [arguments]: In 'wrap-program' phase, add guile-zlib to DEPS. [native-inputs]: Add GUILE. [inputs]: Add GUILE-ZLIB, GUILE-COMMONMARK, and GUILE-JSON. [propagated-inputs]: Remove. These were pointless. * gnu/services/web.scm (<hpcguix-web-configuration>)[address, port]: New fields. * doc/guix.texi (Web Services): Document them. * gnu/tests/web.scm (%hpcguix-web-os): Add 'address'. Ludovic Courtès2021-11-151-1/+9
* gnu: Consolidate duplicate copyright names.•••* gnu/packages/android.scm: Consolidate copyright lines with the same email address. * gnu/packages/code.scm: Likewise. * gnu/packages/cpp.scm: Likewise. * gnu/packages/databases.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/file.scm: Likewise. * gnu/packages/freedesktop.scm: Likewise. * gnu/packages/gl.scm: Likewise. * gnu/packages/gps.scm: Likewise. * gnu/packages/linux.scm: Likewise. * gnu/packages/networking.scm: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/python.scm: Likewise. * gnu/packages/video.scm: Likewise. * gnu/packages/xdisorg.scm: Likewise. * gnu/services/web.scm: Likewise. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Greg Hogan2021-09-251-2/+1
* gnu: hpcguix-web: Update to 0.1.0.•••* gnu/packages/web.scm (hpcguix-web): Update to 0.1.0. [arguments]: In 'wrap-program' phase, change "/bin/run" to "/bin/hpcguix-web". [inputs]: Add BASH-MINIMAL. * gnu/services/web.scm (hpcguix-web-shepherd-service): Run "/bin/hpcguix-web". Ludovic Courtès2021-07-231-2/+2
* gnu: services: web: Have fcgiwrap log to a file.•••This makes it easier to access the output. * gnu/services/web.scm (fcgiwrap-shepherd-service): Pass #:log-file to make-forkexec-constructor. Christopher Baines2021-04-011-1/+2
* gnu: services: web: Cleanup whitespace.•••Replace tabs with spaces, and delete trailing whitespace. * gnu/services/web.scm: Cleanup whitespace. Christopher Baines2021-04-011-17/+17
* services: Add Agate Gemini service.•••* gnu/services/web.scm (<agate-configuration>): New record type. (agate-accounts, agate-shepherd-service): New procedures. (agate-service-type): New variable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Alexandru-Sergiu Marton2021-02-151-2/+110
* gnu: php-fpm: Ensure no duplicate group.•••* gnu/services/web.scm (php-fpm-accounts): Ensure `php-fpm` group is not duplicated. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at> Julien Lepiller2021-01-171-13/+14
* services: gmnisrv: Export procedures and service type.•••* gnu/services/web.scm: Export gmnisrv-configuration, gmnisrv-configuration?, gmnisrv-configuration-package, gmnisrv-configuration-config-file, gmnisrv-service-type. Signed-off-by: Christopher Baines <mail@cbaines.net> Alexandru-Sergiu Marton2020-11-141-1/+8
* services: nginx: Re-introduce server-names-hash-bucket-size.•••This was unintentionally removed in 00014f769233facebd84f13a00b10032a22cb440. * gnu/services/web.scm (default-nginx-config): Re-introduce processing of server-names-hash-bucket-size option. Julien Lepiller2020-11-091-0/+6
* services: Add gmnisrv web service.•••* gnu/services/web.scm (<gmnisrv-configuration>): New record type. (%default-gmnisrv-config-file): New variable. (%gmnisrv-accounts, %gmnisrv-activation): New variables. (gmnisrv-shepherd-service): New procedure. (gmnisrv-service-type): New variable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Alexandru-Sergiu Marton2020-10-271-0/+73
* services: hpcguix-web: Set 'XDG_CACHE_HOME' to a writable directory.•••* gnu/services/web.scm (hpcguix-web-shepherd-service): Change XDG_CACHE_HOME to /var/cache/guix/web. Previously, the authentication code would try to write to /var/cache/guix/authentication, which would fail. Ludovic Courtès2020-10-271-1/+1
* services: nginx: Add lua module.•••* gnu/services/web.scm (<nginx-configuration>) [lua-package-path, lua-package-cpath]: New record types. * gnu/services/web.scm (default-nginx-config): Use them. * doc/guix.texi (Web Services): Document this. * doc/guix-cookbook.texi (System Configuration): Document this. Oleg Pykhalov2020-10-141-5/+20
* services: nginx: Fix typo in exported symbol.•••* gnu/services/web.scm: Fix typo in exported symbol. Signed-off-by: Julien Lepiller <julien@lepiller.eu> Lulu2020-10-141-1/+1
* services: php-fpm: Add 'php-ini-file' configuration.•••* gnu/services/web.scm: (<php-fpm-configuration>)[php-ini-file]: New record field. (php-fpm-shepherd-service): Use it. * doc/guix.texi (Web Services): Document it. Jelle Licht2020-09-101-2/+8
* services: fcgiwrap: Create parent directory for unix socket.•••* gnu/services/web.scm (fcgiwrap-activation): New function. (fcgiwrap-service-type): Extend activation-service-type with fcgiwrap-activation. Arun Isaac2020-08-261-1/+18
* services: web: Do not export record type descriptors.•••* gnu/services/web.scm (<httpd-configuration>, <httpd-virtualhost>) (<httpd-config-file>, <httpd-module>, <nginx-configuration>) (<nginx-server-configuration>, <nginx-upstream-configuration>) (<nginx-location-configuration>, <nginx-named-location-configuration>) (<php-fpm-configuration>, <php-fpm-dynamic-process-manager-configuration>) (<php-fpm-static-process-manager-configuration>) (<php-fpm-on-demand-process-manager-configuration>) (<tailon-configuration-file>, <tailon-configuration>) (<varnish-configuration>, <patchwork-database-configuration>) (<patchwork-settings-module>, <patchwork-configuration>) (<mumi-configuration>): Do not export. Ludovic Courtès2020-07-121-21/+1