;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . ;; Build Guix using Guix. (use-modules (srfi srfi-26)) ;; Add ~/.config/guix/current to the search path. (eval-when (expand load eval) (and=> (or (getenv "XDG_CONFIG_HOME") (and=> (getenv "HOME") (cut string-append <> "/.config/guix/current"))) (lambda (current) (set! %load-path (cons (string-append current "/share/guile/site/" (effective-version)) %load-path)) (set! %load-compiled-path (cons (string-append current "/lib/guile/" (effective-version) "/site-ccache") %load-compiled-path))))) (use-modules (guix) (guix ui) (guix git-download) (ice-9 match)) (match (command-line) ((program source) (with-error-handling (with-store store (let* ((script (string-append source "/build-aux/build-self.scm")) (build (primitive-load script)) (git? (git-predicate source))) (run-with-store store ;; TODO: Extract #:version and #:commit using Guile-Git. (mlet* %store-monad ((source (interned-file source "guix-source" #:select? git? #:recursive? #t)) (drv (build source #:pull-version 1))) (mbegin %store-monad (show-what-to-build* (list drv)) (built-derivations (list drv)) (with-monad %store-monad (display (derivation->output-path drv)) (newline) (return drv)))))))))) nu/services/web.scm?id=bdd141b713b9bcecad09a1ec93a5bb651d340eba&showmsg=1'>Expand)Author 2024-11-20services: 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 Volf 2024-11-20services: 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 Volf 2024-11-01services: 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 Cournoyer 2024-11-01services: 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 Cournoyer 2024-08-31services: 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 Goritskov 2024-07-26services: 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 Goritskov