aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Collapse)AuthorAge
* Revert "services: Add Gitolite."Mark H Weaver2018-09-29
| | | | This reverts commit 258a6d944ed891fa92fa87a16731e5dfe0bac477.
* services: Add Gitolite.gitolite-serviceChristopher Baines2018-09-28
| | | | | | | | | | | * 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.
* services: virtual-terminal: Write to "default_utf8" only if necessary.Ludovic Courtès2018-09-26
| | | | | | | | 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.
* services: udev: Don't attempt to read "modules.devname" from a container.Ludovic Courtès2018-09-26
| | | | | | | | 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.
* services: shepherd: Add workaround for 0.5.0 in containers.Ludovic Courtès2018-09-26
| | | | | * gnu/services/shepherd.scm (%containerized-shepherd-service): New service. * gnu/system.scm (essential-services): Use it when CONTAINER? is true.
* services: dhcp-client: Use 'read-pid-file'.Ludovic Courtès2018-09-26
| | | | | * gnu/services/networking.scm (dhcp-client-service-type)[start]: Use 'read-pid-file' instead of the custom and possibly infinite loop.
* guix system: Load all services on reconfigure, not just stopped ones.Carlo Zancanaro2018-09-26
| | | | | | | | | | | | | | | | | 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>
* services: Add Varnish service.Marius Bakke2018-09-26
| | | | | | | | | * 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.
* gnu: services: Add iptables service.Arun Isaac2018-09-20
| | | | | | | | * 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.
* services: networking: Remove unbound variable reference in 'stop'.Ludovic Courtès2018-09-19
| | | | | | * gnu/services/base.scm (static-networking-shepherd-service): Remove spurious ":" in 'stop' method inadvertently introduced in commit c9436025a90b86047ba2203d58bbf238f8f9b2f9.
* services: udev: Simplify 'start' method.Ludovic Courtès2018-09-19
| | | | | | * 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'.
* services: hpcguix-web: Produce a log file and rotate it.Ludovic Courtès2018-09-10
| | | | | | | * 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.
* services: tailon: Move to (gnu services web).Ludovic Courtès2018-09-10
| | | | | | | | | | | | | | | 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.
* services: nginx: 'stop' returns #f.Ludovic Courtès2018-09-08
| | | | | | | | 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.
* services: nginx: Don't read PID file when passed a custom config file.Ludovic Courtès2018-09-08
| | | | | | | | 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.
* services: hpcguix-web: Set SSL_CERT_DIR.Ludovic Courtès2018-09-06
| | | | | | | | | | | 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.
* services: nginx: Get the Shepherd to respawn NGINX.Clément Lassieur2018-08-31
| | | | | | | * 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.
* services: Add ddclient service.Oleg Pykhalov2018-08-30
| | | | | | | | | | * 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.
* services: openssh: Add 'log-level' field.Ludovic Courtès2018-08-28
| | | | | | * gnu/services/ssh.scm (<openssh-configuration>)[log-level]: New field. (openssh-config-file): Honor it. * doc/guix.texi (Networking Services): Document it.
* services: tor: Make it easier to use UNIX sockets.Chris Marusich2018-08-28
| | | | | | | | | | | | * 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.
* services: tor: Rename activation procedure.Chris Marusich2018-08-28
| | | | | * gnu/services/networking.scm: Rename the procedure tor-hidden-service-activation to tor-activation.
* services: tor: Add a system test.Chris Marusich2018-08-28
| | | | | | | | | | | | | * 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.
* gnu: services: Fix pcscd activation bug.Chris Marusich2018-08-20
| | | | | | | 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.
* services: cuirass: Put data in /var/lib to avoid removal at boot.Clément Lassieur2018-08-16
| | | | | | | | | 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>.
* gnu: services: Add pcscd service.Arun Isaac2018-08-16
| | | | | | | * 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.
* services: nginx: Use 'invoke' rather than 'system*'.Clément Lassieur2018-08-13
| | | | * gnu/services/web.scm (nginx-shepherd-service): Replace SYSTEM* with INVOKE.
* services: postgresql: Get the Shepherd to respawn PostgreSQL.Clément Lassieur2018-08-13
| | | | | * gnu/services/databases.scm (postgresql-shepherd-service): Change 'start' to return the PID.
* services: prosody: Get the Shepherd to respawn Prosody.Clément Lassieur2018-08-13
| | | | | * gnu/services/messaging.scm (prosody-shepherd-service): Return the PID when the action is "start".
* services: prosody: Use 'invoke' rather than 'system*'.Clément Lassieur2018-08-13
| | | | | * gnu/services/messaging.scm (prosody-shepherd-service): Replace SYSTEM* with INVOKE.
* services: cgit: Disable repo booleans having a global counterpart.Clément Lassieur2018-08-13
| | | | | | | | | | | 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.
* services: file-system-shepherd-service: Require "udev" service.Danny Milosavljevic2018-08-02
| | | | | | | 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.
* services: openssh: Add forwarding options.Eric Brown2018-07-29
| | | | | | | | | * 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>
* gnu: services: Fix openssh service start error.Julien Lepiller2018-07-18
| | | | * gnu/services/ssh.scm (openssh-shepherd-service): Require loopback.
* services: cuirass: Remove the LOAD-PATH option.Clément Lassieur2018-07-16
| | | | | * gnu/services/cuirass.scm (<cuirass-configuration>, cuirass-shepherd-service): Remove the LOAD-PATH option.
* gnu: services: Export virtlog-configuration.Julien Lepiller2018-07-14
| | | | * gnu/services/virtualization.scm (virtlog-configuration): Export.
* services: mcron: Add 'schedule' action.Ludovic Courtès2018-07-13
| | | | | | | | | | 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'.
* services: shepherd: Support custom actions.Ludovic Courtès2018-07-13
| | | | | | | * 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.
* services: Add prometheus-node-exporter-service-type.Gábor Boskovits2018-07-09
| | | | | | | | | | * 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.
* services: mingetty: Use '--nohangup'.Ludovic Courtès2018-07-05
| | | | | | | | 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.
* services: alsa-service-type: Fix the loading of 'pulse' plugin.Oleg Pykhalov2018-06-25
| | | | | | | | | | | 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>
* services: Fix "authentication" service name.Danny Milosavljevic2018-06-23
| | | | | | Follow-up to 7f93bbd5aadf0427190769fba8f478c29e37b4f4. * gnu/services/authentication.scm: Fix module name.
* services: Add fingerprint identification service.Danny Milosavljevic2018-06-23
| | | | | | * gnu/services/authentication.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Miscellaneous Services): Document it.
* services: cuirass: Add description.Ricardo Wurmus2018-06-22
| | | | * gnu/services/cuirass.scm (cuirass-service-type): Add description.
* services: cups: Add description.Ricardo Wurmus2018-06-22
| | | | * gnu/services/cups.scm (cups-service-type): Add description.
* services: boot: Take gexps instead of monadic gexps.Ludovic Courtès2018-06-20
| | | | | | | | | | | | | | | * 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'.
* services: Fix GPLv3 header in cuirass and pm modules.Nils Gillmann2018-06-20
| | | | | | | * gnu/services/cuirass.scm, gnu/services/pm.scm: Adjust to canonical GPLv3 header used throughout Guix. Signed-off-by: Leo Famulari <leo@famulari.name>
* store-copy: 'read-reference-graph' returns a list of records.Ludovic Courtès2018-06-14
| | | | | | | | | | | | | | 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.
* services: tor: Mark end of auto-generated configuration block.Tobias Geerinckx-Rice2018-06-14
| | | | | * gnu/services/networking.scm (tor-configuration->torrc): Clearly demarcate auto-generated lines.
* services: nginx: Support extra content in the http block.Christopher Baines2018-06-12
| | | | | | | | | | | 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.
* services: dnsmasq-service-type: Add default configuration and description.宋文武2018-06-08
| | | | | * gnu/services/dns.scm (dnsmasq-service-type) [default-value, description]: New fields.