summaryrefslogtreecommitdiff
path: root/gnu/services/cuirass.scm
AgeCommit message (Collapse)Author
2025-12-26services: cuirass-remote-worker: Disable JIT on AArch64.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Pass #:environment-variables to ‘make-forkexec-constructor’. Fixes: guix/guix#5052 Change-Id: Ibbf5aae9c6e62983c8e7f2eda310f68aef2edc8b Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #5053
2025-10-16services: cuirass: Start ‘cuirass register’ eagerly.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service): Pass #:lazy-start?. Change-Id: Ib91c82e74ce9c80616a3de693d858939e670a03d
2025-10-16services: cuirass: Validate specifications at build time.Ludovic Courtès
This ensures problems in the spec are caught before the system is instantiated. * gnu/services/cuirass.scm (cuirass-configuration->specification-file): New procedure. (cuirass-shepherd-service): Use it instead of ‘scheme-file’. Change-Id: I90187ed4ed1a51958159741a55b6dc635c97312a
2025-09-05services: cuirass: Add more configuration fields.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[parallel-evaluations] [evaluation-ttl, web-threads]: New fields. (cuirass-shepherd-service): Honor them. * doc/guix.texi (Continuous Integration): Document them. Change-Id: I33485b978d2a37ee93230b1d425731e6cb3b80e4
2025-09-05services: cuirass: Socket activation for ‘cuirass register’.Ludovic Courtès
Fixes guix/cuirass#16. * gnu/services/cuirass.scm (cuirass-shepherd-service)[endpoint]: New procedure. Use ‘make-systemd-constructor’ for ‘cuirass register’. Set the ‘COLUMNS’ environment variable. Change-Id: If58e4e8a889ab11e4b5b89a7abaf0af24600751b
2025-08-29services: cuirass: Increase default polling interval to 5mn.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[interval]: Change to 300. * doc/guix.texi (Continuous Integration): Update accordingly and explain where it is used. Change-Id: I30e38ffe0d75cd1f5857b422b4fa5d05dd47a7e5
2025-03-21services: cuirass: Really allow ‘parameters’ to be a file-like object.Ludovic Courtès
This is a followup to 72381149119e4541f16024fe5616aca022373525. * gnu/services/cuirass.scm (cuirass-shepherd-service): Turn ‘--parameters=’ bit into a gexp. Change-Id: I5dd886b90ecea45157873e9c701e34988d6d31cc
2025-03-21services: cuirass: Allow ‘parameters’ to be a file-like object.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service): Turn ‘--parameters=’ bit into a gexp. Change-Id: I3b533d97f59757cc8c18fdafe8d26b4f29f04202
2025-02-24services: cuirass: Respawn ‘cuirass-web’ more slowly.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘respawn-delay’ and ‘respawn-limit’ fields for ‘cuirass-web’. Change-Id: I38c65d3a13fb3abc7c8f14784de3c93f5d7603f7
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-11services: cuirass: Add ‘build-expiry’ field.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[build-expiry]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Change-Id: I1f9e21368437fd8fc236719e32bad7656928c926
2024-12-12services: cuirass: Run in a UTF-8 locale.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/73751>. * gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘LC_ALL’. Reported-by: Noé Lopez <noelopez@free.fr> Change-Id: I9121a213405d287e2f15338c8608153e11c2508d
2024-11-03services: cuirass: Run ‘remote-worker’ under its own user/group.Ludovic Courtès
The ‘--user’ option was added to ‘cuirass remote-worker’ in Cuirass commit 3a6abc17f904f38098d3ab08e9d82de2e821d348 (Nov. 2023). * gnu/services/cuirass.scm (%cuirass-remote-worker-accounts): New variable. (cuirass-remote-worker-shepherd-service): Pass ‘--user’. (cuirass-remote-worker-service-type): Add ACCOUNT-SERVICE-TYPE extension. Change-Id: I075ea02b6972adcad0a75e330073e85c4dacbbc5
2024-05-04services: cuirass: Remove use-substitutes? configuration option.Ahmad Draidi
As of Cuirass commit 9a1452ee021c9f773424961cfeef47ca0b7c5c5a, this option seems to be unused and kept for back compatibility there. * gnu/services/cuirass.scm (<cuirass-configuration>): Remove use-substitutes? field. (cuirass-shepherd-service): Remove the option. * doc/guix.texi (Continuous Integration): Remove option documentation. Change-Id: I933550ce76eecdf918b07891aa8212fd30a7c87e Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-04services: cuirass: Add new configuration options.Ahmad Draidi
* gnu/services/cuirass.scm (<cuirass-configuration>): Add ttl and threads fields. (cuirass-shepherd-service): Handle the new options. * doc/guix.texi (Continuous Integration): Document them. Change-Id: I4387fbd7bf6766f4a54801f35c7ed82ce4eb9645 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-05-04services: cuirass: Use separate extra options for cuirass web process.Ahmad Draidi
Currently, "extra-options" is passed to both "cuirass register" and "cuirass web" processes. This makes it impractical since the extra parameters have to be intended for and supported by both processes. * gnu/services/cuirass.scm (<cuirass-configuration>): Add a web-extra-options field. (cuirass-shepherd-service): Replace extra-options with web-extra-options for cuirass web. * doc/guix.texi (Continuous Integration): Document the changes. Change-Id: Iba79c559ea8267aaf8f25248f3d18ed7b352cb60 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-24services: cuirass: Depend on ‘user-processes’.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service) (cuirass-remote-worker-shepherd-service): Add ‘user-processes’ to the ‘requirement’ field. Change-Id: Iba087bfd8aaa9b1ef54bcc77d855adc136e18644
2024-01-24services: cuirass: Add ‘configuration’ action.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘actions’ field to ‘cuirass’ Shepherd service. Change-Id: I7feaeebcb89fcd9a1fdbc63f0337e0d63b697793
2023-10-12services: cuirass: Add ‘log-expiry’ option for ‘remote-server’.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>)[log-expiry]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it.
2023-10-02gnu: cuirass: Update to 797b26a.Ludovic Courtès
* gnu/packages/ci.scm (cuirass): Update to 797b26a. * gnu/services/cuirass.scm (cuirass-activation): Create /var/run/cuirass.
2022-12-07service: cuirass: Rotate remote server logs.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-log-rotations): Add the remote server log when it is used.
2022-12-07services: cuirass-remote-worker: Rotate logs.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-remote-worker-log-rotations): New procedure. (cuirass-remote-worker-service-type): Use it.
2022-12-02records: 'match-record' checks fields at macro-expansion time.Ludovic Courtès
This allows 'match-record' to be more efficient (field offsets are computed at compilation time) and to report unknown fields at macro-expansion time. * guix/records.scm (map-fields): New macro. (define-record-type*)[rtd-identifier]: New procedure. Define TYPE as a macro and use a separate identifier for the RTD. (lookup-field, match-record-inner): New macros. (match-record): Rewrite in terms of 'match-error-inner'. * tests/records.scm ("match-record, simple") ("match-record, unknown field"): New tests. * gnu/services/cuirass.scm (cuirass-shepherd-service): Rename 'log-file' local variable to 'main-log-file'. * gnu/services/getmail.scm (serialize-getmail-configuration-file): Move after <getmail-configuration-file> definition.
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-02-17services: cuirass: Also rotate the web log.Maxim Cournoyer
* gnu/services/cuirass.scm (cuirass-log-rotations): Add the web log to the list of rotated files.
2021-12-15services: cuirass: Remove the default database host.Mathieu Othacehe
* gnu/services/cuirass.scm (%cuirass-default-database): Remove the default host.
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-08-13services: cuirass: Reverse the no-publish logic.Mathieu Othacehe
This is a follow-up of d128c6fd33f46ec4e2d0ef352d20a858c377bf6f. * gnu/services/cuirass.scm (<cuirass-remote-server-configuration>) [no-publish?]: Rename it to ... [publish?]: ... this new field. (cuirass-shepherd-service): Adapt it. * doc/guix.texi (Cuirass remote building): Document it.
2021-08-12services: cuirass: Fix the substitute-urls argument.Mathieu Othacehe
This is a follow-up of: 23b5b168ae95aed04cbaa0598449361af3423688. * gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Fix it.
2021-08-12services: cuirass: Add a substitute-urls argument.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>): Add a substitute-urls field. (cuirass-remote-worker-shepherd-service): Honor it. * doc/guix.texi (Cuirass remote building): Document it.
2021-08-12services: cuirass: Add a no-publish argument.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Add a no-publish? field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Cuirass remote building): Document it.
2021-06-01services: cuirass: Do not export record type descriptors.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>) (<cuirass-configuration>, <cuirass-remote-worker-configuration>): Do not export.
2021-06-01services: cuirass: Create the profile and GC root directory.Ludovic Courtès
* gnu/services/cuirass.scm (cuirass-activation): Create /var/guix/profiles/per-user/cuirass/cuirass or similar.
2021-04-14services: cuirass: Use "/tmp" database host.Mathieu Othacehe
This is a follow-up of c311147bd16aa0e5746d9cbf31502f5fd61e470c. * gnu/services/cuirass.scm (%cuirass-default-database): Use "/tmp" database host.
2021-03-23services: cuirass: Set default port values.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>, <cuirass-configuration>): Set default port values.
2021-03-23services: cuirass: Adapt to Cuirass 1.0.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-shepherd-service, cuirass-remote-worker-shepherd-service): Adapt to Cuirass 1.0.
2021-03-10services: cuirass: Remove simple cuirass configuration.Mathieu Othacehe
The Cuirass configuration has been simplified so that this is no longer needed. * gnu/services/cuirass.scm (<build-manifest>, <simple-cuirass-configuration>, simple-cuirass-configuration->specs): Remove them.
2021-03-10services: cuirass: Do not create the database directory.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/46683>. * gnu/services/cuirass.scm (cuirass-activation): Since the PostgreSQL switch, it is no longer needed to create the database directory.
2021-02-23services: cuirass: Fix services requirements.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add "postgres-roles" to cuirass requirements. Set cuirass-web requirements to cuirass only. Remove "guix-daemon" and "networking" from cuirass-remote-server requirements as are already required by cuirass.
2021-02-23services: cuirass: Improve simple-cuirass-services.Mathieu Othacehe
Instead of returning multiple services in simple-cuirass-services, rely on the instantiate-missing-services procedure to instantiate postgresql and postgresql-role-service-type when missing. Turn simple-cuirass-services procedure into simple-cuirass-configuration->specs, that takes a simple-cuirass-configuration record and returns a Cuirass specification. Suggested-by: Ludovic Courtès <ludo@gnu.org> * gnu/services/cuirass.scm (%default-cuirass-config): Remove it. (simple-cuirass-services): Rename it to ... (simple-cuirass-configuration->specs): ... this procedure. * gnu/tests/cuirass.scm (cuirass-services): Remove postgresql and postgresql-role services that are automatically instantiated. (simple-cuirass-service): New variable. (%cuirass-simple-test): Adapt it to use simple-cuirass-configuration->specs instead of simple-cuirass-services. * doc/guix.texi (Simple Cuirass): Update it.
2021-02-22services: cuirass: Instantiate postgresql service.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-service-type): Instantiate postgresql service when missing.
2021-02-22services: cuirass: Add parameters support.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>)[parameters]: New field. [zabbix-uri]: Remove it. (cuirass-shepherd-service): Honor it.
2021-02-19services: cuirass: Add "simple-cuirass-services".Mathieu Othacehe
* gnu/services/cuirass.scm (<build-manifest>, <simple-cuirass-configuration>): New records. (build-manifest, build-manifest?, simple-cuirass-configuration, simple-cuirass-configuration?, simple-cuirass-services): New procedures. (%default-cuirass-config): New variable. * gnu/tests/cuirass.scm (%cuirass-simple-test): New variable. * doc/guix.texi (Continuous Integration): Document it.
2021-02-12services: cuirass: Add server argument for the remote-worker.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>)[server]: New field. (cuirass-remote-worker-shepherd-service): Honor it.
2021-02-09services: cuirass: Move zabbix argument to the web process.Mathieu Othacehe
This is a follow-up of 703e5c92eeb38d86455c2b1cace5cad9fc08b349. * gnu/services/cuirass.scm (cuirass-shepherd-service): Move "zabbix-uri" argument to the web process.
2021-02-08services: cuirass: Add Zabbix support.Mathieu Othacehe
* gnu/services/cuirass.scm (<cuirass-configuration>)[zabbix-uri]: New field. (cuirass-shepherd-service): Honor it.
2021-01-28services: cuirass: Create remote-server cache directory.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-activation): Create remote-server cache directory if needed. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Fix syntax error.Mathieu Othacehe
This is a follow-up of 189e62fa69049538884077155cc70cac43260118. * gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Fix syntax. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Add log-file support.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Add log-file support. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28services: cuirass: Fix workers argument.Mathieu Othacehe
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Fix workers arguments. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>