2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/maintenance.git synced 2023-12-14 03:33:04 +01:00
Commit graph

300 commits

Author SHA1 Message Date
Ludovic Courtès 1920a41478
hydra: services: 'frontend-services' has an #:authorized-keys parameter.
* hydra/modules/sysadmin/services.scm (guix-daemon-config): Add
 #:authorized-keys and honor it.
(frontend-services): Likewise.
2020-10-25 00:12:19 +02:00
Ludovic Courtès 4a720a03f9
hydra: cleanup-cuirass-roots: Add *.qcow2.
This is a followup to bf4e9ab303.

* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Add ".qcow2".
2020-10-25 00:12:19 +02:00
Mathieu Othacehe 7afe827e57
hydra: services: Set "binary-tarball" type.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Set "binary-tarball"
build product type.
2020-10-22 15:10:43 +02:00
Mathieu Othacehe b4c016f96b
hydra: services: Add "binary-tarball" to build products.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add "binary-tarball"
build product.
2020-10-22 15:03:30 +02:00
Mathieu Othacehe 00b0763269
hydra: services: Fix Cuirass.
This is a follow-up of 074aff7804.

* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Add name.
2020-10-19 19:18:08 +02:00
Mathieu Othacehe 074aff7804
hydra: services: Update Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Update to
revision 54.
2020-10-19 19:05:42 +02:00
Marius Bakke 7f2a7d0110
hydra: berlin: Increase max-cores on build nodes.
*
hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Reduce MAX-JOBS from 5 to 4, and increase MAX-CORES from 4 to 16.
2020-10-18 22:49:59 +02:00
Mathieu Othacehe bfbf4c8bb2
hydra: services: Add a Cuirass service.
* hydra/modules/sysadmin/services.scm (cuirass-service): New procedure.
(frontend-services): Use it.
2020-10-15 13:59:06 +02:00
Mathieu Othacehe 96d5de3335
hydra: services: Workaround libgc memory issues.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests)[inputs]:
Use "guile-3.0/libgc-7" instead of "guile" to workaround libgc memory issues.
2020-10-15 10:09:12 +02:00
Jan (janneke) Nieuwenhuizen 628b8a5292
Revert "hydra: build-machines: Add Guile 3.0.4 for the system profile of childhurds."
Since guix commit 1103f878054a3da5c579b1144defd0014abff775,
%base-packages/hurd specifies guile-3.0-latest.

This reverts commit cdef930632.
2020-10-11 09:09:09 +02:00
Ludovic Courtès cdef930632
hydra: build-machines: Add Guile 3.0.4 for the system profile of childhurds.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)
[childhurd-os](packages): New field.
2020-10-02 10:43:50 +02:00
Ludovic Courtès f85bd7cd55
hydra: build-machines: GC less on childhurds.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)[childhurd-os]:
Use CHILDHURD-GC-JOB, no GC-JOB.
[childhurd-gc-job]: GC at 2PM too.
2020-10-02 10:35:04 +02:00
Ludovic Courtès 4b21373528
hydra: build-machines: Give childhurds more RAM so they can build more.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)
<hurd-vm-configuration>: Increase 'memory-size' to 4 GiB.
2020-10-02 10:30:53 +02:00
Ludovic Courtès 263ad44831
hydra: Authorize berlin.guixsd.org keys on berlin.
* hydra/berlin.scm (childhurd-os) <openssh-configuration>: Authorize
"berlin.guixsd.org.pub", not "hydra.gnu.org.pub".
* hydra/build-machine.scm (%sysadmins): Likewise.
(%authorized-guix-keys): Authorize "berlin.guixsd.org-export.pub", not
"hydra.gnu.org-export.pub".
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)
[childhurd-os] <openssh-configuration>: Likewise.
[sysadmins]: Likewise.
2020-10-01 15:56:04 +02:00
Ludovic Courtès c123774b8e
hydra: build-machines: Explicitly import (ice-9 format).
* hydra/modules/sysadmin/build-machines.scm: Use (ice-9 format).
2020-10-01 15:56:04 +02:00
Mathieu Othacehe bf4e9ab303
hydra: services: Change the hurd image job name.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Change hurd image job
name to "hurd-barebones.qcow2".
2020-09-29 17:12:53 +02:00
Ludovic Courtès ff7df1dc0a
hydra: cleanup-cuirass-roots: Add *-image-dir.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Add
"-image-dir" suffix.
2020-09-26 22:26:24 +02:00
Jan (janneke) Nieuwenhuizen 068e1e7858
hydra: build-machines: Disable substitutes on Childhurd.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
[childhurd-os]<services>: Set (use-substitutes? #f) for guix-service-type.
2020-09-24 21:48:48 +02:00
Mathieu Othacehe c56767da9a
hydra: services: Enable Cuirass SQL logging.
* hydra/modules/sysadmin/services.scm (frontend-services): Enable Cuirass SQL
queries logging.
2020-09-24 11:31:22 +02:00
Jan (janneke) Nieuwenhuizen 4e43c8580e
hydra: build-machines: Add "hydra" user to Childhurd.
This enables offloading as user "hydra" to a childhurd.

* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
[childhurd-os]<users>: Add "hydra" user.
<services>: Modify openssh-service-type to set their SSH-key.
2020-09-23 18:25:09 +02:00
Ludovic Courtès 7fb3325cdc
hydra: cleanup-cuirass-roots: Remove *.iso.
This is a followup to Guix commit
0996fcc657593955845c2761d7eb0f656149fe11.

* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Add
".iso" suffix.
2020-09-20 15:11:01 +02:00
Jan (janneke) Nieuwenhuizen 37d2bcff49
hydra: build-machines: Use --cpu base for Childhurd.
Using --cpu base fixes booting the Hurd in QEMU with --enable-kvm.

* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)
[services]: : Override "options" field; keeping default "--snaphot"
and adding "--cpu" "base".
2020-09-17 08:31:24 +02:00
Ludovic Courtès 7fbe51143d
hydra: berlin: Define and use 'disk-space-watchdog-service-type'.
* hydra/modules/sysadmin/services.scm (disk-space-check)
(disk-space-mcron-jobs, disk-space-watchdog-service-type): New
variables.
* hydra/berlin.scm <services>: Use it.
2020-09-03 23:17:33 +02:00
Ludovic Courtès 974ef9834d
hydra: gwl: Use 'guix' instead of 'guile3.0-guix'.
* hydra/modules/sysadmin/web.scm (gwl-web-shepherd-service): Use 'guix'
instead of 'guile3.0-guix'.
2020-09-03 23:17:33 +02:00
Jan (janneke) Nieuwenhuizen 04c0fc1ea1
hydra/build-machines: Update childhurd-net-options for secret-service.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)
[childhurd-net-options]: Include secret-service local QEMU forwarding.
Use variables from (gnu services virtualization).
2020-09-02 07:54:25 +02:00
Jan (janneke) Nieuwenhuizen 35dd1de08f
hydra/build-machines: Oops, typo in childhurd-net-options.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)
[childhurd-net-options]: Remove stray dot from parameter list.
2020-09-02 07:54:25 +02:00
Mathieu Othacehe 45f9303c9f
build-machines: Allow concurrent jobs.
For now build machines have guix-daemon "--max-jobs" option unset, which means
that at most one job is allowed to be built by the daemon. By setting max-jobs
to 20, we should be able to make better use of berlin build-machines.

* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Add
max-jobs, max-cores and build-accounts-to-max-jobs-ratio arguments. Pass them
to "guix-configuration" record.
* hydra/berlin-nodes.scm: Adapt accordingly to allow at most 20 concurrent
jobs.
2020-08-05 10:39:56 +02:00
Ludovic Courtès a47ab3b77e
services: cleanup-cuirass-roots: Remove roots for "genimage.cfg".
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots)[handle-gc-root]:
Add "genimage.cfg" since it refers to "partition.img".
2020-07-26 15:59:16 +02:00
Ludovic Courtès d4baf6ea6a
services: cleanup-cuirass-roots: Remove roots for "partition.img".
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots)[handle-gc-root]:
Add "partition.img".
2020-07-22 00:35:55 +02:00
Ludovic Courtès 00d4ca69d6
services: cleanup-cuirass-roots: Add more candidate file names.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots)[handle-gc-root]:
Add "iso-image-installer" and "guix-binary.tar.xz".
2020-07-15 15:19:00 +02:00
Mathieu Othacehe c25447056b
sysadmin: web: Use latest Guile to generate the website.
* hydra/modules/sysadmin/web.scm (build-program): Use the latest Guile as we
are including Guix modules, which are compiled with a later Guile than the one
used by "program-file".
2020-07-06 11:39:30 +02:00
Jan (janneke) Nieuwenhuizen a47ab98077
hydra/berlin-nodes: Add Childhurd service to nodes 101, 102.
* hydra/modules/sysadmin/build-machines.scm (childhurd-ip?): New
procedure.
(berlin-new-build-machine-os): Add #:childhurd parameter.  If set, add
a Childhurd service.
* hydra/machines-for-berlin.scm (x86_64->childhurd): New procedure.
(x86_64): Use them to define childhurd offload machines.
* hydra/berlin-nodes.scm: Add Childhurd service to the first two
nodes.
2020-06-29 07:20:30 +02:00
Ludovic Courtès fc972528d9
hydra: services: Run Goggles in a UTF-8 locale.
* hydra/modules/sysadmin/services.scm (goggles-shepherd-services): Pass
 #:environment-variables to 'make-forkexec-constructor/container'.
2020-06-27 14:42:48 +02:00
Ludovic Courtès 4b23c09a11
hydra: services: /var/log/goggles.log is rotated.
* hydra/modules/sysadmin/services.scm (%goggles-log-rotations): New variable.
(goggles-service-type): Extend ROTTLOG-SERVICE-TYPE.
2020-06-27 14:15:27 +02:00
Ludovic Courtès 3ac9bfe5a5
hydra: services: Goggles services maps /var/www/.well-known/all-logs.
* hydra/modules/sysadmin/services.scm (%goggles-irc-log-directory): New
varaible.
(%goggles-activation): Create it and chmod it.
(goggles-shepherd-services): Add it to #:mappings.
2020-06-27 14:11:31 +02:00
Ludovic Courtès 5b61819f14
hydra: services: Run Goggles index job as user "goggles".
* hydra/modules/sysadmin/services.scm (goggles-mcron-jobs): Pass #:user.
2020-06-27 12:18:18 +02:00
Ludovic Courtès 19520372a2
hydra: services: Add an mcron job to update the Goggles index.
* hydra/modules/sysadmin/services.scm (goggles-mcron-jobs): New procedure.
(goggles-service-type): Extend MCRON-SERVICE-TYPE.
2020-06-26 17:49:43 +02:00
Ludovic Courtès 2bb7289f01
hydra: services: Goggles has access to its cache directory.
* hydra/modules/sysadmin/services.scm (%goggles-cache-directory)
(%goggles-activation): New variables.
(goggles-shepherd-services): Pass #:mappings to
'make-forkexec-constructor/container'.
(goggles-service-type): Extend ACTIVATION-SERVICE-TYPE.
2020-06-26 17:37:51 +02:00
Ludovic Courtès 6d3cd42d53
hydra: services: Add Goggles service.
* hydra/modules/sysadmin/services.scm (goggles, %goggles-accounts)
(goggles-shepherd-services, goggles-service-type): New variables.
2020-06-26 15:01:26 +02:00
Mathieu Othacehe d28529b4b3
hydra: services: Add hurd-barebones-disk-image to build products.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add
"hurd-barebones-disk-image" to "guix-master" specification build products.
2020-06-25 14:57:58 +02:00
Ludovic Courtès 289ae44ba7
sysadmin/web: Update to new 'update-cached-checkout' interface.
* hydra/modules/sysadmin/web.scm (build-program): Expect three value
from 'update-cached-checkout'.
2020-06-15 13:56:27 +02:00
Mathieu Othacehe 9b3918c355
services: cuirass: Set iso9660-image type.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Set iso9660-image build
output type to "ISO-9660". It will now be displayed by Cuirass in the Web
interface.
2020-06-14 13:04:50 +02:00
Mathieu Othacehe c8e4117b18
hydra: services: Add build output support to Cuirass.
Cuirass recently gained build output support. This means that it is possible
to indicate from the specifications which files from a job output should be
made available for download via the Web UI.

