summaryrefslogtreecommitdiff
path: root/gnu/services/guix.scm
AgeCommit message (Collapse)Author
2022-02-04services: nar-herder: Support ttl and negative-ttl options.Christopher Baines
* gnu/services/guix.scm (<nar-herder-configuration>): Add ttl and negative-ttl fields. (nar-herder-shepherd-services): Pass the ttl and negative-ttl values to the service. * doc/guix.texi (Guix Services): Document this.
2022-01-31services: guix: Add nar-herder-service-type.Christopher Baines
* gnu/services/guix.scm (<nar-herder-configuration>): New record type. (nar-herder-configuration, nar-herder-configuration?, nar-herder-configuration-package, nar-herder-configuration-user, nar-herder-configuration-group, nar-herder-configuration-mirror nar-herder-configuration-database nar-herder-configuration-database-dump nar-herder-configuration-host nar-herder-configuration-port nar-herder-configuration-storage nar-herder-configuration-storage-limit nar-herder-configuration-storage-nar-removal-criteria nar-herder-shepherd-services, nar-herder-activation, nar-herder-account): New procedures. (nar-herder-service-type): New variable. * gnu/tests/guix.scm (%test-nar-herder): New variable. * doc/guix.texi (Guix Services): Document the new service.
2022-01-02services: guix-build-coordinator: Fix variable name in agent config.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Fix variable name. * doc/guix.texi (Guix Services): Update accordingly.
2022-01-02gnu: Add guix-build-coordinator/agent-only.Christopher Baines
This avoids issues where the coordinator component dependencies (like sqitch and guile-fibers) make it harder to use the agent. * gnu/packages/package-management.scm (guix-build-coordinator/agent-only): New variable. * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Use the guix-build-coordinator/agent-only package by default. * doc/guix.texi (Guix Services): Update accordingly.
2021-05-02services: guix-build-coordinator: Fix queue builds state directory.Christopher Baines
This service doesn't create a PID file, but it does write a file with the processed commits in it, so create a directory to contain that. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-activation): Ensure /var/cache/guix-build-coordinator-queue-builds exists.
2021-04-23services: guix-build-coordinator: Fix queue builds default config.Christopher Baines
Use the default client port rather than the default agent communication port for the queue builds script. * gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>): Change coordinator default.
2021-04-23services: guix-build-coordinator: Remove incorrect pid file.Christopher Baines
The queue builds script doesn't create a pid file, so don't have the shepherd expect to find one. * gnu/services/guix.scm (guix-build-coordinator-queue-builds-shepherd-services): Remove #:pid-file.
2021-04-23services: guix-build-coordinator: Fix service activation parts.Christopher Baines
Don't hardcode usernames, as these are in the config. Also fix the %user being missing from the queue-builds service activation. * gnu/services/guix.scm (guix-build-coordinator-activation, guix-build-coordinator-agent-activation): Use config for the user name. (guix-build-coordinator-queue-builds-activation): Define %user.
2021-04-23services: guix-build-coordinator: Add max-1min-load-average option.Christopher Baines
To the agent configuration. * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New field, max-1min-load-average. (guix-build-coordinator-agent-configuration-max-1min-load-average): New procedure. (guix-build-coordinator-agent-shepherd-services): If set, include the max-1min-load-average in the agent arguments.
2021-03-05services: guix-build-coordinator: Add dynamic auth with file record.Christopher Baines
* 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.
2021-02-28services: guix-build-coordinator: Add dynamic auth record.Christopher Baines
* 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.
2021-02-28services: guix-build-coordinator: Rework authentication config.Christopher Baines
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.
2020-11-07services: guix: Fix Guix Build Coordinator substitute urls bug.Christopher Baines
* gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Pass the correct value as the --non-derivation-substitute-urls.
2020-11-07services: guix: Remove the Guix Build Coordinator agent pid file.Christopher Baines
As it doesn't use one. * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Remove #:pid-file. (guix-build-coordinator-agent-activation): Don't create the /var/run directory.
2020-11-07services: guix: Add guix-build-coordinator-agent cache directory.Christopher Baines
As this is needed when substituting derivations. * gnu/services/guix.scm (guix-build-coordinator-agent-shepherd-services): Set XDG_CACHE_HOME. (guix-build-coordinator-agent-activation): Create /var/cache/guix-build-coordinator-agent.
2020-10-23gnu: guix-build-coordinator: Propagate the guile inputs.Christopher Baines
This means the package is usable as a library, which is useful when using the procedures to send requests to the Guix Build Coordinator. * gnu/packages/package-management.scm (guix-build-coordinator)[inputs]: Move guile inputs to propagated inputs. [propagated-inputs]: Receive some inputs. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Adjust the start script to include propagated inputs.
2020-10-23services: guix: Fix the guix-build-coordinator metrics namespace.Christopher Baines
The underscore is now handled in the guile prometheus library. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Remove the underscore from the end of the metrics namespace.
2020-10-23services: guix-build-coordinator: Configure output buffering.Christopher Baines
Otherwise the logging is garbled. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Configure line output buffering for stdout and stderr.
2020-10-23services: guix-build-coordinator: Include the system profile in PATH.Christopher Baines
As this allows hooks to use the system profile, if that's desired. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Set PATH to include the system profile.
2020-10-23services: guix-build-coordinator: Output the start script name.Christopher Baines
As this can be useful for debugging purposes. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Output the current filename.
2020-10-23services: guix: Fix hooks gexp issue for the Guix Build Coordinator.Christopher Baines
* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Fix handling the name within the hook gexp.
2020-10-20services: guix: Fix coordinator agent.Mathieu Othacehe
* gnu/services/guix.scm (guix-build-coordinator-agent-activation): Define %user variable.
2020-10-08services: guix: Don't use normalized codeset for Guix Data Service.Christopher Baines
This matches up with changes in the Guix Data Service to not use the normalized codeset. * gnu/services/guix.scm (guix-data-service-shepherd-services): Change the LC_ALL codeset to UTF-8.
2020-10-05services: guix: Add guix-build-coordinator-queue-builds-service-type.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-queue-builds-configuration>): New record type. (guix-build-coordinator-queue-builds-configuration, guix-build-coordinator-queue-builds-configuration?, guix-build-coordinator-queue-builds-configuration-package, guix-build-coordinator-queue-builds-configuration-user, guix-build-coordinator-queue-builds-coordinator, guix-build-coordinator-queue-builds-configuration-systems, guix-build-coordinator-queue-builds-configuration-system-and-targets, guix-build-coordinator-queue-builds-configuration-guix-data-service, guix-build-coordinator-queue-builds-configuration-processed-commits-file, guix-build-coordinator-queue-builds-shepherd-services, guix-build-coordinator-queue-builds-activation, guix-build-coordinator-queue-builds-account): New procedures. (guix-build-coordinator-queue-builds-service-type): New variable. * doc/guix.texi (Guix Services): Document it.
2020-10-05services: guix: Add guix-build-coordinator-agent-service-type.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): New record type. (guix-build-coordinator-agent-configuration, guix-build-coordinator-agent-configuration?, guix-build-coordinator-agent-configuration-package, guix-build-coordinator-agent-configuration-user, guix-build-coordinator-agent-configuration-coordinator, guix-build-coordinator-agent-configuration-uuid), guix-build-coordinator-agent-configuration-password, guix-build-coordinator-agent-configuration-password-file, guix-build-coordinator-agent-configuration-systems, guix-build-coordinator-agent-configuration-max-parallel-builds, guix-build-coordinator-agent-configuration-derivation-substitute-urls, guix-build-coordinator-agent-configuration-non-derivation-substitute-urls, guix-build-coordinator-agent-shepherd-services, guix-build-coordinator-agent-activation, guix-build-coordinator-agent-account): New procedures. (guix-build-coordinator-agent-service-type): New variable. * doc/guix.texi (Guix Services): Document it.
2020-10-05services: guix: Add guix-build-coordinator-service-type.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record type. (guix-build-coordinator-configuration, guix-build-coordinator-configuration?, guix-build-coordinator-configuration-package, guix-build-coordinator-configuration-user, guix-build-coordinator-configuration-group, guix-build-coordinator-configuration-datastore-uri-string, guix-build-coordinator-configuration-agent-communication-uri-string, guix-build-coordinator-configuration-client-communication-uri-string, guix-build-coordinator-configuration-allocation-strategy, guix-build-coordinator-configuration-hooks, guix-build-coordinator-configuration-guile, make-guix-build-coordinator-start-script, guix-build-coordinator-shepherd-services, guix-build-coordinator-activation, guix-build-coordinator-account): New procedures. (guix-build-coordinator-service-type): New variable. * gnu/tests/guix.scm (%test-guix-build-coordinator): New variable. * doc/guix.texi (Guix Services): Document it.
2020-03-08services: guix-data-service: Allow passing extra options.Christopher Baines
This is so that the options supported by the service configuration don't have to always be changed. Generally though all options should be explicitly supported and documented, so this is mostly to facilitate experimentation. * gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options and extra-process-jobs-options to the record type. (guix-data-service-shepherd-services): Handle these new configuration record fields. * doc/guix.texi (Guix Data Service): Document these new options.
2019-09-25services: Add the Guix Data Service.Christopher Baines
* gnu/services/guix.scm: New file. * gnu/tests/guix.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add both new files. * doc/guix.texi (Guix Services): New section documenting the Guix Data Service.