services: herd: Fix matching ok responses from shepherd service. 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.
services: ntp: Use the NTP pool via the 'guix' zone. * gnu/services/networking.scm (%ntp-servers): Use *.guix.pool.ntp.org.
services: openssh: Extensions provide extra authorized keys. * 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.
services: openssh: Add 'authorized-keys' field. * 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.
services: cuirass: Set 'GIT_SSL_CAINFO' and 'GIT_EXEC_PATH'. Reported by Ricardo Wurmus. * gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:environment-variables.
services: Add memcached. * 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.
gnu: services: admin: Add tailon. * 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.
services: guix-publish: Run in a UTF-8 locale. Works around <https://bugs.gnu.org/26948>. * gnu/services/base.scm (guix-publish-shepherd-service): Pass #:environment-variables to 'make-forkexec-constructor'.
gnu: Add fcgiwrap service. * 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>
services: cuirass: Add fallback parameter. * gnu/services/cuirass.scm (<cuirass-configuration>)[fallback?]: New field. (cuirass-shepherd-service): Take it into account. * doc/guix.texi (Continuous Integration): Document it.
services: sysctl: Fix typo. * gnu/services/sysctl.scm: Fix typo of 'make-sysctl-configuration'.
services: elogind: Start from the Shepherd. 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.
services: dbus, polkit: Add default value. * gnu/services/dbus.scm (dbus-root-service-type)[default-value]: New field. (polkit-service-type)[default-value]: New field.
services: 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.
gnu: services: use seconds instead of duration strings. * 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.
services: network-manager: Specify a default value. * gnu/services/networking.scm (network-manager-service-type)[default-value]: New field.
services: cuirass: Extend rottlog with log rotations. * gnu/services/cuirass.scm (cuirass-log-rotations): New procedure. (cuirass-service-type): Use it to extend ROTTLOG-SERVICE-TYPE.
services: rottlog: Make extensible. * gnu/services/admin.scm (rottlog-service-type)[compose, extend]: New fields. * doc/guix.texi (Log Rotation): Mention extension.
services: rottlog: Define <log-rotation> objects. * 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.
services: guix: Add 'max-silent-time' and 'timeout'. * gnu/services/base.scm (<guix-configuration>)[max-silent-time] [timeout]: New fields. (guix-shepherd-service): Honor them. * doc/guix.texi (Base Services): Document them.