Use it to make ISO9660 images available for download.

* hydra/modules/sysadmin/services.scm (cuirass-specs): Add build-outputs
support.
2020-06-10 18:16:38 +02:00
Ricardo Wurmus f6c1ecaf0b
hydra/build-machines: Update serial console settings.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Update serial console settings in kernel arguments and agetty service.
2020-06-05 09:41:45 +02:00
Ricardo Wurmus 59b2db11a6
hydra/build-machines: Use Guile 3.0 load path.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Set global load path to Guile 3.0 directories.
2020-06-05 09:39:33 +02:00
Christopher Baines 9299aa53f8
hydra: services: Fix brackets in cuirass-specs.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Fix brackets.
2020-05-30 00:03:13 +01:00
Christopher Baines 9a202eabe2
hydra: services: Support selecting Cuirass specifications.
Support selecting specifications by branch, so that Bayfront can be
configured only to build master.

* hydra/modules/sysadmin/services.scm (cuirass-specs): Support
selecting specifications by branch.
(frontend-services): Add a #:branches parameter, and pass this to
cuirass-specs.
2020-05-28 20:45:51 +01:00
Ludovic Courtès 4eca21f4bd
hydra: berlin: Ensure we have 3 TiB free each day.
* hydra/modules/sysadmin/services.scm (%gc-jobs): Rename to...
(gc-jobs): ... this, and add a 'threshold' parameter.
(KiB, MiB, GiB, TiB): New variables.
(frontend-services): Add #:gc-threshold and pass it to 'gc-jobs'.
* hydra/berlin.scm (services): Pass #:gc-threshold.
2020-05-12 21:55:04 +02:00
Mathieu Othacehe 27d0f44b30
hydra: services: Add iso9660-image to cleanup-cuirass-roots.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Add
iso9660-image derivations to clean-up.

This is a follow-up of f19cf27c2b9ff92e2c0fd931ef7fde39c376adaa0..
2020-05-12 11:14:10 +02:00
Christopher Baines 56c87ce712
sysadmin/services: Make the build accounts ratio configurable.
So that bayfront can have more build accounts.

* hydra/modules/sysadmin/services.scm (guix-daemon-config): Add
 #:build-accounts-to-max-jobs-ratio as a parameter.
