summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Collapse)Author
2017-08-17web: Check for the existance of SSL related files.Christopher Baines
This adds back the previous behaviour of the nginx-service-type, where the service would check at the time when the configuration is generated if the SSL certificate and certificate key file exists. * gnu/services/web.scm (emit-nginx-server-config): Add back check for SSL related files.
2017-08-17gnu: services: Nginx configs can reference storeAndy Wingo
* gnu/services/web.scm (config-domain-strings, config-index-strings): Emit lists instead of strings. (emit-nginx-location-config, emit-nginx-server-config) (emit-nginx-upstream-config): Rename from nginx-location-config, default-nginx-server-config, and nginx-upstream-config. Emit lists instead of strings. (flatten): New helper. (default-nginx-config): Use flatten helper to write nginx conf. This allows location configs to reference store values. Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-15gnu: Fix memcached service startup.Christopher Baines
Memcached changes to the memcached user from root before writing the PID file. This means that it must be able to write the PID file as the memcached user. To make this work, create the /var/run/memcached directory when the service starts, make it owned by memcached, and change memcached to write the PID file to /var/run/memcached/pid. This wasn't picked up by the system test as the "service running" part was too permissive, and only failed on an error. Instead, test the response from calling start-service and check that the PID is a number. * gnu/services/databases.scm (memcached-activation): New variable. (memcached-shepherd-service): Change PID file location. (memcached-service-type): Extend the activation-service-type. * gnu/tests/databases.scm (run-memcached-test)[test]: Change the "service running" test to check the response from the shepherd.
2017-08-13gnu: Add mpd service.Peter Mikkelsen
* doc/guix.texi: Add documentation. * gnu/services/audio.scm (<mpd-configuration>): New record type. (mpd-service-type): New service type. * gnu/tests/audio.scm: New file. * gnu/local.mk: Add new files. Signed-off-by: Christopher Baines <mail@cbaines.net>
2017-08-09services: admin: Simplify the handling of the Tailon debug? option.Christopher Baines
* gnu/services/admin.scm (tailon-configuration-file-compiler): Simplify the handling of debug?.
2017-08-09services: Update the Tailon service for Tailon 1.3.0.Christopher Baines
Tailon 1.3.0 (upgraded from 1.1.1) adds support for HTTP authentication. * gnu/services/admin.scm (<tailon-configuration-file>): Add http-auth and users configuration values. (tailon-configuration-file-http-auth, tailon-configuration-file-users): New procedures. (tailon-configuration-file-compiler): Add support for the http-auth and users configuration options. * doc/guix.texi (Monitoring Services): Document authentication for Tailon.
2017-08-09services: Add missing wrap-lines option to tailon.Christopher Baines
* gnu/services/admin.scm (<tailon-configuration-file>): Add wrap-lines. (tailon-configuration-wrap-lines): New procedure. (tailon-configuration-file-compiler): Add support for wrap-lines. * doc/guix.texi (Monitoring Services): Document the wrap-lines Tailon configuration option.
2017-08-08services: herd: Add a stop-service procedure.Christopher Baines
* gnu/services/herd.scm (stop-service): New procedure.
2017-08-08services: herd: Fix matching ok responses from shepherd service.Christopher Baines
Previously the match expression case for a successful response (where error is #f) required that the result component contained a list with a single element. As far as I see when looking at the responses from the shepherd, this is not normally the case. Therefore, to avoid treating successful responses as errors, make the match requirement more permissive, accepting any value. * gnu/services/herd.scm (invoke-action): Change match condition for ok responses.
2017-07-30services: ntp: Use the NTP pool via the 'guix' zone.Leo Famulari
* gnu/services/networking.scm (%ntp-servers): Use *.guix.pool.ntp.org.
2017-07-30services: openssh: Extensions provide extra authorized keys.Ludovic Courtès
* gnu/services/ssh.scm (extend-openssh-authorized-keys): New procedure. (openssh-service-type)[compose, extend]: New fields. * doc/guix.texi (Networking Services): Document the extension.
2017-07-30services: openssh: Add 'authorized-keys' field.Ludovic Courtès
* gnu/services/ssh.scm (<openssh-configuration>)[authorized-keys]: New field. (authorized-key-directory): New procedure. (openssh-config-file): Honor 'authorized-keys'. (openssh-activation): Use 'with-imported-modules'. Make /etc/ssh 755. Create /etc/ssh/authorized_keys.d. * doc/guix.texi (Networking Services): Document it.
2017-07-30services: cuirass: Set 'GIT_SSL_CAINFO' and 'GIT_EXEC_PATH'.Ludovic Courtès
Reported by Ricardo Wurmus. * gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:environment-variables.
2017-07-30services: Add memcached.Christopher Baines
* gnu/services/databases.scm (memcached-service-type, %memcached-accounts): New variables. (<memcached-configuration>): New record type. (memcached-service-type): New procedures. * gnu/tests/databases.scm: New file. * doc/guix.texi (Database Services): Document the new memcached service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add entry for tests/databases.scm.
2017-07-29gnu: services: admin: Add tailon.Christopher Baines
* gnu/services/admin.scm (<tailon-configuration>, <tailon-configuration-file>): New record types. (tailon-configuration-files-string, tailon-shepherd-service): New procedures. (%tailon-accounts, tailon-service-type: New variables. * doc/guix.texi (Monitoring Services: Document the Tailon service. * gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/tests/admin.scm. * gnu/tests/admin.scm: New file.
2017-07-27services: guix-publish: Run in a UTF-8 locale.Ludovic Courtès
Works around <https://bugs.gnu.org/26948>. * gnu/services/base.scm (guix-publish-shepherd-service): Pass #:environment-variables to 'make-forkexec-constructor'.
2017-07-26gnu: Add fcgiwrap service.Andy Wingo
* doc/guix.texi (Web Services): Add documentation. * gnu/services/web.scm (<fcgiwrap-configuration>): New record type. (fcgiwrap-accounts, fcgiwrap-shepherd-service): New service extensions. (fcgiwrap-service-type): New service type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-07-21services: cuirass: Add fallback parameter.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>)[fallback?]: New field. (cuirass-shepherd-service): Take it into account. * doc/guix.texi (Continuous Integration): Document it.
2017-07-18services: sysctl: Fix typo.宋文武
* gnu/services/sysctl.scm: Fix typo of 'make-sysctl-configuration'.
2017-07-11services: elogind: Start from the Shepherd.Ludovic Courtès
Fixes <http://bugs.gnu.org/27580>. Reported by William <w@vieta.uk>. * gnu/services/desktop.scm (elogind-shepherd-service): New procedure. (elogind-service-type): Extend SHEPHERD-ROOT-SERVICE-TYPE.
2017-07-11services: dbus, polkit: Add default value.Ludovic Courtès
* gnu/services/dbus.scm (dbus-root-service-type)[default-value]: New field. (polkit-service-type)[default-value]: New field.
2017-07-04services: Add 'sysctl-service-type'.宋文武
* gnu/services/sysctl.scm: New file. * doc/guix.texi (Miscellaneous Services): Document it. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
2017-06-21gnu: services: use seconds instead of duration strings.Julien Lepiller
* gnu/services/dns.scm (zone-file, knot-policy-configuration): Use numbers instead of duration strings. (verify-knot-policy-configuration): Fix typo. * doc/guix.texi (DNS Services): Update documentation.
2017-06-21services: network-manager: Specify a default value.Ludovic Courtès
* gnu/services/networking.scm (network-manager-service-type)[default-value]: New field.
2017-06-12services: cuirass: Extend rottlog with log rotations.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-log-rotations): New procedure. (cuirass-service-type): Use it to extend ROTTLOG-SERVICE-TYPE.
2017-06-12services: rottlog: Make extensible.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type)[compose, extend]: New fields. * doc/guix.texi (Log Rotation): Mention extension.
2017-06-12services: rottlog: Define <log-rotation> objects.Ludovic Courtès
* gnu/services/admin.scm (<log-rotation>): New record type. (syslog-rotation-config, simple-rotation-config): Remove. (%default-rotations): Define as a list of <log-rotation> objects. (log-rotation->config, log-rotations->/etc-entries): New procedures. (<rottlog-configuration>)[periodic-rotations]: Remove. [rotations]: New field. (rottlog-etc): Use 'log-rotations->/etc-entries'. * doc/guix.texi (Log Rotation): Update accordingly.
2017-06-05services: guix: Add 'max-silent-time' and 'timeout'.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[max-silent-time] [timeout]: New fields. (guix-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them.
2017-05-27gnu: Add knot-service-type.Julien Lepiller
* gnu/services/dns.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (DNS Services): New subsubsection.
2017-05-18services: openssh: Don't depend on networking.Marius Bakke
* gnu/services/ssh.scm (openssh-shepherd-service): Drop requirement.
2017-05-15services: guix: Authorize the key for bayfront.guixsd.org.Ludovic Courtès
* gnu/services/base.scm (%default-authorized-guix-keys): Add "bayfront.guixsd.org".
2017-05-14services: Add 'thermald-service-type'.Christopher Allan Webber
* gnu/services/pm.scm (<thermald-configuration>): New record type. (thermald-shepherd-service, thermald-service-type): New variables. * doc/guix.texi (Thermal Management): New section documenting thermald.
2017-05-08services: nscd: Adjust activation snippet for /etc/resolv.conf symlinks.Ludovic Courtès
Fixes <http://bugs.gnu.org/26809>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/services/base.scm (nscd-activation): Use 'lstat' instead of 'file-exists?'.
2017-05-03ui: Rename '_' to 'G_'.Ludovic Courtès
This avoids collisions with '_' when the latter is used as a 'match' pattern for instance. See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>. * guix/ui.scm: Rename '_' to 'G_'. * po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly. * build-aux/compile-all.scm (warnings): Remove 'format'. * gnu/packages.scm, gnu/services.scm, gnu/services/shepherd.scm, gnu/system.scm, gnu/system/shadow.scm, guix/gnupg.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/elpa.scm, guix/import/pypi.scm, guix/nar.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/container.scm, guix/scripts/container/exec.scm, guix/scripts/copy.scm, guix/scripts/download.scm, guix/scripts/edit.scm, guix/scripts/environment.scm, guix/scripts/gc.scm, guix/scripts/graph.scm, guix/scripts/hash.scm, guix/scripts/import.scm, guix/scripts/import/cpan.scm, guix/scripts/import/cran.scm, guix/scripts/import/crate.scm, guix/scripts/import/elpa.scm, guix/scripts/import/gem.scm, guix/scripts/import/gnu.scm, guix/scripts/import/hackage.scm, guix/scripts/import/nix.scm, guix/scripts/import/pypi.scm, guix/scripts/import/stackage.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/perform-download.scm, guix/scripts/publish.scm, guix/scripts/pull.scm, guix/scripts/refresh.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/scripts/system.scm, guix/ssh.scm, guix/upstream.scm: Use 'G_' instead of '_'. Most of this change was obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`".
2017-05-03services: herd: Make %shepherd-socket-file a parameter and export it.Mathieu Othacehe
* gnu/services/herd.scm (%shepherd-socket-file): Make it an exported parameter. (open-connection): Adapt.
2017-05-02services: nscd: Create /etc/resolv.conf if it does not exist.Ludovic Courtès
* gnu/services/base.scm (nscd-activation): Create /etc/resolv.conf if it does not exist yet.
2017-05-01gnu: services: nginx: Fix key verification.Julien Lepiller
* gnu/services/web.scm (default-nginx-server-config): Fix wrong variable name.
2017-05-01gnu: services: Create logs directory.Julien Lepiller
* gnu/services/web.scm (nginx-activation): Create logs directory so nginx can log its startup messages before it loads its configuration.
2017-05-01gnu: services: nginx: Test certificate presence.Julien Lepiller
* gnu/services/web.scm (default-nginx-server-config): Test certificate presence when https is requested at configure time.
2017-04-19services: Make exim-service-type use mail-aliases-service-typeCarlo Zancanaro
* gnu/services/mail.scm (exim-configuration)[aliases]: Remove field. (exim-activation, exim-shepherd-service): Remove alias from matches. (exim-etc): Remove procedure. (exim-service-type): Extend mail-aliases-service-type instead of etc-service-type. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-19services: Add mail-aliases-service-type.Carlo Zancanaro
* gnu/services/mail.scm (mail-aliases-etc): New procedure. (mail-aliases-service-type): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-04-19services: guix-publish: Add 'cache', 'workers', and 'ttl' config knobs.Ludovic Courtès
* gnu/services/base.scm (<guix-publish-configuration>)[cache, workers, ttl]: New fields. (guix-publish-shepherd-service): Honor them. (guix-publish-activation): New procedure. (guix-publish-service-type): Extend ACTIVATION-SERVICE-TYPE. * doc/guix.texi (Base Services): Document it.
2017-04-19services: guix-publish: Fix getter names.Ludovic Courtès
Fixes a typo introduced in 697ddb8850d7aeb612ec9402e86f82c44edf8c96. * gnu/services/base.scm (<guix-publish-configuration>): Add missing 'configuration' word in getters for 'compression-level' and 'nar-path'.
2017-04-18services: nginx: Use mime.types.Julien Lepiller
* gnu/service/web.scm (default-nginx-config): Add 'nginx' parameter and honor it. Adjust callers.
2017-04-16services: Add a default value to various service types.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type)[default-value]: New field. * gnu/services/base.scm (guix-service-type)[default-value]: New field. (guix-publish-service-type)[default-value]: New field. * gnu/services/cups.scm (cups-service-type)[default-value]: New field. * gnu/services/dict.scm (dicod-service-type)[default-value]: New field. * gnu/services/mcron.scm (mcron-service-type)[default-value]: New field. * gnu/services/networking.scm (<tor-configuration>)[config-file]: Add default value. (tor-service-type)[default-value]: New field. (<bitlbee-configuration>)[interface, port, extra-settings]: Add default values. (bitlbee-service-type)[default-value]: New field. (wpa-supplicant-service-type)[default-value]: New field. (tlp-service-type)[default-value]: New field. (openssh-service-type)[default-value]: New field. * doc/guix.texi (Base Services, Log Rotation) (Networking Services, Printing Services): (Power management Services): Adjust examples accordingly.
2017-04-13services: tor: Run in a container.Ludovic Courtès
* gnu/services/networking.scm (tor-shepherd-service): Use (gnu build shepherd) and use 'make-forkexec-constructor/container' instead of 'make-forkexec-constructor'.
2017-04-05services: cuirass: Wait for networking.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add 'networking' to 'requirements'.
2017-04-01services: dovecot: Fix passwd and userdb 'args' types.Clément Lassieur
* gnu/services/mail.scm (passwd-configuration)[args] (userdb-configuration)[args]: Change type from 'free-form-args' to 'space-separated-string-list'. * doc/guix.texi (Mail Services): Document it.
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-04-01services: dicod: Allow the configuration of "handlers".Huang Ying
* gnu/services/dict.scm (<dicod-configuration>)[handlers]: New field. (<dicod-handler>): New record type. (<dicod-database>): Add fields. (dicod-configuration-file): Support convert handlers and enhanced databases. configuration to config file. * doc/guix.texi (Miscellaneous Services): Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>