Ludovic Courtès
a9dcd548fb
services: cuirass: Really allow ‘parameters’ to be a file-like object.
...
This is a followup to 7238114911 .
* gnu/services/cuirass.scm (cuirass-shepherd-service): Turn
‘--parameters=’ bit into a gexp.
Change-Id: I5dd886b90ecea45157873e9c701e34988d6d31cc
2025-03-21 13:29:18 +01:00
Ludovic Courtès
7238114911
services: cuirass: Allow ‘parameters’ to be a file-like object.
...
* gnu/services/cuirass.scm (cuirass-shepherd-service): Turn
‘--parameters=’ bit into a gexp.
Change-Id: I3b533d97f59757cc8c18fdafe8d26b4f29f04202
2025-03-21 12:37:29 +01:00
Ludovic Courtès
61a9aa7fbe
services: cuirass: Respawn ‘cuirass-web’ more slowly.
...
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add
‘respawn-delay’ and ‘respawn-limit’ fields for ‘cuirass-web’.
Change-Id: I38c65d3a13fb3abc7c8f14784de3c93f5d7603f7
2025-02-24 23:33:51 +01:00
Ludovic Courtès
6942161b44
services: Switch from mcron + Rottlog to Shepherd’s log rotation.
...
* 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-16 22:30:02 +01:00
Ludovic Courtès
d081b41d2e
services: cuirass: Add ‘build-expiry’ field.
...
* 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
2025-01-11 23:36:57 +01:00
Ludovic Courtès
33bed95107
services: cuirass: Run in a UTF-8 locale.
...
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-12-12 12:52:07 +01:00
Ludovic Courtès
e7a445571d
services: cuirass: Run ‘remote-worker’ under its own user/group.
...
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-11-03 22:48:36 +01:00
Ahmad Draidi
7d9ad8f3a6
services: cuirass: Remove use-substitutes? configuration option.
...
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-04 19:14:25 +02:00
Ahmad Draidi
70f277d0e4
services: cuirass: Add new configuration options.
...
* 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-04 19:14:25 +02:00
Ahmad Draidi
2cd6831161
services: cuirass: Use separate extra options for cuirass web process.
...
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-05-04 19:14:25 +02:00
Ludovic Courtès
96c2186a08
services: cuirass: Depend on ‘user-processes’.
...
* gnu/services/cuirass.scm (cuirass-shepherd-service)
(cuirass-remote-worker-shepherd-service): Add ‘user-processes’ to the
‘requirement’ field.
Change-Id: Iba087bfd8aaa9b1ef54bcc77d855adc136e18644
2024-01-24 23:28:38 +01:00
Ludovic Courtès
94abfccde9
services: cuirass: Add ‘configuration’ action.
...
* gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘actions’
field to ‘cuirass’ Shepherd service.
Change-Id: I7feaeebcb89fcd9a1fdbc63f0337e0d63b697793
2024-01-24 23:28:37 +01:00
Ludovic Courtès
5a3fb30653
services: cuirass: Add ‘log-expiry’ option for ‘remote-server’.
...
* 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-12 22:14:34 +02:00
Ludovic Courtès
3b71b2dca7
gnu: cuirass: Update to 797b26a.
...
* gnu/packages/ci.scm (cuirass): Update to 797b26a.
* gnu/services/cuirass.scm (cuirass-activation): Create /var/run/cuirass.
2023-10-02 11:07:14 +02:00
Ludovic Courtès
ac682963a3
service: cuirass: Rotate remote server logs.
...
* gnu/services/cuirass.scm (cuirass-log-rotations): Add the remote
server log when it is used.
2022-12-07 23:36:20 +01:00
Ludovic Courtès
ce1f5ff6cf
services: cuirass-remote-worker: Rotate logs.
...
* gnu/services/cuirass.scm (cuirass-remote-worker-log-rotations): New
procedure.
(cuirass-remote-worker-service-type): Use it.
2022-12-07 23:36:19 +01:00
Ludovic Courtès
7c1161dba4
records: 'match-record' checks fields at macro-expansion time.
...
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-12-02 00:02:12 +01:00
Ludovic Courtès
7d0ebc467f
services: rottlog: More convenient default options for <log-rotation>.
...
* 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-01 00:02:04 +02:00
Maxim Cournoyer
12566aabe7
services: cuirass: Also rotate the web log.
...
* gnu/services/cuirass.scm (cuirass-log-rotations): Add the web log to the
list of rotated files.
2022-02-17 13:39:02 -05:00
Mathieu Othacehe
99b2f51dc2
services: cuirass: Remove the default database host.
...
* gnu/services/cuirass.scm (%cuirass-default-database): Remove the default
host.
2021-12-15 14:41:42 +01:00
Tobias Geerinckx-Rice
892f1b7273
services: Accept <inferior-package>s in lieu of <package>s.
...
* 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-11-30 01:08:55 +01:00
Mathieu Othacehe
cfd2442488
services: cuirass: Reverse the no-publish logic.
...
This is a follow-up of d128c6fd33 .
* 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-13 13:46:21 +02:00
Mathieu Othacehe
8221cf8349
services: cuirass: Fix the substitute-urls argument.
...
This is a follow-up of: 23b5b168ae .
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Fix it.
2021-08-12 14:58:18 +02:00
Mathieu Othacehe
23b5b168ae
services: cuirass: Add a substitute-urls argument.
...
* 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-12 14:31:54 +02:00
Mathieu Othacehe
d128c6fd33
services: cuirass: Add a no-publish argument.
...
* 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-08-12 12:59:55 +02:00
Ludovic Courtès
0db906c52c
services: cuirass: Do not export record type descriptors.
...
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>)
(<cuirass-configuration>, <cuirass-remote-worker-configuration>): Do not
export.
2021-06-01 23:26:07 +02:00
Ludovic Courtès
ec9307ea07
services: cuirass: Create the profile and GC root directory.
...
* gnu/services/cuirass.scm (cuirass-activation): Create
/var/guix/profiles/per-user/cuirass/cuirass or similar.
2021-06-01 23:26:07 +02:00
Mathieu Othacehe
3f3d66377c
services: cuirass: Use "/tmp" database host.
...
This is a follow-up of c311147bd1 .
* gnu/services/cuirass.scm (%cuirass-default-database): Use "/tmp" database
host.
2021-04-14 16:09:35 +02:00
Mathieu Othacehe
3c9a353849
services: cuirass: Set default port values.
...
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>,
<cuirass-configuration>): Set default port values.
2021-03-23 20:30:49 +01:00
Mathieu Othacehe
eda735fb61
services: cuirass: Adapt to Cuirass 1.0.
...
* gnu/services/cuirass.scm (cuirass-shepherd-service,
cuirass-remote-worker-shepherd-service): Adapt to Cuirass 1.0.
2021-03-23 16:47:48 +01:00
Mathieu Othacehe
6c883d0f1d
services: cuirass: Remove simple cuirass configuration.
...
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-10 09:05:02 +01:00
Mathieu Othacehe
0be2474d42
services: cuirass: Do not create the database directory.
...
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-03-10 08:49:48 +01:00
Mathieu Othacehe
f2b10e1b7f
services: cuirass: Fix services requirements.
...
* 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-23 11:22:22 +01:00
Mathieu Othacehe
bebcf97600
services: cuirass: Improve simple-cuirass-services.
...
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-23 09:45:09 +01:00
Mathieu Othacehe
3bcfd41620
services: cuirass: Instantiate postgresql service.
...
* gnu/services/cuirass.scm (cuirass-service-type): Instantiate postgresql
service when missing.
2021-02-22 16:24:34 +01:00
Mathieu Othacehe
1443e2dd98
services: cuirass: Add parameters support.
...
* gnu/services/cuirass.scm (<cuirass-configuration>)[parameters]: New field.
[zabbix-uri]: Remove it.
(cuirass-shepherd-service): Honor it.
2021-02-22 10:23:04 +01:00
Mathieu Othacehe
e9bf511082
services: cuirass: Add "simple-cuirass-services".
...
* 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-19 20:10:09 +01:00
Mathieu Othacehe
66c31d5072
services: cuirass: Add server argument for the remote-worker.
...
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>)[server]:
New field.
(cuirass-remote-worker-shepherd-service): Honor it.
2021-02-12 14:57:47 +01:00
Mathieu Othacehe
91911b9382
services: cuirass: Move zabbix argument to the web process.
...
This is a follow-up of 703e5c92ee .
* gnu/services/cuirass.scm (cuirass-shepherd-service): Move "zabbix-uri"
argument to the web process.
2021-02-09 09:20:55 +01:00
Mathieu Othacehe
703e5c92ee
services: cuirass: Add Zabbix support.
...
* gnu/services/cuirass.scm (<cuirass-configuration>)[zabbix-uri]: New field.
(cuirass-shepherd-service): Honor it.
2021-02-08 13:44:06 +01:00
Mathieu Othacehe
5ba7e828ad
services: cuirass: Create remote-server cache directory.
...
* gnu/services/cuirass.scm (cuirass-activation): Create remote-server cache
directory if needed.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org >
2021-01-28 16:22:56 +01:00
Mathieu Othacehe
8d8bbe7c63
services: cuirass: Fix syntax error.
...
This is a follow-up of 189e62fa69 .
* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>): Fix
syntax.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org >
2021-01-28 16:22:55 +01:00
Mathieu Othacehe
eff80711f3
services: cuirass: Add log-file support.
...
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Add
log-file support.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org >
2021-01-28 15:53:03 +01:00
Mathieu Othacehe
eb9adede34
services: cuirass: Fix workers argument.
...
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service): Fix
workers arguments.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org >
2021-01-28 15:27:55 +01:00
Mathieu Othacehe
a19b6889ad
services: cuirass: Add systems argument.
...
* gnu/services/cuirass.scm (<cuirass-remote-worker-configuration>)[systems]:
New field.
(cuirass-remote-worker-shepherd-service): Honor it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org >
2021-01-28 14:04:52 +01:00
Mathieu Othacehe
189e62fa69
services: cuirass: Add remote build support.
2021-01-28 12:57:27 +01:00
Mathieu Othacehe
0f01493dc8
service: cuirass: Update it.
2021-01-28 12:57:27 +01:00
Mathieu Othacehe
770fb659a6
services: cuirass: Add queue-size option.
...
* gnu/services/cuirass.scm (<cuirass-configuration>): Add "queue-size" field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.
2020-12-08 11:56:26 +01:00
Mathieu Othacehe
d6a8f0a978
services: cuirass: Fix activation.
...
Fixes: <https://issues.guix.gnu.org/43760 >.
* gnu/services/cuirass.scm (cuirass-activation): Do not create
queries-log-file and web-queries-log-file if the corresponding config file are
unset.
2020-10-02 14:58:01 +02:00
Mathieu Othacehe
a024eedb1c
services: cuirass: Create queries log files at activation.
...
* gnu/services/cuirass.scm (cuirass-activation)[queries-log-file]: Create and
set user permissions on "queries-log-file" and "web-queries-log-file".
2020-09-24 13:51:57 +02:00