(frontend-services): Add #:build-accounts-to-max-jobs-ratio as a
parameter, and pass the value to guix-daemon-config.
2020-04-26 20:01:36 +01:00
Ricardo Wurmus 61656c1ff2
hydra: services: Delete all os and os-encrypted roots.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Replace
"-installed-os" and "-installed-os-encrypted" with "-os" and
"-os-encrypted".
2020-04-24 14:07:06 +02:00
Ludovic Courtès 4b01f03282
hydra: services: Add missing module to 'cleanup-cuirass-roots'.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Add (guix
derivations).
2020-04-24 12:08:37 +02:00
Ludovic Courtès aff8df6bf3
hydra: services: "cleanup-cuirass-roots" deletes roots for referrers.
* hydra/modules/sysadmin/services.scm (not-config?): New procedure.
(cleanup-cuirass-roots): Wrap gexp in 'with-extensions' and
'with-imported-modules'.
[root-target, derivation-referrers, delete-gc-root-for-derivation]: New
procedures.  Delete GC roots for the referrers of DELETED.
Arguments to 'file-system-fold' now preserve RESULT.
2020-04-24 11:55:21 +02:00
Ludovic Courtès 60aba43012
hydra: services: Accumulate the list of deleted files.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots)[handle-gc-root]:
Rename last argument to 'deleted'.  Cons FILE to DELETED when it's
actually deleted.
[deleted]: New variable.
Iterate over it to create "/gnu/big-stuff".
2020-04-24 10:56:29 +02:00
Ricardo Wurmus 224fedbef7
hydra/services: Remove roots for system tests and VM launch scripts.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Remove
roots ending on "-test" and "-run-vm.sh".
2020-04-23 08:10:26 +02:00
Ricardo Wurmus 8670d16e7d
hydra/services: Remove rottlog-service-type.
* hydra/modules/sysadmin/services.scm (frontend-services): Remove
rottlog-service-type as it is now included in the defaults.
2020-04-22 15:24:54 +02:00
Ricardo Wurmus 9356e3c940
hydra/services: cleanup-cuirass-roots: Collect file names.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Write
collected files to /gnu/big-stuff.
2020-04-22 15:24:16 +02:00
Ricardo Wurmus 8f484aa24c
hydra/services: cleanup-cuirass-roots: Delete more large files.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): Delete
more images and opaque archives.
2020-04-22 15:24:16 +02:00
Ricardo Wurmus 368c8ab616
sysadmin/web: Use Guile 3.0 variant of Guix for GWL.
* hydra/modules/sysadmin/web.scm (gwl-web-shepherd-service)[wrapped-guix]:
Wrap GWL execution in Guile 3.0 variant of Guix.
2020-03-15 21:26:18 +01:00
Ricardo Wurmus 64cb4ae13e
hydra: dns: Add monitor sub-domain.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add entry for
monitor.guix.gnu.org.
2020-03-15 15:42:15 +01:00
Ricardo Wurmus 1446549a6f
hydra: Use default GWL package.
* hydra/modules/sysadmin/web.scm (gwl-snapshot): Remove variable.
(gwl-web-service-type): Use gwl instead of gwl-snapshot.
2020-03-15 11:55:28 +01:00
Ricardo Wurmus 1d8c25fdf7
sysadmin/services: Use cuirass with disabled fibers tests.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests):
New variable.
(frontend-services)[services]: Use it.
2020-03-06 17:30:48 +01:00
Tobias Geerinckx-Rice e371ef6a95
hydra: dns: Fix bogus MNAME.
* hydra/modules/sysadmin/dns.scm (primary-ns): New variable.
(guix.gnu.org.zone, guix.gnu.org-zone): Use it.  Bump the serial number.
2020-02-28 03:04:13 +01:00
Ricardo Wurmus f2b32fa5d8
hydra: sysadmin: Remove old berlin OS procedure.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Remove procedure.
2020-02-27 12:52:26 +01:00
Ricardo Wurmus d5d410aad1
hydra: web: Update gwl-snapshot.
* hydra/modules/sysadmin/web.scm (gwl-snapshot): Update to
0.2.0-0.bb85943; inherit from gwl package.
2020-02-16 15:56:41 +01:00
Ludovic Courtès 4a2cd81ff8
hydra: services: Remove GC roots for *-installation.
Reported by Christopher Baines <mail@cbaines.net>.

* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots):
Remove *-installation in addition to *-disk-image.
2020-02-11 16:53:47 +01:00
Ludovic Courtès 14034ebaff
hydra: services: Double the number of build accounts.
* hydra/modules/sysadmin/services.scm (guix-daemon-config): Set
'build-accounts' to 4 times MAX-JOBS.  Bayfront without offloading was
hitting its max number of build users.
2020-01-27 11:20:37 +01:00
Ricardo Wurmus 16dd24187a
hydra: build-machines: Add configuration for new build nodes.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
New procedure.
2019-12-20 20:04:15 +01:00
Christopher Baines f3880ad3fd
hydra: dns: Change "data" to point at a new IP address.
This is a machine run by Hetzner, managed by Christopher Baines. It
currently runs an instance of the Guix Data Service.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Change "data" to
point at 78.47.68.4, and update the serial.
2019-12-16 22:06:31 +00:00
Ludovic Courtès f7ecef676e
berlin: build-machines: Fix typo.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Unquote-splice 'modify-services' form.
2019-11-19 12:30:57 +01:00
Ludovic Courtès f2303c3a9a
berlin: build-machines: Enable 'qemu-binfmt' on the first 10 machines only.
This matches what 'machines-for-berlin.scm' says.

* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Add #:emulated-architectures.  Add 'qemu-binfmt-service' only when
EMULATED-ARCHITECTURES is non-empty.
* hydra/berlin-nodes.scm (system-for): Pass #:emulated-architectures to
'berlin-build-machine-os'.
2019-11-19 12:28:00 +01:00
Ludovic Courtès a01f899735
berlin: build-machines: Refer to SSH keys with 'local-file'.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os)
[hydra-dir, maintenance-file]: Remove.
[sysadmins]: Use 'local-file' instead.
2019-11-19 12:28:00 +01:00
Ludovic Courtès 553d2fb008
berlin: build-machines: Have 90 GiB free instead of 60 GiB.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os)[gc-job]:
Collect 90 GiB.
2019-11-19 12:28:00 +01:00
Ricardo Wurmus 16c4bd7162
sysadmin/web: gwl-snapshot: Update to 0.1.1-2.551ec2f.
* hydra/modules/sysadmin/web.scm (gwl-snapshot): Update to
0.1.1-2.551ec2f.
2019-10-22 05:43:42 +02:00
Ricardo Wurmus 5ed79379f8
services: web: Update to newer GWL snapshot.
* hydra/modules/sysadmin/web.scm (gwl-snapshot): Upgrade to
0.1.1-1.e402b3a.
[source]: Remove snippet.
[arguments]: Re-enable tests.
2019-09-28 01:07:24 +02:00
Ludovic Courtès 8e7e08721c
services: web: Log the output of GWL service.
* hydra/modules/sysadmin/web.scm (gwl-web-shepherd-service): Pass
 #:log-file to 'make-forkexec-constructor/container'.  Fix
