aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Expand)AuthorAge
* services: Add Gitolite.•••* gnu/services/version-control.scm (<gitolite-configuration>, <gitolite-rc-file>): New record types. (gitolite-accounts, gitolite-activation): New procedures. (gitolite-service-type): New variables. * gnu/tests/version-control.scm (%gitolite-test-admin-keypair, %gitolite-os, %test-gitolite): New variables. (run-gitolite-test): New procedure. * doc/guix.texi (Version Control): Document the gitolite service. Christopher Baines2018-10-02
* Revert "services: Add Gitolite."•••This reverts commit 258a6d944ed891fa92fa87a16731e5dfe0bac477. Mark H Weaver2018-09-29
* services: Add Gitolite.•••* gnu/services/version-control.scm (<gitolite-configuration>, <gitolite-rc-file>): New record types. (gitolite-accounts, gitolite-activation): New procedures. (gitolite-service-type): New variables. * gnu/tests/version-control.scm (%gitolite-test-admin-keypair, %gitolite-os, %test-gitolite): New variables. (run-gitolite-test): New procedure. * doc/guix.texi (Version Control): Document the gitolite service. Christopher Baines2018-09-28
* services: virtual-terminal: Write to "default_utf8" only if necessary.•••Fixes a bug in containers whereby 'virtual-terminal' would always fail to start because writing to /sys/…/default_utf8 would fail with EROFS. * gnu/services/base.scm (virtual-terminal-service-type): Read from "default_utf8" before attempting to write to it. Ludovic Courtès2018-09-26
* services: udev: Don't attempt to read "modules.devname" from a container.•••Fixes <https://bugs.gnu.org/32814>. Reported by Julien Lepiller <julien@lepiller.eu>. * gnu/services/base.scm (udev-shepherd-service)[start]: Check whether DIRECTORY exists and skip 'make-static-device-nodes' call if it doesn't. Ludovic Courtès2018-09-26
* services: shepherd: Add workaround for 0.5.0 in containers.•••* gnu/services/shepherd.scm (%containerized-shepherd-service): New service. * gnu/system.scm (essential-services): Use it when CONTAINER? is true. Ludovic Courtès2018-09-26
* services: dhcp-client: Use 'read-pid-file'.•••* gnu/services/networking.scm (dhcp-client-service-type)[start]: Use 'read-pid-file' instead of the custom and possibly infinite loop. Ludovic Courtès2018-09-26
* guix system: Load all services on reconfigure, not just stopped ones.•••This uses the 'replacement' service slot introduced in the Shepherd version 0.5.0. * gnu/services/shepherd.scm (shepherd-service-upgrade): Return a list of services that need to be restarted to complete their upgrade. * guix/scripts/system.scm (call-with-service-upgrade-info): Rename an internal variable to reflect the change to shepherd-service-upgrade. (upgrade-shepherd-services): Call 'load-services/safe' instead of 'load-services'. Print a message about services that need to be manually restarted. * gnu/services/herd.scm (load-services/safe): New procedure. * doc/guix.texi (Invoking guix system): Document the new behaviour. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Carlo Zancanaro2018-09-26
* services: Add Varnish service.•••* gnu/services/web.scm (<varnish-configuration>): New record type. (%varnish-accounts, %varnish-service-type): New variables. (varnish-shepherd-service): New procedure. * gnu/tests/web.scm (%varnish-vcl, %varnish-os): New variables. (%test-varnish): New test. * doc/guix.texi (Web Services): Document it. Marius Bakke2018-09-26
* gnu: services: Add iptables service.•••* gnu/services/networking.scm (<iptables-configuration>): New record type. (iptables-service-type): New variable. * gnu/tests/networking.scm (run-iptables-test): New procedure. (%test-iptables): New variable. * doc/guix.texi (Networking Services): Document it. Arun Isaac2018-09-20
* services: networking: Remove unbound variable reference in 'stop'.•••* gnu/services/base.scm (static-networking-shepherd-service): Remove spurious ":" in 'stop' method inadvertently introduced in commit c9436025a90b86047ba2203d58bbf238f8f9b2f9. Ludovic Courtès2018-09-19
* services: udev: Simplify 'start' method.•••* gnu/services/base.scm (udev-shepherd-service)[start](find): Remove. (udev): Hardwire the eudev file name. Use 'fork+exec-command' instead of 'primitive-fork' and 'exec-command'. Ludovic Courtès2018-09-19
* services: hpcguix-web: Produce a log file and rotate it.•••* gnu/services/web.scm (%hpcguix-web-log-file) (%hpcguix-web-log-rotations): New variables. (hpcguix-web-shepherd-service): Pass #:log-file. (hpcguix-web-service-type): Extend ROTTLOG-SERVICE-TYPE. Ludovic Courtès2018-09-10
* services: tailon: Move to (gnu services web).•••This allows (gnu services admin) to remain deeper in the module graph and to be used by (gnu services web). * gnu/services/admin.scm (<tailon-configuration-file>) (tailon-configuration-files-string) (tailon-configuration-file-compiler, <tailon-configuration>) (tailon-shepherd-service, %tailon-accounts) (tailon-service-type): Move to... * gnu/services/web.scm: ... here. * gnu/tests/admin.scm: Remove. Move test to... * gnu/tests/web.scm (%tailon-os) (run-tailon-test, %test-tailon): ... here. Ludovic Courtès2018-09-10
* services: nginx: 'stop' returns #f.•••Previously we'd return #t, which the Shepherd would consider a failure to stop the service. * gnu/services/web.scm (nginx-shepherd-service): In 'nginx-action', return #f when stopping the service. Ludovic Courtès2018-09-08
* services: nginx: Don't read PID file when passed a custom config file.•••Fixes <https://bugs.gnu.org/32665>. * gnu/services/web.scm (nginx-shepherd-service): Check whether FILE is true and don't read the PID file if it is; use 'read-pid-file' instead of a potentially endless loop. Ludovic Courtès2018-09-08
* services: hpcguix-web: Set SSL_CERT_DIR.•••Previously Git pulls over HTTPS would fail with: guix/git.scm:132:7: In procedure update-cached-checkout: Throw to key `git-error' with args `(#<<git-error> code: -17 message: "the SSL certificate is invalid" class: 16>)'. * gnu/services/web.scm (hpcguix-web-shepherd-service): Pass "SSL_CERT_DIR=/etc/ssl/certs". * doc/guix.texi (Web Services): Mention certificates. Ludovic Courtès2018-09-06
* services: nginx: Get the Shepherd to respawn NGINX.•••* gnu/services/web.scm (nginx-shepherd-service): Change 'start' (that is, all actions that don't send a signal to the master process) to return the PID. Wait until the PID file is created and contains an integer because it might be created after the parent process exits. Clément Lassieur2018-08-31
* services: Add ddclient service.•••* gnu/services/dns.scm (ddclient-configuration, ddclient-service-type): New variables. (uglify-field-name, serialize-field, serialize-boolean, serialize-integer, serialize-string, serialize-list, serialize-extra-options, ddclient-activation, ddclient-shepherd-service, generate-ddclient-documentation): New procedures. * doc/guix.texi (DNS Services): Document it. Oleg Pykhalov2018-08-30
* services: openssh: Add 'log-level' field.•••* gnu/services/ssh.scm (<openssh-configuration>)[log-level]: New field. (openssh-config-file): Honor it. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès2018-08-28
* services: tor: Make it easier to use UNIX sockets.•••* doc/guix.texi (Networking Services): Document it, and mention that tor-service is deprecated. * gnu/services/networking.scm (<tor-configuration>) <socks-socket-type>: New field. (tor-configuration->torrc): When socks-socket-type is 'unix, set SocksPort to UNIX domain socket /var/run/tor/socks-sock and set UnixSocksGroupWritable to 1. * gnu/tests/networking.scm (%tor-os/unix-socks-socket): Instead of using a custom config file, just set socks-socket-type to 'unix. Chris Marusich2018-08-28
* services: tor: Rename activation procedure.•••* gnu/services/networking.scm: Rename the procedure tor-hidden-service-activation to tor-activation. Chris Marusich2018-08-28
* services: tor: Add a system test.•••* gnu/services/networking.scm (tor-configuration->torrc): Set PidFile to /var/run/tor/tor.pid in the base torrc configuration. (tor-shepherd-service) <start>: Call make-forkexec-constructor/container with a new #:pid-file argument to tell Shepherd where to find the PID file. Add a a new <file-system-mapping> to its existing #:mappings argument to share /var/run/tor with the the container. (tor-hidden-services-activation): Update docstring. Create /var/run/tor and set its permissions so only the tor user can access it. * gnu/tests/networking.scm (%test-tor, %tor-os): New variables. (run-tor-test): New procedure. Chris Marusich2018-08-28
* gnu: services: Fix pcscd activation bug.•••Fixes: <https://bugs.gnu.org/32478>. * gnu/services/security-token.scm (pcscd-activation): Idempotently create the /var/lib/pcsc symlink so that it does not fail when it already exists. Chris Marusich2018-08-20
* services: cuirass: Put data in /var/lib to avoid removal at boot.•••Fixes <https://bugs.gnu.org/32330>. * gnu/services/cuirass.scm (<cuirass-configuration>)[database]: Change default from /var/run/cuirass/cuirass.db to /var/lib/cuirass/cuirass.db. (cuirass-account): Change home directory from /var/run/<user> to /var/lib/<user>. Clément Lassieur2018-08-16
* gnu: services: Add pcscd service.•••* gnu/services/security-token.scm: New file. * gnu/tests/security-token.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Register new files. * doc/guix.texi (Miscellaneous Services): Document the service. Arun Isaac2018-08-16
* services: nginx: Use 'invoke' rather than 'system*'.•••* gnu/services/web.scm (nginx-shepherd-service): Replace SYSTEM* with INVOKE. Clément Lassieur2018-08-13
* services: postgresql: Get the Shepherd to respawn PostgreSQL.•••* gnu/services/databases.scm (postgresql-shepherd-service): Change 'start' to return the PID. Clément Lassieur2018-08-13
* services: prosody: Get the Shepherd to respawn Prosody.•••* gnu/services/messaging.scm (prosody-shepherd-service): Return the PID when the action is "start". Clément Lassieur2018-08-13
* services: prosody: Use 'invoke' rather than 'system*'.•••* gnu/services/messaging.scm (prosody-shepherd-service): Replace SYSTEM* with INVOKE. Clément Lassieur2018-08-13
* services: cgit: Disable repo booleans having a global counterpart.•••Otherwise the global counterpart is never taken into account. * doc/guix.texi (Version Control Services): Update accordingly. * gnu/services/cgit.scm (repo-boolean?, serialize-repo-boolean): Use the DEFINE-MAYBE macro to allow for the 'disabled value. (repository-cgit-configuration)[enable-commit-graph?, enable-log-filecount?, enable-log-linecount?, enable-remote-branches?, enable-subject-links?, enable-html-serving?]: Change default value to 'disabled. Clément Lassieur2018-08-13
* services: file-system-shepherd-service: Require "udev" service.•••Fixes <https://bugs.gnu.org/32313>. Reported by Brendan Tildesley <brendan.tildesley@openmailbox.org> * gnu/services/base.scm (file-system-shepherd-service): Require "udev" service. Danny Milosavljevic2018-08-02
* services: openssh: Add forwarding options.•••* gnu/services/ssh.scm (<openssh-configuration>)[allow-agent-forwarding?] [allow-tcp-forwarding?, gateway-ports?]: New fields. (openssh-config-file): Handle them. * doc/guix.texi (Networking Services): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Eric Brown2018-07-29
* gnu: services: Fix openssh service start error.•••* gnu/services/ssh.scm (openssh-shepherd-service): Require loopback. Julien Lepiller2018-07-18
* services: cuirass: Remove the LOAD-PATH option.•••* gnu/services/cuirass.scm (<cuirass-configuration>, cuirass-shepherd-service): Remove the LOAD-PATH option. Clément Lassieur2018-07-16
* gnu: services: Export virtlog-configuration.•••* gnu/services/virtualization.scm (virtlog-configuration): Export. Julien Lepiller2018-07-14
* services: mcron: Add 'schedule' action.•••Inspired by <https://lists.gnu.org/archive/html/help-guix/2018-07/msg00035.html>. * gnu/services/mcron.scm (shepherd-schedule-action): New procedure. (mcron-shepherd-services): Add 'actions' field. * gnu/tests/base.scm (run-mcron-test)["schedule action"]: New test. * doc/guix.texi (Scheduled Job Execution): Mention 'herd schedule'. Ludovic Courtès2018-07-13
* services: shepherd: Support custom actions.•••* gnu/services/shepherd.scm (<shepherd-service>)[actions]: New field. (<shepherd-action>): New record type. (shepherd-service-file): Pass #:actions to 'make'. * doc/guix.texi (Shepherd Services): Document custom actions. Ludovic Courtès2018-07-13
* services: Add prometheus-node-exporter-service-type.•••* gnu/services/monitoring.scm (prometheus-node-exporter-service-type): New variable. (<prometheus-node-exporter-configuration>): New record type. (prometheus-node-exporter-shepherd-service): New procedure. * gnu/doc/guix.texi (Monitoring Services): Document it. * gnu/tests/monitoring.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add test module. Gábor Boskovits2018-07-09
* services: mingetty: Use '--nohangup'.•••See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-07/msg00049.html>. * gnu/services/base.scm (mingetty-shepherd-service): Pass "--nohangup" to mingetty. Ludovic Courtès2018-07-05
* services: alsa-service-type: Fix the loading of 'pulse' plugin.•••Fixes <https://bugs.gnu.org/31591>. * gnu/services/sound.scm (<alsa-configuration>)[alsa-plugins]: New field. (alsa-config-file): Use 'pcm_type.pulse' and 'ctl_type.pulse' to specify file paths to the 'pulse' plugin. * doc/guix.texi (Sound Services): Document this. Co-authored-by: 宋文武 <iyzsong@member.fsf.org> Oleg Pykhalov2018-06-25
* services: Fix "authentication" service name.•••Follow-up to 7f93bbd5aadf0427190769fba8f478c29e37b4f4. * gnu/services/authentication.scm: Fix module name. Danny Milosavljevic2018-06-23
* services: Add fingerprint identification service.•••* gnu/services/authentication.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Miscellaneous Services): Document it. Danny Milosavljevic2018-06-23
* services: cuirass: Add description.•••* gnu/services/cuirass.scm (cuirass-service-type): Add description. Ricardo Wurmus2018-06-22
* services: cups: Add description.•••* gnu/services/cups.scm (cups-service-type): Add description. Ricardo Wurmus2018-06-22
* services: boot: Take gexps instead of monadic gexps.•••* gnu/services.scm (compute-boot-script): Rename 'mexps' to 'gexps' and remove 'mlet' form. (boot-service-type): Update comment. (cleanup-gexp): Remove 'with-monad' and 'return'. (activation-script): Rewrite in non-monadic style: use 'scheme-file' instead of 'gexp->file'. (gexps->activation-gexp): Remove 'mlet', return a gexp. * gnu/services/shepherd.scm (shepherd-boot-gexp): Remove 'with-monad' and 'return'. * gnu/system.scm (operating-system-boot-script): Remove outdated comment. * gnu/tests/base.scm (%cleanup-os): For 'dirty-service', remove 'with-monad' and 'return'. Ludovic Courtès2018-06-20
* services: Fix GPLv3 header in cuirass and pm modules.•••* gnu/services/cuirass.scm, gnu/services/pm.scm: Adjust to canonical GPLv3 header used throughout Guix. Signed-off-by: Leo Famulari <leo@famulari.name> Nils Gillmann2018-06-20
* store-copy: 'read-reference-graph' returns a list of records.•••The previous implementation of 'read-reference-graph' was good enough for many use cases, but it discarded the graph structure, which is useful information in some cases. * guix/build/store-copy.scm (<store-info>): New record type. (read-reference-graph): Rewrite to return a list of <store-info>. (closure-size, populate-store): Adjust accordingly. * gnu/services/base.scm (references-file): Adjust accordingly. * gnu/system/vm.scm (system-docker-image): Likewise. * guix/scripts/pack.scm (squashfs-image, docker-image): Likewise. * tests/gexp.scm ("gexp->derivation #:references-graphs"): Likewise. Ludovic Courtès2018-06-14
* services: tor: Mark end of auto-generated configuration block.•••* gnu/services/networking.scm (tor-configuration->torrc): Clearly demarcate auto-generated lines. Tobias Geerinckx-Rice2018-06-14
* services: nginx: Support extra content in the http block.•••This helpful when adding content to the nginx configuration file, which isn't supported by the record type used for the configuration. For example, like adding proxy_cache_path configuration. * gnu/packages/web.scm (<nginx-configuration>): Add new extra-content field. (nginx-configuration-extra-content): New field accessor. (default-nginx-config): Add support for the extra-content field. * doc/guix.texi (NGINX): Document the new extra-content field. Christopher Baines2018-06-12