summaryrefslogtreecommitdiff
path: root/gnu/services/admin.scm
AgeCommit message (Collapse)Author
2025-04-01services: file-database: Search ‘updatedb’ in package.Sergio Pastor Pérez
`file-database-service-type' appends 'bin/updatedb' path to the `package' field provided by `file-database-configuration'. This prevents users from using alternate packages which also provide 'updatedb' but in a different location. For example, the `plocate' package installs 'updatedb' in 'sbin/updatedb'. Fallback to 'sbin/' if 'updatedb' is not found in 'bin/'. * gnu/services/admin.scm (<file-database-configuration>)[package]: Update docstring. (file-database-shepherd-services): Locate 'updatedb' binary. * doc/guix.texi (File Search Services): Update accordingly. Change-Id: Ic741716044be3a8f51a157510f9f923bd66c41d7 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-03-26services: unattended-upgrade: Exit with non-zero upon failure.Ludovic Courtès
Until now, the service would always exit with 0, which makes failures harder to distinguish in the output of ‘herd status’, for instance. * gnu/services/admin.scm (unattended-upgrade-shepherd-services)[code]: Call ‘exit’ after ‘report-invoke-error’. Change-Id: Idfc74a48a6a798e813db96d5770a897595b27240
2025-03-23services: package-database: Turn into a Shepherd timer.Ludovic Courtès
* gnu/services/admin.scm (package-database-mcron-jobs): Rename to… (package-database-shepherd-services): … this. Return a shepherd service. (package-database-service-type): Update accordingly. * doc/guix.texi (File Search Services): Update documentation of the ‘schedule’ field. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: Id7b4c5cff95a7117dca7d95af37db7389bb5ca92
2025-03-23services: file-database: Exclude /dev by default.Ludovic Courtès
* gnu/services/admin.scm (%default-file-database-excluded-directories): Add “/dev’. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I06af6621cd363e140a6fc49e1cee97d15b365b89
2025-03-23services: file-database: Turn into a Shepherd timer.Ludovic Courtès
* gnu/services/admin.scm (file-database-mcron-jobs): Rename to… (file-database-shepherd-services): … this. Return a list of Shepherd services. (file-database-service-type): Adjust accordingly. * doc/guix.texi (File Search Services): Update documentation of ‘schedule’. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I5734c629b113e54057694d2ec480abd26b7815db
2025-03-23services: shepherd: Factorize ‘trigger’ action.Ludovic Courtès
* gnu/services/shepherd.scm (shepherd-trigger-action): New variable. * gnu/services/admin.scm (log-cleanup-shepherd-services) (unattended-upgrade-shepherd-services): Use it. * gnu/services/backup.scm (restic-backup-job->shepherd-service): Use it. * gnu/home/services/shepherd.scm: Re-export ‘shepherd-trigger-action’. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I834b5b9b61c78f012ee9306df6cf4fd8a93dd6d2
2025-02-12services: log-cleanup: Add Shepherd service documentation.Ludovic Courtès
* gnu/services/admin.scm (log-cleanup-shepherd-services): Add ‘documentation’ field. Change-Id: Ie24033db668a366474f8307e5e8908fd27c06dda
2025-01-16services: rottlog: Deprecate.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type): Deprecate. * doc/guix.texi (Log Rotation): Add deprecation warning. Change-Id: I661666ff3de64a69ff4f4982d7f432fd575c36df
2025-01-16services: Switch from mcron + Rottlog to Shepherd’s log rotation.Ludovic Courtès
* gnu/services/admin.scm (unattended-upgrade-log-rotations): Remove. (unattended-upgrade-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/audio.scm (mpd-log-rotation): Remove. (mpd-service-type): Remove ‘rottlog-service-type’ extension. (mympd-log-rotation): Remove. (mympd-service-type): Remove rottlog-service-type’ extension. * gnu/services/base.scm (%guix-publish-log-rotations): Remove. (guix-publish-service-type): Remove ‘rottlog-service-type’ extension. (%base-services): Instantiate ‘log-rotation-service-type’ instead of ‘rottlog-service-type’. (%default-syslog-files): New variable. (syslog-service-type): Extend ‘log-rotation-service-type’. * gnu/services/cuirass.scm (cuirass-log-rotations): Remove. (cuirass-service-type): Remove ‘rottlog-service-type’ extension. (cuirass-remote-worker-log-rotations): Remove. (cuirass-remote-worker-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/file-sharing.scm (%transmission-daemon-log-rotations): Remove. (transmission-daemon-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/linux.scm (%earlyoom-log-rotation): Remove. (earlyoom-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/networking.scm (%ntp-log-rotation): Remove. (ntp-service-type): Remove ‘rottlog-service-type’ extension. (openntpd-service-type): Likewise. (%connman-log-rotation): Remove. (connman-service-type): Remove ‘rottlog-service-type’ extension. (%hostapd-log-rotation): Remove. (hostapd-service-type): Remove ‘rottlog-service-type’ extension. (%pagekite-log-rotation): Remove. (pagekite-service-type): Remove ‘rottlog-service-type’ extension. (%yggdrasil-log-rotation): Remove. (yggdrasil-service-type): Remove ‘rottlog-service-type’ extension. (%ipfs-log-rotation): Remove. (ipfs-service-type): Remove ‘rottlog-service-type’ extension. (%keepalived-log-rotation): Remove. (keepalived-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/web.scm (%hpcguix-web-log-rotations): Remove. (hpcguix-web-service-type): Remove ‘rottlog-service-type’ extension. (%mumi-log-rotations): Remove. (mumi-service-type): Remove ‘rottlog-service-type’ extension. * doc/guix.texi (Log Rotation): Adjust text regarding which one is in ‘%base-services’. Change-Id: I8802d4c2337a1e08e3c084d6217f76527d7ee1fb
2025-01-16services: unattended-upgrade: Rewrite as a Shepherd timer.Ludovic Courtès
This is a semi-incompatible change: gexps previously provided in the ‘schedule’ field will no longer work. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Rename to… (unattended-upgrade-shepherd-services): … this. Return a list of one Shepherd service. Remove custom logging and time limitation facilities from ‘code’. (unattended-upgrade-service-type): Extend ‘shepherd-root-service-type’ instead of ‘mcron-service-type’. (<unattended-upgrade-configuration>)[services-to-restart]: Change default. * doc/guix.texi (Unattended Upgrades): Adjust ‘schedule’ and ‘services-to-restart’ documentation. Change-Id: I1b239c5946e71cf9e2af9b24fe4b01366b57fb7a
2025-01-16services: log-cleanup: Rewrite as a Shepherd timer.Ludovic Courtès
This is a semi-incompatible change: gexps previously provided in the ‘schedule’ field will no longer work. * gnu/services/admin.scm (log-cleanup-mcron-jobs): Remove. (log-cleanup-shepherd-services): New procedure. (log-cleanup-service-type): Extend SHEPHERD-ROOT-SERVICE-TYPE instead of MCRON-SERVICE-TYPE. * doc/guix.texi (Log Rotation): Adjust ‘schedule’ documentation accordingly. Change-Id: I2a3beb7dffbc9992b714a29423674db9c7dc6cab
2025-01-16services: Add ‘log-rotation-service-type’.Ludovic Courtès
* gnu/services/admin.scm (%default-log-rotation-calendar-event): New variable. (<log-rotation-configuration>): New record type. (log-rotation-shepherd-services): New procedure. (log-rotation-service-type): New variable. Change-Id: I4400035f3b6065ec147ac932110b690120d739c2
2024-12-30services: resize-file-system: Remove invalid default value.Ludovic Courtès
The default value of #f for the ‘file-system’ field is invalid and would trigger a type error when running ‘guix system search’. * gnu/services/admin.scm (<resize-file-system-configuration>)[file-system]: Remove default value. (resize-file-system-service-type)[default-value]: Remove. * doc/guix.texi (Miscellaneous Services): Adjust accordingly. Change-Id: If73f8923f49d38827059ba98bd53636a7f3917fe
2024-12-16services: Add resize-file-system-service.Richard Sent
* gnu/services/admin.scm (resize-file-system-configuration): New configuration type. (resize-file-system-shepherd-service): New procedure. (resize-file-system-service-type): New variable. * doc/guix.texi (Miscallaneous Services): Document it. Change-Id: Icae2fefc9a8d936d4c3add47520258b341f689a4 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-09services: admin: Improve use of unattended-upgrade reboot? field.Richard Sent
This ensures the unattended upgrade job successfully reboots regardless of the value for services-to-restart. Previously the mcron service may be restarted which would halt script execution before the system rebooted. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Do not restart services when reboot? is #t. * doc/guix.texi (Unattended Upgrades): Document it. Change-Id: I8e486a764ec1dc5c3090130cc447a0cc3f5a2e00 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-16services: admin: Support rebooting after an unattended upgradeRichard Sent
* gnu/services/admin.scm (unattended-upgrade-configuration): Add reboot? field. When truthy, unattended upgrade will stop the shepherd root service, triggering a reboot. * doc/guix.texi (Unattended Upgrades): Document it. Change-Id: I0af659b3c318421b1a7baa94dde3dadacc1fa10d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-10-24services: admin: Export rottlog-configuration accessors.Simon Tournier
* gnu/services/admin.scm (<rottlog-configuration>): Rename accessors rottlog-rottlog to rottlog-configuration-rottlog, rottlog-rc-file to rottlog-configuration-rc-file, rottlog-rotations to rottlog-configuration-rotations, rottlog-jobs to rottlog-configuration-jobs. (rottlog-etc, rottlog-jobs-or-default, rottlog-service-type): Adjust accordingly.
2023-08-22services: file-database: Clarify 'excluded-directories' description.Ludovic Courtès
* gnu/services/admin.scm (file-database-configuration)[excluded-directories]: Mention that these are regexps. (%default-file-database-excluded-directories): Likewise. * doc/guix.texi (File Search Services): Adjust accordingly.
2023-08-22services: file-database: Set 'PATH' for 'updatedb'.Ludovic Courtès
Previously 'updatedb' would fail to find 'sed', 'rm', etc. * gnu/services/admin.scm (file-database-mcron-jobs): Set PATH before invoking 'updatedb'.
2023-08-07services: Add 'package-database' service.Ludovic Courtès
* gnu/services/admin.scm (%default-package-database-update-schedule): New variable. (<package-database-configuration>): New record type. (package-database-mcron-jobs): New procedure. (package-database-service-type): New variable. * doc/guix.texi (File Search Services): Document it.
2023-08-07services: Add 'file-database' service.Ludovic Courtès
* gnu/services/admin.scm (%default-file-database-update-schedule) (%default-file-database-excluded-directories): New variables. (<file-database-configuration>): New record type. (file-database-mcron-jobs): New procedure. (file-database-service-type): New variable. * doc/guix.texi (File Search Services): New node.
2023-01-10services: unattended-upgrade: Add 'operating-system-expression' field.Giacomo Leidi
* gnu/services/admin.scm (<unattended-upgrade-configuration>) [operating-system-expression]: New field. (unattended-upgrade-mcron-jobs): Honor it. * doc/guix.texi (Unattended Upgrades): Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-08-01services: rottlog: More convenient default options for <log-rotation>.Ludovic Courtès
* gnu/services/admin.scm (%default-log-rotation-options): New variable. (%default-rotations): Use it. * gnu/services/cuirass.scm (cuirass-log-rotations): Likewise. * doc/guix.texi (Log Rotation): Adjust accordingly.
2022-08-01services: rottlog: Keep important /var/log files for 16 weeks.Ludovic Courtès
The default "rotate" value is 1 as of rottlog 0.72.2, meaning that only one rotated file would be kept in addition to the active file. * gnu/services/admin.scm (%default-rotations): Add "rotate" option for %ROTATED-FILES.
2022-04-09services: rottlog: Keep fewer "guix-daemon.log" files.Ludovic Courtès
* gnu/services/admin.scm (%default-rotations): For "guix-daemon.log", add 'options' field.
2022-04-04services: Add 'log-cleanup-service-type'.Ludovic Courtès
* gnu/services/admin.scm (<log-cleanup-configuration>): New record type. (log-cleanup-program, log-cleanup-mcron-jobs): New procedures. (log-cleanup-service-type): New variable. * doc/guix.texi (Log Rotation): Document it.
2021-11-30services: Accept <inferior-package>s in lieu of <package>s.Tobias Geerinckx-Rice
* gnu/services/authentication.scm (fprintd-configuration) (nslcd-configuration): Substitute file-like objects for package ones. * gnu/services/cgit.scm (cgit-configuration, opaque-cgit-configuration): Likewise. * gnu/services/cups.scm (package-list?, cups-configuration): Likewise. * gnu/services/dns.scm (verify-knot-configuration) (ddclient-configuration): Likewise. * gnu/services/docker.scm (docker-configuration): Likewise. * gnu/services/file-sharing.scm (transmission-daemon-configuration): Likewise. * gnu/services/getmail.scm (getmail-configuration): Likewise. * gnu/services/mail.scm (dovecot-configuration) (opaque-dovecot-configuration): Likewise. * gnu/services/messaging.scm (prosody-configuration) (opaque-prosody-configuration): Likewise. * gnu/services/monitoring.scm (zabbix-server-configuration) (zabbix-agent-configuration): Likewise. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-configuration): Likewise. * gnu/services/virtualization.scm (libvirt-configuration) (qemu-guest-agent-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise.
2021-03-29services: rottlog: Add /var/log/mcron.log to '%default-rotations'.Ludovic Courtès
Fixes <https://bugs.gnu.org/47436>. Reported by Leo Famulari <leo@famulari.name>. * gnu/services/admin.scm (%rotated-files): Add "/var/log/mcron.log".
2020-08-24services: unattended-upgrade: Log output of the 'guix' commands.Ludovic Courtès
Fixes <https://bugs.gnu.org/43011>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. Until now the stdout/stderr file descriptors were not redirected. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs)[code]: Remove 'with-logging' and use 'redirect-port' instead.
2020-08-24services: unattended-upgrade: Add 'operating-system-file' field.Ludovic Courtès
* gnu/services/admin.scm (<unattended-upgrade-configuration>)[operating-system-file]: New field. (unattended-upgrade-mcron-jobs): Honor it. * doc/guix.texi (Unattended Upgrades): Document it.
2020-07-27services: Add 'unattended-upgrade-service-type'.Ludovic Courtès
* gnu/services/admin.scm (<unattended-upgrade-configuration>): New record type. (%unattended-upgrade-log-file): New variable. (unattended-upgrade-mcron-jobs, unattended-upgrade-log-rotations): New procedures. (unattended-upgrade-service-type): New variable. * doc/guix.texi (Service Reference): Add 'provenance-service-type' anchor. (Unattended Upgrades): New section.
2020-05-06services: rottlog: Append '.gz' to rotated file.Brice Waegeneire
Fixes <https://issues.guix.info/issue/40945>. * gnu/services/admin.scm (%default-rotations): Add option 'storefile'.
2019-06-15services: Remove unneeded imports that led to cycles.Ludovic Courtès
Fixes <https://bugs.gnu.org/36207>. Reported by Jack Hill <jackhill@jackhill.us>. * gnu/services/admin.scm: Remove unneeded import of (gnu services base). * gnu/services/mcron.scm: Likewise.
2018-12-23services: Fix typo in (gnu services admin).Tobias Geerinckx-Rice
* gnu/services/admin.scm: Fix typo in licence header.
2018-10-04services: rottlog: Use command strings in the mcron jobs.Ludovic Courtès
* gnu/services/admin.scm (default-jobs): Remove the lambda around "/…/bin/rottlog" to make "herd schedule mcron" more transparent (otherwise it just says "Lambda function").
2018-09-10services: tailon: Move to (gnu services web).Ludovic Courtès
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.
2018-03-22gnu: shepherd: Update to 0.4.0.Ludovic Courtès
* gnu/packages/admin.scm (shepherd): Update to 0.4.0. Remove patches. * gnu/packages/patches/shepherd-close-fds.patch, gnu/packages/patches/shepherd-herd-status-sorted.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/services/admin.scm (%default-rotations): Remove /var/log/shepherd.log.
2018-03-22services: rottlog: Add /var/log/debug to '%default-rotations'.Ludovic Courtès
* gnu/services/admin.scm (%rotated-files): Add "/var/log/debug".
2017-11-05services: Add 'description' fields.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type) (tailon-service-type): Add 'description' field. * gnu/services/audio.scm (mpd-service-type): Likewise. * gnu/services/avahi.scm (avahi-service-type): Likewise. * gnu/services/ssh.scm (lsh-service-type) (openssh-service-type, dropbear-service-type): Likewise.
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-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-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-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.
2016-12-19services: guix: Add 'log-file' configuration option.Ludovic Courtès
* gnu/services/base.scm (<guix-configuration>)[log-file]: New field. (guix-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'. * gnu/services/admin.scm (simple-rotation-config): Take a list of files and join them with commas. (%default-rotations): Add /var/log/guix-daemon.log. * doc/guix.texi (Base Services): Document it.
2016-10-03services: rottlog: Add Rottlog to the global profile.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type): Extend PROFILE-SERVICE-TYPE.
2016-10-03services: rottlog: Improve default weekly rotations.Ludovic Courtès
* gnu/services/admin.scm (%rotated-files): Add "/var/log/maillog". (syslog-rotation-config): Change parameter to 'files'. Return a string-append gexp for all of FILES. (simple-rotation-config): Remove unnecessary 'postrotate' and 'endscript'. (%default-rotations): Adjust accordingly.
2016-10-03services: Add rottlog.Jan Nieuwenhuizen
* gnu/services/admin.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Log Rotation): New node. Co-authored-by: Ludovic Courtès <ludo@gnu.org>