'documentation'.
2019-09-26 18:47:19 +02:00
Ludovic Courtès b871e296af
services: web: Have GWL's logo installed.
* hydra/modules/sysadmin/web.scm (gwl-snapshot)[source](snippet): Ensure
"logo.png" is installed.
2019-09-26 18:46:29 +02:00
Ludovic Courtès 52e2620436
berlin: Run a service for the GWL web site.
* hydra/modules/sysadmin/web.scm (gwl-snapshot): New variable.
(gwl-web-shepherd-service): New procedure.
(%gwl-web-accounts, gwl-web-service-type): New variables.
* hydra/berlin.scm (services): Add 'gwl-web-service-type' instance.
2019-09-25 23:49:43 +02:00
Christopher Baines 464e501706
hydra: dns: Add "data" to point at milano-guix-1.
* hydra/modules/sysadmin/dns.scm (milano-guix-1-ip4): New variable.
(guix.gnu.org.zone): Add "data" to point at milano-guix-1, and update
the serial.
2019-09-07 21:24:00 +02:00
Ludovic Courtès cf24fed162
hydra: dns: Remove bogus AAAA records for berlin.
* hydra/modules/sysadmin/dns.scm (berlin-ip6): Remove.  This was a
link-local address that should not be advertised.
(guix.gnu.org.zone): Remove AAAA records for BERLIN-IP6.
(guix.gnu.org-zone): Update serial number.
2019-09-02 15:12:38 +02:00
Ludovic Courtès 8c5258c72f
hydra: web: Do not capture (%repository-cache-directory) at build time.
This is a followup to af97a34c50.

Previously we were capturing (%repository-cache-directory) upon 'guix
system reconfigure', meaning it was always "/root/.cache/…".

* hydra/modules/sysadmin/web.scm (build-program)[build]: When
CACHE-DIRECTORY is true, prepend (%repository-cache-directory).
* hydra/berlin.scm: Remove 'cache-directory' field for
"/srv/guix-manual".  Change the 'cache-directory' field of
"/srv/guix-manual-devel" to a relative file name.
2019-08-26 23:28:11 +02:00
Ludovic Courtès ad69d52031
hydra: web: Fix typo.
Typo introduced in af97a34c50.

* hydra/modules/sysadmin/web.scm (build-program): Fix typo in
ungexp-splicing syntactic sugar.
2019-08-26 23:10:59 +02:00
Julien Lepiller af97a34c50
hydra: Fix devel manual generation.
* hydra/modules/sysadmin/web.scm (static-web-site-configuration): Allow to
pass a custom cache directory.
(static-web-site-mcron-jobs): Pass it to build-program.
(build-program): Accept a cache-directory argument and use it to
customize the name of the checkout directory.
* hydra/berlin.scm (static-web-site-service-type): Use a custom cache-directory
for the manuals of both stable and 'master' releases.
2019-08-26 19:21:55 +02:00
Ludovic Courtès 398bb88128
hydra: services: Increase the TTL for Cuirass.
* hydra/modules/sysadmin/services.scm (frontend-services)[cuirass-configuration]:
Increase TTL.
2019-08-16 11:33:10 +02:00
Ludovic Courtès f45766df83
hydra: services: Keep fewer disk images, and increase GC threshold.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots)[old?]:
Change to 5 days.
(%gc-jobs): Change to 800G free per day.
2019-08-16 11:33:10 +02:00
Chris Marusich b06496fdc0
hydra: dns: Flip ci to berlin.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone) [ci]: Change this
to an A record holding the berlin-ip4 address.
(guix.gnu.org-zone) [serial]: Increment it.
2019-07-31 19:42:41 -07:00
Chris Marusich 6ed1571c76
hydra: dns: Fix CAA records for guix.gnu.org.
Before this change, we could not renew our letsencrypt certificates.
After this change, we should be able to renew them again.

Reported by nckx and Ricardo Wurmus <rekado@elephly.net>.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone) <@>: Replace the
string "letsencrypt" with "letsencrypt.org".
(guix.gnu.org-zone): Increase the zone's serial to 2019072122.
2019-07-21 15:05:59 -07:00
Ricardo Wurmus 72dafe31d0
hydra: build-machines: Fix configuration of mcron-service-type.
This is a follow-up to commit
44674b7044.

* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Pass mcron-configuration to mcron-service-type.
2019-07-17 12:24:24 +02:00
Ludovic Courtès 0de0c4c06a
hydra: web: Add an 'environment-variables' field.
* hydra/modules/sysadmin/web.scm (build-program): Add
 #:environment-variables parameter and honor it.
