summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Expand)AuthorAgeFilesLines
* services: cuirass: Use "/tmp" database host.•••This is a follow-up of c311147bd16aa0e5746d9cbf31502f5fd61e470c. * gnu/services/cuirass.scm (%cuirass-default-database): Use "/tmp" database host. Mathieu Othacehe2021-04-141-1/+1
* Revert "services: mysql: Add extra-environment as configuration option."•••This reverts commit f3626119d738f30b5ab59e76c105fd7b4c077ddc. This commit inadvertently broke a string freeze. Let's be nice to our translators and not do that. Leo Prikler2021-04-141-6/+1
* services: postgresql: Use "/tmp" host directory.•••This is a follow-up of c311147bd16aa0e5746d9cbf31502f5fd61e470c. * gnu/services/databases.scm (<postgresql-role-configuration>)[host]: Set to "/tmp" which the default Postgresql socket directory. Mathieu Othacehe2021-04-131-1/+1
* services: mysql: Add extra-environment as configuration option.•••* gnu/services/databases.scm (mysql-configuration): Add extra-environment (mysql-service): Use #:log-file and #:environment-variables * doc/guix.texi: Document it. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at> methuselah-02021-04-131-1/+6
* services: postgresql: Change service default socket directory.•••Fixes <https://bugs.gnu.org/46737>. PostgreSQL running with a different socket directory to the default one in the package itself breaks some services, this commit restores the previous behaviour where PostgreSQL by default will run with a socket directory that matches the default used by PostgreSQL packaged for Guix. Switching to a different default value can happen, but only alongside changing the PostgreSQL package. * gnu/services/databases.scm (<postgresql-config-file>)[socket-directory]: Change default to #false. * doc/guix.texi (Database Services): Update documentation, and specify a different value for disabling connections via sockets. * gnu/tests/guix.scm (%guix-data-service-os): Use default PostgreSQL behaviour. * gnu/tests/monitoring.scm (%zabbix-os): Likewise. * gnu/tests/web.scm (patchwork-os): Likewise. Signed-off-by: Leo Famulari <leo@famulari.name> Christopher Baines2021-04-121-1/+1
* services: ipfs: Tweak description.•••* gnu/services/networking.scm (ipfs-service-type)[description]: Avoid abbreviation. Ludovic Courtès2021-04-121-1/+1
* services: Add ipfs-service-type•••* gnu/services/networking.scm (ipfs-service-type) (%ipfs-home-mapping, %ipfs-environment) (%ipfs-accounts, %ipfs-home): New variables. (ipfs-configuration, ipfs-configuration?) (ipfs-configuration-package, ipfs-configuration-gateway) (ipfs-configuration-api, ipfs-shepherd-service) (ipfs-binary, %ipfs-activation): New procedures. * doc/guix.texi (Networking Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos2021-04-121-0/+141
* services: git-daemon: Fix typo in docstring.•••* gnu/services/version-control.scm (git-daemon-service): Fix docstring typo. Tobias Geerinckx-Rice2021-04-101-1/+1
* services: Add Laminar.•••* gnu/services/ci.scm: New file. * gnu/tests/ci.scm: New file. * doc/guix.texi (Laminar): Document the Laminar service. Christopher Baines2021-04-091-0/+127
* services: dovecot: Fix serialization of a free-form-args arguments.•••* gnu/services/mail.scm (serialize-free-form-args): Change destination and return a string containing the formated text. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Alexey Abramov2021-04-061-1/+1
* services: guix-publish: Add zstd compression by default.•••That way, the default config with (advertises? #t) and without a cache will offer zstd-compressed substitutes, which should lead to much higher throughput than gzip. * gnu/services/base.scm (default-compression): When 'guix-publish-configuration-cache' returns true, use higher level compression ratios. Add "zstd". * doc/guix.texi (Base Services): Mention zstd. Ludovic Courtès2021-04-031-1/+5
* services: kmscon: Add font-engine and font-size fields.•••* gnu/services/base.scm (<kmscon-configuration>): Add font-engine and font-size fields. (kmscon-service-type): Honor them. * doc/guix.texi (Base Services): Document them. qblade2021-04-011-2/+11
* gnu: services: web: Have fcgiwrap log to a file.•••This makes it easier to access the output. * gnu/services/web.scm (fcgiwrap-shepherd-service): Pass #:log-file to make-forkexec-constructor. Christopher Baines2021-04-011-1/+2
* gnu: services: web: Cleanup whitespace.•••Replace tabs with spaces, and delete trailing whitespace. * gnu/services/web.scm: Cleanup whitespace. Christopher Baines2021-04-011-17/+17
* services: sysctl: Export <sysctl-configuration> record field accessors.•••* gnu/services/sysctl.scm (sysctl-configuration-sysctl) (sysctl-configuration-settings): Export. Signed-off-by: Ludovic Courtès <ludo@gnu.org> muradm2021-03-311-0/+2
* services: xorg: Export %default-xorg-server-arguments.•••* gnu/services/xorg.scm (%default-xorg-server-arguments): Export. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Valentin Herrmann2021-03-311-0/+2
* services: rottlog: Add /var/log/mcron.log to '%default-rotations'.•••Fixes <https://bugs.gnu.org/47436>. Reported by Leo Famulari <leo@famulari.name>. * gnu/services/admin.scm (%rotated-files): Add "/var/log/mcron.log". Ludovic Courtès2021-03-291-2/+2
* services: cuirass: Set default port values.•••* gnu/services/cuirass.scm (<cuirass-remote-server-configuration>, <cuirass-configuration>): Set default port values. Mathieu Othacehe2021-03-231-3/+5
* services: cuirass: Adapt to Cuirass 1.0.•••* gnu/services/cuirass.scm (cuirass-shepherd-service, cuirass-remote-worker-shepherd-service): Adapt to Cuirass 1.0. Mathieu Othacehe2021-03-231-8/+7
* services: Enable "protected hardlinks" and "protected symlinks" by default.•••References: https://sysctl-explorer.net/fs/protected_hardlinks/ https://sysctl-explorer.net/fs/protected_symlinks/ * gnu/services/sysctl.scm (%default-sysctl-settings): New public variable. (<sysctl-configuration>): Use %default-sysctl-settings as the default value. * gnu/services/base.scm (%base-services): Add sysctl-service-type. * doc/guix.texi (Miscellaneous Services): Document the new defaults. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Leo Famulari2021-03-182-2/+11
* gnu: Remove MongoDB.•••mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the release tarball under the SSPL, therefore we cannot provide mongodb while upholding to good security standards. It turns out feff80cec3c97a3df2c20d300be12d67f79d4f22 was right since while the main license file wasnt altered to SSPL, some files in the tree contain SSPL headers. * gnu/packages/databases.scm (go-gopkg.in-mgo.v2): Remove. * gnu/packages/databases.scm (mongo-tools): Remove. * doc/guix.texi (mongodb-service-type): Remove. * gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test): Remove. * gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?, mongodb-configuration-mongodb, mongodb-configuration-config-file, mongodb-configuration-data-directory, mongodb-service-type, %default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation, mongodb-shepherd-service): Remove. * gnu/packages/databases.scm (mongodb): Remove. Léo Le Bouter2021-03-161-88/+0
* services/qemu-binfmt: Use the F flag and the static output of QEMU.•••Fixes <https://issues.guix.gnu.org/36117>. Before this change, the 'binfmt_misc' entries registered for QEMU would not be usable in container contexts outside of guix-daemon (without manually bind mounting file names). For example: $ docker run --rm arm32v7/debian true standard_init_linux.go:207: exec user process caused "no such file or directory" After this change, any container can make use of the QEMU binfmt_misc registrations, as their corresponding QEMU static binaries are fully pre-loaded by the kernel. * gnu/services/virtualization.scm (<qemu-platform>): Define using 'define-record-type*'. [flags]: New field, which defaults to "F" (fix binary). (%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus, %ppc, %ppc64) (%ppc64le, %m68k, %mips, %mipsel, %mipsn32, %mipsn32el, %mips64, %mips64el) (%riscv32, %riscv64, %sh4, %sh4eb, %s390x, %aarch64, %hppa): Adjust. (qemu-binfmt-guix-chroot): Remove variable. (qemu-binfmt-service-type): Remove the qemu-binfmt-guix-chroot extension. * gnu/services/qemu-binfmt (qemu-platform->binfmt): Use the static output of QEMU. * doc/contributing.texi (Submitting Patches): Update doc. * doc/guix.texi (Virtualization Services): Update doc. Maxim Cournoyer2021-03-151-98/+129
* services: Prevent following symlinks during activation.•••This addresses a potential security issue, where a compromised service could trick the activation code in changing the permissions, owner and group of arbitrary files. However, this patch is currently only a partial fix, due to a TOCTTOU (time-of-check to time-of-use) race, which can be fixed once guile has bindings to openat and friends. Fixes: <https://lists.gnu.org/archive/html/guix-devel/2021-01/msg00388.html> * gnu/build/activation.scm: new procedure 'mkdir-p/perms'. * gnu/services/authentication.scm (%nslcd-activation, nslcd-service-type): use new procedure. * gnu/services/cups.scm (%cups-activation): likewise. * gnu/services/dbus.scm (dbus-activation): likewise. * gnu/services/dns.scm (knot-activation): likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos2021-03-104-44/+48
* 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. Mathieu Othacehe2021-03-101-81/+1
* 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. Mathieu Othacehe2021-03-101-4/+0
* services: guix-build-coordinator: Add dynamic auth with file record.•••* gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth-with-file, guix-build-coordinator-agent-dynamic-auth-with-filen?, guix-build-coordinator-agent-dynamic-auth-with-file-agent-name, guix-build-coordinator-agent-dynamic-auth-with-file-token-file): New procedures. (guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth with file record. * doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth with file record. Christopher Baines2021-03-051-1/+19
* services: shepherd: Make 'assert-valid-graph' public.•••* gnu/services/shepherd.scm (assert-valid-graph): Make public. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Andrew Tropin2021-03-031-1/+3
* services: guix-build-coordinator: Add dynamic auth record.•••* gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth, guix-build-coordinator-agent-dynamic-auth?, guix-build-coordinator-agent-dynamic-auth-agent-name, guix-build-coordinator-agent-dynamic-auth-token): New procedures. (guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth record. * doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth record. Christopher Baines2021-02-281-1/+17
* services: guix-build-coordinator: Rework authentication config.•••A new authentication approach has been added to the coordinator, so to better represent the options, this commit changes the configuration to accept different records, each for different authentication approaches. * gnu/services/guix.scm (guix-build-coordinator-agent-configuration-uuid, guix-build-coordinator-agent-configuration-password, guix-build-coordinator-agent-configuration-password-file): Removed procedures. (guix-build-coordinator-agent-password-auth, guix-build-coordinator-agent-password-auth?, guix-build-coordinator-agent-password-auth-uuid, guix-build-coordinator-agent-password-auth-password, guix-build-coordinator-agent-password-file-auth, guix-build-coordinator-agent-password-file-auth?, guix-build-coordinator-agent-password-file-auth-uuid, guix-build-coordinator-agent-password-file-auth-password-file): New procedures. (guix-build-coordinator-agent-shepherd-services): Adjust to handle the authentication field and it's possible record values. * doc/guix.texi (Guix Build Coordinator): Update documentation. Christopher Baines2021-02-281-16/+38
* services: shepherd: Make /run/booted-system a symlink to the store item.•••Fixes <https://bugs.gnu.org/46767>. Previously /run/booted-system would end up referring to /var/guix/profiles/system-NNN-link; consequently, the booted system would not be GC-protected. * gnu/services/shepherd.scm (shepherd-boot-gexp): Call 'canonicalize-path' instead of 'readlink'. Ludovic Courtès2021-02-251-1/+5
* 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. Mathieu Othacehe2021-02-231-3/+3
* services: postgresql-roles: Fix race condition.•••Make sure that the postgresql-roles script is completed before declaring the postgresql-roles service as started. * gnu/services/databases.scm (postgresql-create-roles): Return the command line instead of a program-file. (postgresql-role-shepherd-service): Use fork+exec-command to start the role creation script and wait for its completion before returning. Mathieu Othacehe2021-02-231-11/+10
* 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. Mathieu Othacehe2021-02-231-19/+3
* services: postgresql: Define a default value.•••* gnu/services/databases.scm (postgresql-service-type): Define a default value. Mathieu Othacehe2021-02-221-1/+3
* services: cuirass: Instantiate postgresql service.•••* gnu/services/cuirass.scm (cuirass-service-type): Instantiate postgresql service when missing. Mathieu Othacehe2021-02-221-0/+2
* services: tor: Add control-socket? option.•••* doc/guix.texi (Networking Services): Document new `control-socket?' option for `tor-configuration`. * gnu/services/networking.scm (<tor-configuration>): (tor-configuration->torrc): Christopher Lemmer Webber2021-02-221-2/+11
* services: cuirass: Add parameters support.•••* gnu/services/cuirass.scm (<cuirass-configuration>)[parameters]: New field. [zabbix-uri]: Remove it. (cuirass-shepherd-service): Honor it. Mathieu Othacehe2021-02-221-8/+18
* 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. Mathieu Othacehe2021-02-191-1/+101
* services: wireguard: New service.•••* gnu/services/vpn.scm (wireguard-peer, wireguard-configuration): New records. (wireguard-service-type): New variable. * doc/guix.texi (VPN Services): Document it. Mathieu Othacehe2021-02-171-1/+137
* services: Add Agate Gemini service.•••* gnu/services/web.scm (<agate-configuration>): New record type. (agate-accounts, agate-shepherd-service): New procedures. (agate-service-type): New variable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Alexandru-Sergiu Marton2021-02-151-2/+110
* 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. Mathieu Othacehe2021-02-121-1/+7
* services: Add transmission-daemon service.•••* gnu/services/file-sharing.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * po/packages/POTFILES.in: Add it. * tests/services/file-sharing.scm: New file. * Makefile.am (SCM_TESTS): Add it. * doc/guix.texi (File-Sharing Services): New section. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Simon South2021-02-121-0/+804
* services: Add 'xorg-server-service-type'.•••* gnu/services/xorg.scm (xorg-server-service-type): New service type. (xorg-server-profile-service): New procedure. 宋文武2021-02-111-0/+37
* services: knot: Fix configuration verification.•••* gnu/services/dns.scm (verify-knot-key-configuration): Fix the order of memq arguments. (verify-knot-keystore-configuration): Likewise. (verify-knot-acl-configuration): Replace fold with every procedure. Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Alexey Abramov2021-02-111-7/+7
* services: cuirass: Move zabbix argument to the web process.•••This is a follow-up of 703e5c92eeb38d86455c2b1cace5cad9fc08b349. * gnu/services/cuirass.scm (cuirass-shepherd-service): Move "zabbix-uri" argument to the web process. Mathieu Othacehe2021-02-091-5/+5
* services: cuirass: Add Zabbix support.•••* gnu/services/cuirass.scm (<cuirass-configuration>)[zabbix-uri]: New field. (cuirass-shepherd-service): Honor it. Mathieu Othacehe2021-02-081-0/+8
* gnu: Remove 'file-systems requirement from kernel-module-loader.•••* gnu/services/linux.scm (kernel-module-loader-shepherd-service): Remove 'file-systems requirement. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> raid5atemyhomework2021-02-081-1/+2
* services: PostgreSQL: Quote database names.•••* gnu/services/databases.scm (postgresql-create-roles): Quote the name in the SQL query so that roles/usernames containing hyphens will work. Marius Bakke2021-02-061-3/+3
* gnu: services: Fix the NFS service.•••* gnu/services/nfs.scm (rpcbind-service-type): Adjust for the file name change of the rpcbind command. Maxim Cournoyer2021-02-051-2/+2
* services: shepherd: Allow custom 'shepherd' package.•••* gnu/services/shepherd.scm (<shepherd-configuration>): New record. (shepherd-boot-gexp, shepherd-root-service-type): Use it. (scm->go, shepherd-configuration-file): Allow passing custom shepherd package. * gnu/system.scm (operating-system-shepherd-service-names): Use the new record. * guix/scripts/system.scm (export-shepherd-graph): Adjust accordingly. * doc/guix.texi (Shepherd Services). Document it. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos2021-01-301-13/+40