(<static-web-site-configuration>)[environment-variables]: New field.
(static-web-site-mcron-jobs): Pass #:environment-variables to
'build-program'.
2019-07-12 15:10:35 +02:00
Ludovic Courtès 44674b7044
hydra: build-machines: Use non-deprecated forms for services.
* hydra/modules/sysadmin/build-machines.scm (build-machine-os): Use
'file-system-label' instead of (title 'label).  Use the 'service' form
instead of 'dhcp-client-service' and 'mcron-service'.
(berlin-build-machine-os): Likewise.
2019-07-11 14:56:08 +02:00
Ludovic Courtès 1b87fa45f6
hydra: web: Add 'static-web-site-service-type'.
* hydra/modules/sysadmin/web.scm (build-program): Add #:file, #:ref, and
 #:name parameters, and honor them.
(<static-web-site-configuration>): New record type.
(static-web-site-mcron-jobs, static-web-site-activation)
(static-web-site-accounts): New procedures.
(static-web-site-service-type): New variable.
2019-07-11 14:56:08 +02:00
Ludovic Courtès abe479d057
hydra: Add (sysadmin web) module.
* hydra/modules/sysadmin/web.scm: New file.
2019-07-04 15:00:28 +02:00
Ricardo Wurmus 2a4ca35ba4
hydra: bayfront: Add logs.guix.gnu.org.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Point "logs" to
bayfront.
* hydra/nginx/bayfront.conf: Add server block for logs.guix.gnu.org.
2019-06-26 15:41:21 +02:00
Ludovic Courtès a314075dc0
hydra: services: Fix typo in mcron job.
* hydra/modules/sysadmin/services.scm (%gc-jobs): Add missing quote.
2019-06-17 00:23:50 +02:00
Ludovic Courtès 9304c110af
hydra: services: Add 'cleanup-cuirass-roots' job.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots): New
variable.
(%gc-jobs): Use it.
2019-06-16 17:58:32 +02:00
Ludovic Courtès 09d2d32773
hydra: dns: Remove "qualif.ci".
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Remove
"qualif.ci."
(guix.gnu.org-zone): Increment 'serial'.
2019-06-11 10:51:36 +02:00
Ludovic Courtès 993d33d7e9
hydra: Enable lzip support for 'guix publish'.
* hydra/modules/sysadmin/services.scm (frontend-services)
<guix-publish-configuration>: Add 'compression' field.
* hydra/berlin.scm: Pass #:publish-workers to 'frontend-services'.
2019-06-11 10:12:22 +02:00
Ludovic Courtès a9bf0d3888
hydra: dns: Update serial.
This is a followup to d717f5b8c9.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org-zone): Update 'serial'.
2019-06-04 10:17:07 +02:00
Ludovic Courtès d717f5b8c9
hydra: dns: Add "qualif.ci.guix.gnu.org".
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add "qualif.ci".
2019-06-04 10:07:28 +02:00
Chris Marusich 1544d72454
hydra: dns: Flip ci to CloudFront.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone) <ci>: Change this
CNAME record's value to d1aw3orh0yrgph.cloudfront.net.
(guix.gnu.org-zone) <serial>: Increment it.
2019-06-01 00:23:26 -07:00
Chris Marusich 6f9c55cc74
hydra: dns: Flip ci to berlin.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone) <ci>: Change this
to an A record with berlin's address.
(guix.gnu.org-zone) <serial>: Increase it.
2019-05-17 21:44:04 -07:00
Ludovic Courtès ce0663db3b
hydra: dns: Fix CNAME typo.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add missing dot
for cloudfront name.  Increment serial.
2019-05-02 09:11:29 +02:00
Chris Marusich 9eaec166ef
hydra: dns: Flip ci to CloudFront.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone) <ci>: Change this
CNAME record's value to d1aw3orh0yrgph.cloudfront.net
(guix.gnu.org-zone) <serial>: Increment it.
2019-05-01 17:27:33 -07:00
Ludovic Courtès 82c9ae6459
hydra: dns: Update serial number for guix.gnu.org.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org-zone): Update 'serial'.
2019-05-01 23:45:04 +02:00
Chris Marusich 5deda26806
hydra: dns: Add CAA records for guix.gnu.org.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone) <@>: Add CAA
records allowing "letsencrypt", "amazon.com", "amazontrust.com",
"awstrust.com", and "amazonaws.com" to issue certificates.  This was
not required for the guix.info zone because it lacked CAA records, but
the gnu.org zone already has a CAA record, so here it is required.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-01 22:49:02 +02:00
Ludovic Courtès 49c30276eb
hydra: berlin: Remove unused nginx config files.
These were unused since commit
a94e1be874.

* hydra/nginx/berlin-locations.conf,
hydra/nginx/berlin.conf: Remove.
* hydra/modules/sysadmin/services.scm (frontend-services): Add
NGINX-SERVICE-TYPE only when NGINX-CONFIG-FILE is true.
* hydra/berlin.scm (services): Remove #:nginx-config-file argument to
'frontend-services'.
2019-05-01 18:00:24 +02:00
Ludovic Courtès 839d41e3ec
hydra: dns: Add NS entries pointing to ns[1-4].gnu.org.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add NS entries.
2019-05-01 17:36:31 +02:00
Ludovic Courtès fc6111bfc1
hydra: dns: Add "issues" and change guix.gnu.org to point to berlin.
* hydra/modules/sysadmin/dns.scm (berlin-ip6): New variable.
(guix.gnu.org.zone): Change "@" to point to berlin rather than gnu.org.
Add "issues" A and AAAA records.
2019-05-01 12:30:44 +02:00
Ludovic Courtès 5411cfde26
hydra: dns: Re-add "ci.guix.gnu.org".
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Re-add "ci" CNAME.
2019-05-01 12:23:42 +02:00
Chris Marusich 220e8284d0
hydra: dns: Fix ACM certificate validation record.
ACM requires us to create a CNAME under ci.guix.gnu.org to prove
domain ownership.  It does not require ci.guix.gnu.org itself to be a
CNAME; we can make ci.guix.gnu.org whatever we want.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone) <ci>: Remove this
CNAME record.
<_82c0b5947777eb0bee604d5d2061d85f.ci>: New CNAME.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2019-05-01 08:48:30 +02:00
Ludovic Courtès 627df08cfe
hydra: dns: Remove "ns1" and "ns2" NS records.
Suggested by Rubén Rodriguez.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Remove "ns1" and
"ns2" NS records.  That way, gnu.org can answer for us.
2019-04-30 23:29:48 +02:00
Ludovic Courtès d39875d385
hydra: dns: Increment serial number.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org-zone): Increment 'serial'.
2019-04-30 21:31:44 +02:00
Ludovic Courtès 2c93cbb8ad
hydra: dns: ci.guix.gnu.org points to Cloudfare.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Change the "ci"
CNAME to point to Cloudfare.
2019-04-30 21:30:27 +02:00
Ludovic Courtès 0805c73a01
hydra: dns: Fix module name.
* hydra/modules/sysadmin/dns.scm: Fix knot module name.
2019-04-26 22:20:22 +02:00
Julien Lepiller fce917f16e
hydra: Add dns services for guix.gnu.org.
* hydra/bayfront.scm (services): Add knot-service.
* hydra/berlin.scm (services): Add knot-service.
* hydra/modules/sysadmin/dns.scm: New file.
2019-04-26 16:08:10 +02:00
Ricardo Wurmus f1091b4d29
hydra: sysadmin: Remove deprecated bootloader configuration.
* hydra/modules/sysadmin/build-machines.scm (build-machine-os): Use
new bootloader configuration.
2019-01-29 09:27:52 +01:00
Ricardo Wurmus 20c024f7f9
hydra: sysadmin: Collect more garbage and more often.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Collect garbage every 12 hours; ensure that we have 60G free.
2019-01-28 22:29:06 +01:00
Ricardo Wurmus a4b979880b
hydra: sysadmin: Permit root login from head node.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os)[services]:
Pass extra content to enable root login from head node.
2019-01-17 18:16:34 +01:00
Ricardo Wurmus 80d8b68967
hydra: sysadmin: Enable Guix support in qemu-binfmt-service-type.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os)[services]:
Add "guix-support?" option.
2019-01-17 18:16:34 +01:00
Ludovic Courtès 4354565ae6
hydra: Update Cuirass config to latest Guix changes.
This is a followup to Guix commit
b5f8c2c88543158e8aca76aa98f9009f6b9e743a.  Since evaluation now takes
place in an inferior, it's important that the Guix that builds that
inferior has no interference from the Guix-to-build; IOW, we must not
add the Guix-to-build to the load path.  Failing to do that can lead to
errors such as patches not found, due to a faulty %PATCH-PATH that
refers to the Guix-to-build.

* hydra/modules/sysadmin/services.scm (cuirass-specs): Set
 #:load-path-inputs to the empty list for all the job sets.
2019-01-14 10:33:04 +01:00
Ricardo Wurmus 846f1d103c
hydra: Add ntp-service for berlin build nodes.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Add ntp-service.
2019-01-01 12:17:28 +01:00
Ricardo Wurmus 9db57468e8
hydra: sysadmin: Add qemu-binfmt-service-type.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Add qemu-binfmt-service-type for arm and aarch64 to services.
2018-12-30 08:25:50 +01:00
Ricardo Wurmus 3e9645280d
hydra: berlin-build-machine-os: Do not ask for list of sysadmins.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Do not request list of sysadmins.
2018-12-30 08:15:12 +01:00
Ricardo Wurmus a182a57acd
hydra: sysadmin: Add zabbix-agent to build nodes.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Enable zabbix-agent service.
2018-12-29 17:04:08 +01:00
Ludovic Courtès e33d3fdc92
hydra: services: Reduce daemon build timeouts.
* hydra/modules/sysadmin/services.scm (guix-daemon-config): Reduce
'max-silent-time' and 'timeout'.
2018-12-28 22:32:09 +01:00
Ricardo Wurmus da9c2e0583
hydra: sysadmin: Use the new 'initrd-modules' field.
* hydra/modules/sysadmin/build-machines.scm (initrd): Remove.
(initrd-modules): New field.
2018-12-25 10:20:04 +01:00
Ludovic Courtès 213556aef7
hydra: services: Use a 90-day TTL for 'guix publish'.
* hydra/modules/sysadmin/services.scm (frontend-services): Increase
default NAR-TTL to 90 days.  See Cuirass 'ttl' to a third of NAR-TTL.
* hydra/bayfront.scm: Pass #:nar-ttl to 'frontend-services'.
2018-11-17 18:05:49 +01:00
Ludovic Courtès a2682788c0
hydra: services: Keep Cuirass GC roots for 20 days.
* hydra/modules/sysadmin/services.scm (frontend-services): Specify a
20-day TTL for Cuirass GC roots.
2018-11-07 16:17:34 +01:00
Ludovic Courtès 36f5b0a92b
hydra: services: Add a second GC job after 12 hours.
* hydra/modules/sysadmin/services.scm (%gc-job): Rename to...
(%gc-jobs): ... this.  Add a job at 4PM.
(frontend-services): Adjust accordingly.
2018-11-07 16:17:28 +01:00
Ludovic Courtès 72bbee89c9
hydra: services: Fix "guix-modular-master" spec.
"build-aux/cuirass/guix-modular.scm" is designed to *not* rely on the
latest Guix modules.  Adding those to its load path led it to require
guile-gcrypt, which would fail if the host system did not have it
installed.

* hydra/modules/sysadmin/services.scm (cuirass-specs): For
"guix-modular-master", keep #:load-path-inputs empty.
2018-09-05 12:17:24 +02:00
Clément Lassieur 641b9750c3
hydra: services: Fix Cuirass configuration.
* hydra/modules/sysadmin/services.scm (guix-input): Take a NAME argument.
(cuirass-specs): Use the correct input names.  Rename '#:proc-arguments' to
'#:proc-args'.  Add specifications for the "staging" and "core-updates"
branches.  Add missing '#:load-path-inputs' and '#:package-path-inputs'
fields.
2018-07-20 20:10:28 +02:00
Ludovic Courtès ff4f32ae2e
hydra: services: Another typo.
* hydra/modules/sysadmin/services.scm (guix-input): #:optional, not #:key.
2018-07-20 18:41:33 +02:00
Ludovic Courtès aa78d83711
hydra: services: Fix typo.
* hydra/modules/sysadmin/services.scm (cuirass-specs): ungexp call to
'gexp-input'.
2018-07-20 18:39:54 +02:00
Ludovic Courtès 02f99dbaf2
hydra: services: Adjust Cuirass config to latest Cuirass.
* hydra/modules/sysadmin/services.scm (guix-input): New procedure.
(cuirass-specs): Adjust accordingly.
2018-07-20 18:32:53 +02:00
Clément Lassieur 59bd04c0ae
hydra: berlin: Fix the 'no-compile?' specification field.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Replace the
'#:no-compile?' pair with a dotted pair.
2018-06-26 15:11:05 +02:00
Ludovic Courtès 4e199181bc
hydra: berlin: Add the "guix-modular" jobset.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add
"guix-modular".
2018-06-07 12:12:28 +02:00
Ludovic Courtès 039b1832aa
hydra: Use the build job specification from Guix.
This was possible since Guix commit
66bc1d2aaf74fc7eb4ef9b3519c69bd37142ffb3.

* hydra/modules/sysadmin/services.scm (%cuirass-specs): Rename to...
(cuirass-specs): ... this.  Make it a procedure.  Change the
configuration to use "build-aux/cuirass/gnu-system.scm" and pass
'systems' in #:arguments.
(frontend-services): Add #:systems and adjust accordingly.
* hydra/berlin-new.scm <top level>: Pass #:systems to
'frontend-services'.
2018-02-18 01:25:58 +01:00
Ludovic Courtès 8137597187
hydra: berlin: Set max-jobs to 20.
* hydra/modules/sysadmin/services.scm (guix-daemon-config): Add
'build-accounts' field.
* hydra/berlin-new.scm <top level>: Pass #:max-jobs.
2018-01-22 16:22:24 +01:00
Ludovic Courtès d3de8c34b4
hydra: Factorize front-end config in (sysadmin services).
* hydra/modules/sysadmin/services.scm: New file.
* hydra/bayfront.scm: Use it.
(%gc-jobs, %certbot-job, %guix-daemon-config, start-firewall)
(firewall-service, %nginx-mime-types, %nginx-cache-activation)
(%cuirass-specs): Remove.
<top level>: Trim 'services' list and use 'frontend-services'.
* hydra/berlin.scm: Likewise.
* hydra/berlin-new.scm: Likewise.
2018-01-19 10:56:00 +01:00
Ricardo Wurmus 9a60b9069c
hydra: Add missing module imports.
* hydra/modules/sysadmin/build-machines.scm: Use (gnu bootloader)
and (gnu bootloader grub) modules.
2017-11-25 22:33:30 +01:00
Ricardo Wurmus f8ef1cdaaa
hydra: berlin-build-machine-os: Use new network settings.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Use new network settings for build nodes.
2017-11-25 17:35:52 +01:00
Ricardo Wurmus b1ae38aefb
hydra: berlin-build-machine-os: Use bootloader-configuration.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Use bootloader-configuration.
2017-11-25 17:35:52 +01:00
Ricardo Wurmus 12dcd5fecb
hydra: Set GUILE_LOAD_COMPILED_PATH globally.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os)[services]:
Set GUILE_LOAD_COMPILED_PATH globally.
2017-08-25 03:45:00 +02:00
Ricardo Wurmus e7d1f9b322
hydra: Use current system's Guile for load path.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Use /run/current-system/profile/share/guile/site/2.2 for load path.
2017-08-24 11:54:23 +02:00
Ricardo Wurmus 573b47327a
hydra: Load (gnu packages guile).
* hydra/modules/sysadmin/build-machines.scm: Load (gnu package guile)
for environment service.
2017-08-24 11:48:54 +02:00
Ricardo Wurmus 5f138313b3
hydra: Fix typo.
* hydra/modules/sysadmin/build-machines.scm: Fix module import typo.
2017-08-24 11:47:18 +02:00
Ricardo Wurmus e78d175c30
hydra: Set Guile load path in global environment.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
Add service to set GUILE_LOAD_PATH globally.
2017-08-24 11:24:55 +02:00
Ricardo Wurmus 5753635235
hydra: Add procedure berlin-build-machine-os.
* hydra/modules/sysadmin/build-machines.scm (berlin-build-machine-os):
New procedure.
2017-08-24 10:56:12 +02:00
Ludovic Courtès ee45ed65ca
hydra: Switch from lsh to OpenSSH.
* hydra/keys/lsh: Remove.
* hydra/keys/ssh: New directory, with keys from 'hydra/keys/lsh'
converted with 'lsh-export-key --openssh'.
* hydra/modules/sysadmin/people.scm (<sysadmin>)[lsh-public-key]: Rename
to 'ssh-public-key'.
(sysadmin-lsh-authorization): Remove.
(sysadmin->authorized-key): New procedure.
(sysadmin-service-type)[extensions]: Remove extension of
ACTIVATION-SERVICE-TYPE.  Extend OPENSSH-SERVICE-TYPE.
* hydra/modules/sysadmin/build-machines.scm (build-machine-os): Use
OPENSSH-SERVICE-TYPE instead of 'lsh-service'.
* hydra/bayfront.scm (%sysadmins): Adjust to new 'ssh-public-key' field.
<services>: Use OPENSSH-SERVICE-TYPE instead of 'lsh-service'.
* hydra/berlin.scm (%sysadmins): Adjust to new 'ssh-public-key' field.
<services>: Use OPENSSH-SERVICE-TYPE instead of 'lsh-service'.
* hydra/build-machine.scm (%sysadmins): Adjust to new 'ssh-public-key'
field.
2017-07-30 16:25:19 +02:00
Ludovic Courtès 66a0593dd0
hydra: Add sysadmin support modules. 2016-08-19 09:08:52 +02:00