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

1094 commits

Author SHA1 Message Date
Ludovic Courtès
8ed8a5c32f
hydra: berlin: Run rsync in daemon mode.
* hydra/berlin.scm (%rsync-modules-for-backup): New variable.
<services>: Add 'rsync-service-type' instance.
* hydra/website.scm (website-services): Add comment about the Cuirass
and GWL web sites.
2021-12-21 16:38:14 +01:00
Ludovic Courtès
275a2ac393
hydra: Factorize berlin's 'wireguard-peer' record.
* hydra/dover.scm (berlin-peer): Remove.  Use BERLIN-WIREGUARD-PEER
instead.
* hydra/modules/sysadmin/honeycomb.scm (berlin-peer): Likewise.
* hydra/modules/sysadmin/overdrive.scm (berlin-peer): Likewise.
* hydra/bayfront.scm: Use BERLIN-WIREGUARD-PEER instead of the inline
definition.
* hydra/modules/sysadmin/services.scm (berlin-wireguard-peer): New
variable.
2021-12-21 16:37:35 +01:00
Mathieu Othacehe
6a0348a52e
bayfront: Use substitutes from berlin.
* hydra/bayfront.scm: Use them.
2021-12-21 16:27:22 +01:00
Mathieu Othacehe
fe3d18fc2e
berlin: Add bayfront to Wireguard peers.
* hydra/berlin.scm: Add bayfront to Wireguard peers.
2021-12-21 16:14:52 +01:00
Mathieu Othacehe
969c0b5594
hydra: bayfront: Add Wireguard service.
* hydra/bayfront.scm: Add Wireguard service.
* doc/cuirass.org (External machines): Update it.
2021-12-21 15:55:40 +01:00
Christopher Baines
8a7e2006fe
hydra: dns: Add IPv6 entries for bayfront.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add IPv6 entries
for bayfront.
2021-12-21 14:40:22 +00:00
Christopher Baines
0c863b4457
hydra: bayfront: Have NGinx listen via IPv6 as well as IPv4.
This means that when the relevant AAAA records are added, these sites
will be available over IPv6.

* hydra/bayfront.scm (%hpc.guix.info-nginx-servers,
%guix-hpc.bordeaux.inria.fr-nginx-servers,
%coordinator.bayfront.guix.gnu.org-nginx-servers,
%bayfront.guix.gnu.org-nginx-servers,
%bordeaux.guix.gnu.org-nginx-servers): Listen on IPv6 as well as IPv4.
2021-12-21 14:40:21 +00:00
Christopher Baines
df9649a56f
hydra: bayfront: Update static networking configuration.
* hydra/bayfront.scm (services): Update the static networking
configuration to the new style, and add the IPv6 config.
2021-12-21 13:56:43 +00:00
Christopher Baines
fcb31b2cd9
hydra: bayfront: Use the Nar Herder for bordeaux.guix.gnu.org.
This changes were made last week.

This commit switches from serving narinfo files directly from the
disk, and instead has NGinx forward those requests to the
nar-herder. For nar requests, NGinx will check the local storage, and
if the nar isn't there, it'll forward the requests to
lakefront.cbaines.net. Additionally, the nars are now cached by
NGinx. The Guix Build Coordinator configuration is changed to call the
nar-herder to import new nars.

* hydra/bayfront.scm: Adapt the NGinx and Guix Build Coordinator
configuration for the introduction of the Nar Herder.
2021-12-21 11:45:18 +00:00
Christopher Baines
4a88734229
hydra: bayfront: Use 8 worker processes for NGinx.
This increases the number of concurrent requests it can handle.

* hydra/bayfront.scm (services): Alter the nginx-configuration to run
8 worker processes.
2021-12-21 11:42:21 +00:00
Mathieu Othacehe
8250a46b2f
hydra: bayfront: Build Guix websites.
* hydra/bayfront.scm: Build Guix websites.
2021-12-21 12:26:09 +01:00
Mathieu Othacehe
85524046b5
hydra: Create a website module.
Factorize website services in a single (website) module so that they can be
hosted by multiple nodes for redundancy.

* hydra/website.scm: New file.
* hydra/berlin.scm: Use it.
2021-12-21 12:05:00 +01:00
Christopher Baines
6fa9a3ff00
hydra: bayfront: Stop serving nars through bayfront.guix.gnu.org.
This is partially duplicating the behaviour of the NGinx configuration
for bordeaux.guix.gnu.org. For maintainability, I think it's worth now
switching to just having bordeaux.guix.gnu.org serve nars. This also
enables getting guix publish back running on bayfront.guix.gnu.org if
that's something that's wanted.

* hydra/bayfront.scm (%bayfront.guix.gnu.org-nginx-servers): Remove
substitute serving related configuration.
2021-12-21 10:43:43 +00:00
Christopher Baines
15644d4a7d
hydra: bayfront: Fix the Guix Build Coordinator agent configuration.
Use bordeaux.guix.gnu.org rather than bayfront.guix.gnu.org for non
derivation substiutes, as this is the proper domain to use.

* hydra/bayfront.scm (services): Change non-derivation-substitute-urls
within the guix-build-coordinator-agent-configuration to
https://bordeaux.guix.gnu.org.
2021-12-21 10:40:33 +00:00
Christopher Baines
fc8b8cb0ec
hydra: bayfront: Tweak guix-daemon configuration.
Drop --max-jobs to 1, but increase --cores to 16. Since the
guix-build-coordinator-agent is only running 1 build at a time, this
might make things a little faster.

* hydra/bayfront.scm (services)[guix-configuration]: Change --max-jobs
to 1 and --cores to 16.
2021-12-21 10:37:35 +00:00
Ricardo Wurmus
f798beb242
hydra: Add berlin node 130.
* hydra/berlin-nodes.scm (nodes): Add record for node 130.
2021-12-20 23:51:01 +01:00
Ludovic Courtès
b4697b9499
hydra: bayfront: Update comment about IPv6 connectivity.
* hydra/bayfront.scm: Update comment about IPv6 connectivity.
2021-12-20 15:56:23 +01:00
Ricardo Wurmus
af72899a3a
sysadmin: Disable SSH password authentication.
* hydra/modules/sysadmin/services.scm (frontend-services): Disable
password authentication for openssh-service-type.
2021-12-19 14:29:06 +01:00
Ricardo Wurmus
9a60c45f86
hydra: honeycomb: Permit root login from head node.
* hydra/modules/sysadmin/honeycomb.scm
<services>[openssh-service-type]: Permit root login from .131.
2021-12-19 10:11:49 +01:00
Ricardo Wurmus
45cdd0abdf
hydra: Do not emulate ARM on x86_64 berlin nodes.
* hydra/berlin-nodes.scm: Remove "arm" and "aarch64" from emulated
architectures.
2021-12-18 23:00:48 +01:00
Mathieu Othacehe
ffb5e62784
hydra: berlin: Fix static networking service.
Fix the following error:

service networking provided more that once

by using a single static-networking record for both interfaces.

* hydra/berlin.scm: Fix the static networking service.
2021-12-15 14:55:41 +01:00
Christopher Baines
ea39220eb7
hydra: bayfront: Update the substitute-urls.
bordeaux.guix.gnu.org is the canonical name now.

* hydra/bayfront.scm (services): Update the guix-service-type
substitute-urls.
2021-12-13 10:12:48 +00:00
Tobias Geerinckx-Rice
4117d547d8
Revert unstaged parts from berlin.
This reverts parts of commit 2ec0a03774.
2021-12-10 18:37:34 +01:00
Tobias Geerinckx-Rice
2ec0a03774
hydra: berlin: Serve a restrictive robots.txt.
* hydra/nginx/berlin.scm (publish-robots.txt): New variable.
(publish-locations): Add a new nginx location to serve it to crawlers.
2021-12-10 18:20:52 +01:00
Mathieu Othacehe
287f1707a3
hydra: Move grunewald and kreuzberg to the berlin key directory.
Only the keys from the berlin directory are authorized in the %build-node-keys
procedure.

* hydra/keys/guix/grunewald.rekado.pub: Move it to the berlin directory.
* hydra/keys/guix/kreuzberg.rekado.pub: Move it to the berlin directory.
2021-12-06 12:25:32 +01:00
Ludovic Courtès
5e06b5d8b5
sysadmin: web: Jobs run at most for the duration of their period.
* hydra/modules/sysadmin/web.scm (build-program): Add #:max-duration
parameter.
[build]: Add calls to 'sigaction' and 'alarm'.  Add some logging.
(static-web-site-mcron-jobs): Pass #:max-duration to 'build-program'.
2021-12-03 12:48:05 +01:00
Mathieu Othacehe
dd41159f75
Increase GC threshold.
* hydra/berlin.scm: Increase the GC threshold to 15TiB.
2021-12-03 10:46:07 +01:00
Mathieu Othacehe
353e955dc3
hydra: Disable ARM emulation.
* hydra/berlin-nodes.scm: Disable armhf-linux and aarch64-linux system
emulation on build nodes.
2021-12-03 10:46:07 +01:00
Ricardo Wurmus
6ba859f2fd
hydra: honeycomb: Increase number of build accounts to 50.
* hydra/modules/sysadmin/honeycomb.scm: Set build-accounts in
guix-configuration to 50.
2021-11-29 11:53:59 +01:00
Ricardo Wurmus
f3b1e8e253
hydra: Add new aarch64 build node "grunewald" (honeycomb lx2).
* hydra/berlin.scm: Add wireguard-peer.
* hydra/deploy-honeycomb.scm: Add machine record for "grunewald".
* hydra/keys/guix/berlin/grunewald.rekado.pub: New file.
2021-11-27 09:44:17 +01:00
Ricardo Wurmus
67c48c625e
hydra: Add deployment file for honeycomb build nodes.
* hydra/deploy-honeycomb.scm: New file.
2021-11-26 18:51:37 +01:00
Ricardo Wurmus
01eb14c933
hydra: Add new aarch64 build node "kreuzberg" (honeycomb lx2).
* hydra/berlin.scm: Add wireguard-peer.
* hydra/keys/guix/berlin/kreuzberg.rekado.pub: New file.
2021-11-26 18:42:13 +01:00
Ricardo Wurmus
738f76c611
hydra: honeycomb: Increase cuirass remote workers to 4.
* hydra/modules/sysadmin/honeycomb.scm <services>: Increase workers in
cuirass-remote-worker-configuration to 4.
2021-11-26 15:43:22 +01:00
Ricardo Wurmus
55c32489cc
hydra: honeycomb: Add keep-alive value for berlin-peer.
* hydra/modules/sysadmin/honeycomb.scm (berlin-peer): Add keep-alive
field to wireguard-peer.
2021-11-26 15:06:06 +01:00
Ricardo Wurmus
d24cedcdf7
hydra: Add module for Honeycomb LX2 nodes.
* hydra/modules/sysadmin/honeycomb.scm: New file.
2021-11-26 12:16:18 +01:00
Ricardo Wurmus
aaa05ae640
hydra: Add new aarch64 build node "pankow" (honeycomb lx2).
* hydra/berlin.scm: Add wireguard-peer.
* hydra/keys/guix/berlin/pankow.rekado.pub: New file.
2021-11-26 12:13:58 +01:00
Tobias Geerinckx-Rice
d3eaabdc6a
hydra: berlin: Allow HTTP to any IP address.
I wanted to keep this minimal.  It didn't work: Wireguard clients use
10.0.0.0/8 IPs directly as well.

* hydra/nginx/berlin.scm (%berlin-servers): Match anything ending in a
digit, which, until the gTLD crowd goes truly bonkers, is an IP address.
And if it's not, the request wouldn't reach us anyway, right?

Reported by Ludovic Courtès <ludo@gnu.org>.
2021-11-20 21:12:19 +01:00
Tobias Geerinckx-Rice
fbc58921de
hydra: berlin: Allow HTTP to berlin's internal IP.
* hydra/nginx/berlin.scm (%berlin-servers): Add 141.80.167.131 as an
alias of ci.guix.gnu.org.
2021-11-20 16:42:20 +01:00
Tobias Geerinckx-Rice
4015696e45
hydra: berlin: Redirect HTTP to HTTPS by default.
* hydra/nginx/berlin.scm (%berlin-servers): Add a default port-80 server
to redirect all requests to their HTTPS counterparts.  Remove explicit
HTTP support for guix.gnu.org and issues.guix.gnu.org.
2021-11-19 16:55:49 +01:00
Maxim Cournoyer
9782bc16ef
Revert adding a jami service, myself as admin.
This reverts the two last commits, c7d51c6 and 063ddc0, pushed by
mistake.  Apologies!
2021-10-29 23:36:01 -04:00
Maxim Cournoyer
c7d51c6427
milano: Host two Jami rendezvous points for internal communication.
This makes the 'rdv-guix-maintainers' as well as the
'rdv-guix-sysadmin' Jami rendezvous points accounts available for live
conference calls (audio or video).  The service runs in a Linux
container and can only be reached by the Jami contacts declared as
allowed.

* hydra/milano-guix-1.scm (operating-system)
[services]{jami-service-type}: New service.
2021-10-29 23:30:57 -04:00
Maxim Cournoyer
063ddc0837
milano: Add myself as a sysadmin.
* hydra/milano-guix-1.scm (%accounts): New sysadmin entry.
[services]{authorized-keys}: Register my SSH key.
2021-10-29 23:30:57 -04:00
Maxim Cournoyer
33669ccd9d
hydra: Update maxim.pub key.
With the recent OpenSSH 8.8p1 update, SHA1-signed RSA keys are
deprecated, which my previous key was.

* hydra/keys/ssh/maxim.pub: Update to a newer ed25519 key.
2021-10-29 23:30:56 -04:00
Ludovic Courtès
28c92a51b9
hydra: berlin: Make some web site updates less frequent.
* hydra/berlin.scm <services>: Add 'period' for the stable manual and
the bootstrappable.org static web sites.
2021-10-28 17:20:51 +02:00
Ludovic Courtès
bdb914a124
services: web: 'static-web-site-configuration' can specify an update period.
* hydra/modules/sysadmin/web.scm (<static-web-site-configuration>)[period]:
New field.
(static-web-site-mcron-jobs): Honor it.
2021-10-28 17:14:07 +02:00
Ludovic Courtès
f861820f3c
services: web: Spread mcron jobs over time to avoid peaks.
* hydra/modules/sysadmin/web.scm (static-web-site-mcron-jobs): Make
minutes non-zero.
2021-10-26 11:40:30 +02:00
Ludovic Courtès
5c5341d42d
hydra: web: Correctly handle non-ASCII file names.
* hydra/modules/sysadmin/web.scm (build-program)[build]: Call 'setenv'
and 'setlocale'.
2021-10-20 21:43:19 +02:00
Ludovic Courtès
384b0227ff
hydra: bayfront: Add 'disarchive-service-type' instance.
* hydra/bayfront.scm <services>: Add 'disarchive-service-type' instance.
2021-10-15 15:30:41 +02:00
Ludovic Courtès
0b91cccddf
hydra: bayfront: Use the default 'nginx' package.
* hydra/bayfront.scm <nginx-configuration>: Remove 'nginx' field.  The
extra modules are enabled by default in the 'nginx' package since Guix
commit 2d31eeecf06ab14732d374c75cdf6e7a55aa704e.
2021-10-15 15:29:09 +02:00
Ludovic Courtès
b8d25fc43a
hydra: berlin: Automate updates to bootstrappable.org.
* hydra/berlin.scm <services>: Add 'static-web-site-service-type'
instance for 'bootstrappable.org'.
* hydra/nginx/berlin.scm (%berlin-servers): Change 'root' for
bootstrappable.org.
2021-10-14 13:11:17 +02:00
Ludovic Courtès
422c4a4eb7
hydra: bayfront: Add (journal-content ''all) for the Knot zone.
This works around this Knot error:

  knot[3422]: error: config, file '/gnu/store/…-knot.conf', line 37, section 'zone[guix.gnu.org.]' ('zonefile-load: difference-no-serial' requires 'journal-content: all')

* hydra/bayfront.scm <knot-zone-configuration>: Add 'journal-content'
field.
2021-10-14 12:14:30 +02:00
Ludovic Courtès
1219516043
hydra: dns: Fix serial number.
This is a followup to df9e9b7f51.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org-zone): Fix serial number
so it fits in 32 bits.
2021-10-14 12:13:17 +02:00
Ludovic Courtès
9ffb2db81a
hydra: nginx: Add server blocks for disarchive.guix.gnu.org.
* hydra/nginx/berlin.scm (%berlin-servers): Add
"disarchive.guix.gnu.org", ports 80 and 443.
2021-10-14 11:57:23 +02:00
Ludovic Courtès
7c2742be57
hydra: berlin: Update 'bootloader-configuration' to latest API.
* hydra/berlin.scm <bootloader>: Change 'target' to 'targets'.
2021-10-14 11:37:55 +02:00
Ludovic Courtès
27dc74fbe3
hydra: berlin: Periodically populate Disarchive database from Cuirass.
* hydra/modules/sysadmin/services.scm (<disarchive-configuration>): New
record type.
(disarchive-activation, disarchive-mcron-jobs): New procedures.
(disarchive-service-type): New variable.
* hydra/berlin.scm <services>: Use it.
2021-10-14 11:36:55 +02:00
Ludovic Courtès
df9e9b7f51
hydra: dns: Add disarchive.guix.gnu.org.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add "disarchive".
2021-10-14 10:03:08 +02:00
Ludovic Courtès
fb83b3d8de
hydra: Add 'sync-disarchive-db.scm' program.
* hydra/sync-disarchive-db.scm: New file.
2021-10-14 10:02:54 +02:00
Ludovic Courtès
0eaa8b93f5
hydra: cuirass: Add build products for the 'disarchive' jobset.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add
'build-outputs' for "disarchive" job.  Increase period.
2021-10-12 15:53:53 +02:00
Ludovic Courtès
7a43f18f49
hydra: cuirass: Add the "source" and "disarchive" jobsets.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add the "source"
and "disarhive" jobsets.
2021-10-08 15:21:18 +02:00
Christopher Baines
3069d5e8c8
hydra: bayfront: Update the bordeaux.guix.gnu.org HTML file.
* hydra/nginx/html/bordeaux/index.html: Mark cross built packages as
available, as these are now being built.
2021-09-26 18:45:03 +01:00
Mathieu Othacehe
abaf139228
hydra: nginx: Remove the publish "/log" route.
* hydra/nginx/berlin.scm (publish-locations): Remove the publish "/log" route
that is now handled directly by Cuirass.
2021-09-13 16:45:17 +02:00
Julien Lepiller
0da304ddc8
hydra: berlin: Support new languages.
* hydra/nginx/berlin.scm (languages-to-accept): Add `tr` and `zh-TW`.
2021-09-02 14:04:46 +02:00
Mathieu Othacehe
c0a9022d82
hydra: cuirass: Disable powerpc64le emulation.
* hydra/berlin-nodes.scm: Disable powerpc64le emulation that is broken.
2021-08-31 15:02:01 +02:00
Thiago Jung Bauermann
4458abf9ec
Add guixp9 to the CI.
* doc/cuirass.org (External machines): Add guixp9.
* hydra/berlin.scm (services)[wireguard-service-type]: Likewise.
[frontend-services]<#:systems>: Add “powerpc64le-linux”.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-08-28 15:06:25 +02:00
Andreas Enge
04168c9db1
hydra: dover: Use the berlin local IP as only substitute server.
* hydra/dover.scm: Apply the same change as in commit
  0dbb77f156 .
2021-08-22 22:24:10 +02:00
Florian Pelz
5809d76e92
hydra: berlin: Add GPL3+ license info and copyright info.
* hydra/berlin.scm: Add it.
2021-08-22 13:43:23 +02:00
Florian Pelz
fb6aa43f55
hydra: bayfront: Add GPL3+ license info and copyright info.
* hydra/bayfront.scm: Add it.
2021-08-22 12:44:03 +02:00
Christopher Baines
980cfff988
hydra: bayfront: Tweak local building configuration.
This should avoid high load on bayfront from building things.

* hydra/bayfront.scm (operating-system)[services]: Have the
guix-build-coordinator-agent only perform one build at a time,
increase guix-daemon timeouts and reduce the --cores configuration to
6.
2021-08-18 11:57:23 +01:00
Christopher Baines
5358de00bf
hydra: bayfront: Start building things for armhf-linux.
This has actually been in place for a week now, so
bordeaux.guix.gnu.org has good coverage for armhf-linux.

* hydra/bayfront.scm (operating-system)[services]: Change the
guix-build-coordinator-queue-builds-configuration to include
armhf-linux.
2021-08-18 11:53:46 +01:00
Christopher Baines
20c37cc6ec
hydra: bayfront: Update the bordeaux.guix.gnu.org HTML file.
* hydra/nginx/html/bordeaux/index.html: Add some CSS and tweak some
styling, plus update the substitute availability message.
2021-08-18 11:51:16 +01:00
Tobias Geerinckx-Rice
f8deebe7e9
hydra: Disable the dangerously broken Mumi mailer.
* hydra/berlin.scm (services)[mumi]: Disable MAILER?.
2021-08-17 19:17:16 +02:00
Mathieu Othacehe
741a55f966
hydra: services: Reverse the Cuirass no-publish logic.
* hydra/modules/sysadmin/services.scm (cuirass-configuration): Use "publish?"
instead of "no-publish?".
2021-08-13 13:47:15 +02:00
Mathieu Othacehe
0dbb77f156
hydra: overdrive: Use the berlin local IP as only substitute server.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Add
the berlin local IP as only remote-worker substitute server.
2021-08-12 14:36:29 +02:00
Mathieu Othacehe
df02f96476
hydra: build-machines: Use the berlin local IP as only substitute server.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Add
the berlin local IP as only remote-worker substitute server.
2021-08-12 14:32:38 +02:00
Mathieu Othacehe
a981d79011
hydra: services: Do not start a remote-server publish server.
As this server does not use a cache it is prone to connection timeout errors,
as discussed here:
https://lists.gnu.org/archive/html/guix-devel/2021-08/msg00021.html.

Use the main publish server behind https://ci.guix.gnu.org instead.

* hydra/modules/sysadmin/services.scm (cuirass-service): Do not start a
publish server.
2021-08-12 13:10:25 +02:00
Mathieu Othacehe
ca6f40272f
hydra: services: Increase the publish nar ttl.
This has been discussed here: <https://issues.guix.gnu.org/48926>.

* hydra/modules/sysadmin/services.scm (frontend-services): Increase the
default publish nar ttl to 180 days.
2021-08-12 11:56:20 +02:00
Florian Pelz
61aeed9210
hydra: nginx: Add GPL3+ license info and copyright info.
* hydra/nginx/berlin.scm: Add it.
2021-08-11 12:08:36 +02:00
Mathieu Othacehe
d8f078a2c9
keys: Add the 141.80.167.185 machine key.
* hydra/keys/guix/berlin/141.80.167.185.pub: New file.
2021-08-09 15:30:08 +02:00
Mathieu Othacehe
81ce1b1182
hydra: berlin: Update PostgreSQL to 13.
* hydra/berlin.scm: Update PostgreSQL service to 13.
2021-08-07 16:52:29 +02:00
Ludovic Courtès
9128d634f4
hydra: build-machines: Fetch substitutes only from berlin.
Fixes <https://bugs.gnu.org/49514>.

* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Add 'substitute-urls' to <guix-configuration>.
2021-07-10 23:20:02 +02:00
Ludovic Courtès
c21bd42d43
hydra: build-machines: Use max-jobs as the number of Cuirass workers.
That makes it consistent with the guix-daemon settings.

* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Use MAX-JOBS as the number of Cuirass workers.
2021-07-10 23:20:02 +02:00
Florian Pelz
2d6dc5e01a
nginx: berlin: Redirect old video URLs for each language.
* hydra/nginx/berlin.scm (languages-to-accept): New list.  Move here
the languages list from ...
(%extra-content) ... here.  Use languages from 'languages-to-accept'.
(guix.gnu.org-redirects-for-each-language): New procedure.  Add
new video redirections.
(guix.gnu.org-redirect-locations): New list.  Move here the
old redirections.
(guix.gnu.org-other-locations): New list.  Move here the other nginx
locations from ...
(guix.gnu.org-locations): ... here.  Reimplement in terms of the above.
2021-07-09 08:36:13 +02:00
Joshua Branson
504259d59b
hydra: bordeaux: Add a how to code snippet.
* hydra/nginx/html/bordeaux/index.html: (Using these substitutes):
Fixed a typo, and added a how to code snippet for users of guix system.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2021-06-08 16:05:08 +01:00
Christopher Baines
376595ac34
hydra: bayfront: Start building things for the hurd.
* hydra/bayfront.scm (operating-system)[services]: Change the
guix-build-coordinator-queue-builds-configuration to include i586-gnu
and cross builds to i586-pc-gnu.
2021-06-07 14:54:43 +01:00
Christopher Baines
1f82ee0fa1
hydra: bayfront: Update the NGinx configuration.
* hydra/nginx/html/bordeaux/index.html: New file.
* hydra/bayfront.scm (%bayfront-nginx-service-extra-config): Remove
proxy config relevant for hydra.
(%bordeaux.guix.gnu.org-nginx-servers): Serve log files, and show log
files for /build/UUID requests.  Also service an index.html page.
(operating-system)[services]: Use a custom nginx package built with a
couple of additional modules.
2021-06-07 14:54:43 +01:00
Christopher Baines
34dc87b009
hydra: bayfront: Configure the coordinator submit outputs hook.
This is used when deciding whether the outputs from a build should be
submitted.

* hydra/bayfront.scm (%guix-build-coordinator-configuration)[hooks]:
Specify a build-submit-outputs-hook.
2021-06-07 14:54:43 +01:00
Christopher Baines
ed24a843a8
hydra: bayfront: Specify the kernel.
Stick to an LTS Linux, as that seems sensible.

* hydra/bayfront.scm (operating-system)[kernel]: Specify
linux-libre-5.10.
2021-06-07 14:27:53 +01:00
Christopher Baines
a195386be5
hydra: milano-guix-1: Update config.
* hydra/milano-guix-1.scm (operating-system)[file-systems]: Mount /tmp
as a tmpfs, to hopefully speed up builds.
[swap-devices]: Add /dev/sdb2.
[services]: Disable SSH password authentication, and switch bayfront
to bordeaux in a couple of places.
2021-06-07 10:45:54 +01:00
Tobias Geerinckx-Rice
e238b567d1
hydra: bayfront: Point Goggles at the right ZNC log directory.
* hydra/bayfront.scm (file-systems): Bind-mount the Libera log directory
at "/var/www/.well-known/all-logs".
2021-06-03 23:03:31 +02:00
Mathieu Othacehe
cce2556dec
hydra: overdrive: Add Wireguard keep-alive support.
* hydra/modules/sysadmin/overdrive.scm (berlin-peer): Add Wireguard keep-alive support.
2021-06-01 14:25:19 +02:00
Christopher Baines
8660411746
hydra: bayfront: Configure NGinx for bordeaux.guix.gnu.org.
* hydra/bayfront.scm (%bordeaux.guix.gnu.org-nginx-servers): New
variable.
(servers)[nginx-service-type]: Add
%bordeaux.guix.gnu.org-nginx-servers to the server blocks list.
2021-05-26 22:18:01 +01:00
Christopher Baines
f719274cdc
hydra: bayfront: Tweak the configuration for builds.
Make the Guix Build Coordinator agent more gentle, reducing the max
parallel builds and decreasing the load average limit. Also reduce the
default max-jobs at the daemon level (for builds happening not through
the coordinator agent), and set the default cores to 24 to avoid one
build from loading all the cores.

* hydra/bayfront.scm (services)[guix-build-coordinator-agent-service-type]:
Tweak max-parallel-builds and max-1min-load-average.
[guix-service-type]: Tweak the extra-options.
2021-05-26 19:44:19 +01:00
Christopher Baines
ea9b37f604
hydra: bayfront: Have the coordinator build for more systems.
* hydra/bayfront.scm (services)[guix-build-coordinator-queue-builds-service-type]:
Add i686-linux, aarch64-linux and powerpc64le-linux to systems.
2021-05-26 19:38:30 +01:00
Christopher Baines
77f7a5b4ad
hydra: bayfront: Have certbot include bordeaux.guix.gnu.org.
In the certificate.

* hydra/bayfront.scm (%certbot-configuration)[domains]: Add
bordeaux.guix.gnu.org.
2021-05-26 19:37:25 +01:00
Christopher Baines
40af0856f2
hydra: dns: Add bordeaux sub-domain.
This is to be used for substitutes, currently served from bayfront.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add entry for
bordeaux.guix.gnu.org.
2021-05-26 18:56:33 +01:00
Tobias Geerinckx-Rice
f4fc59ca63
goggles: Update network name. 2021-05-25 19:20:31 +02:00
Ricardo Wurmus
468f11da68
goggles: Log #hurd channel. 2021-05-25 18:00:03 +02:00
Mathieu Othacehe
2bbf568dbe
hydra: services: Do not cache build failures on Berlin.
Berlin doesn't build much stuff anymore, and removing transient cache failures
require manual intervention.

* hydra/modules/sysadmin/services.scm (guix-daemon-config): Do not cache failures.
2021-05-13 10:50:46 +02:00
Ludovic Courtès
8993adc5f6
hydra: berlin: Build manual from 'version-1.3.0'.
* hydra/berlin.scm (static-web-site-configuration): Bump to 1.3.0.
2021-05-11 11:06:37 +02:00
Ricardo Wurmus
a538cc1f36
hydra: Remove definition of gwl-next.
* hydra/berlin.scm (gwl-next): Remove variable and update service.
2021-05-04 15:27:57 +02:00
Julien Lepiller
93cd5e5405
hydra: berlin: Accept Slovak.
* hydra/nginx/berlin.scm (%extra-content): Autoredirect 'sk' to the
translated website.
2021-05-02 01:09:46 +02:00
Mathieu Othacehe
e4c7aa3ed9
hydra: machines-for-berlin: Increase parallel builds count.
* hydra/machines-for-berlin.scm (template-x86_64): Increase parallel builds
count.
2021-05-01 18:56:50 +02:00
Mathieu Othacehe
e518b5a39f
hydra: machines-for-berlin: Increase overload-threshold for the overdrives.
* hydra/machines-for-berlin (overdrive): Increase the overload-threshold.
2021-05-01 18:54:21 +02:00
Mathieu Othacehe
f0af4df47f
hydra: berlin-nodes: Enable node 128.
* hydra/berlin-nodes.scm (nodes)[128]: Enable it as it is back online.
2021-05-01 18:49:27 +02:00
Mathieu Othacehe
b4c74ac0ce
hydra: berlin-nodes: Clean-up.
No functional change.

* hydra/berlin-nodes.scm: Fix indentation and clean-up.
2021-05-01 18:47:11 +02:00
Mathieu Othacehe
21ebb5243c
hydra: berlin-nodes: Remove unavailable machine.
* hydra/berlin-nodes.scm (nodes)[119]: Remove it.
2021-05-01 18:45:48 +02:00
Mathieu Othacehe
a783ea7e08
hydra: machines-for-berlin: Add armhf-linux support to the overdrives.
* hydra/machines-for-berlin (overdrive): Add armhf-linux support.
2021-05-01 18:42:40 +02:00
Mathieu Othacehe
ea4b2fb906
hydra: machines-for-berlin: Remove unreachable machines.
Those machines are unreachable and should be made available through Wireguard
when back online.

* hydra/machines-for-berlin (overdrive): Remove unreachable machines.
2021-05-01 18:39:05 +02:00
Mathieu Othacehe
fdfe2d4341
hydra: machines-for-berlin: Use Wireguard for overdrive1 and dover.
* hydra/machines-for-berlin (overdrive): Use Wireguard VPN to connect to the
overdrive1 and dover machines.
2021-05-01 18:33:15 +02:00
Maxim Cournoyer
ccdb40a7ec
hydra: Explicit that the BeagleBoards are of the X15 model.
Also mention the CPU they use and the amount of physical memory they
have.  Likewise for the Softiron Overdrive 1000.

* hydra/machines-for-berlin.scm (overdrive): Mention CPU model and RAM.
(armv7): Likewise for the BeagleBoard.
2021-04-27 21:59:37 -04:00
Andreas Enge
7fdb9df9c6
harbourfront: Add account for cbaines.
* hydra/harbourfront.scm: Add account for cbaines and enable the ssh key.
2021-04-26 18:43:44 +02:00
Maxim Cournoyer
a14781516c
overdrive: Register the export key of my Guix System.
This is required for offloading.

* hydra/keys/guix/maxim-desktop-export.pub: New key.
* hydra/modules/sysadmin/overdrive.scm (%authorized-guix-keys):
Authorize it.
2021-04-26 09:26:38 -04:00
Maxim Cournoyer
4313d2e33f
overdrive: Add myself as a sysadmin.
This is so that I can use overdrive1 as an offload machine.

* hydra/modules/sysadmin/overdrive.scm (%accounts) [maxim]: New
sysadmin account.
(overdrive-system) [service] <openssh-service-type>: Authorize my
public SSH key.
2021-04-26 08:45:08 -04:00
Christopher Baines
7e10bb2c74
hydra: milano-guix-1: Specify max-silent-time and timeout.
So that the guix-build-coordinator agent builds don't get stuck.

* hydra/milano-guix-1.scm (operating-system)[services]: Specify values
for max-silent-time and timeout.
2021-04-25 11:44:42 +01:00
Christopher Baines
a5b660f618
hydra: milano-guix-1: Update config.
This commit adapts milano-guix-1 to build things for the Guix Build
Coordinator instance running on bayfront, and removes the reminants of
the configuration related to running data.guix.gnu.org (since it's
hosted elsewhere now).

* hydra/milano-guix-1.scm (gc-job): Garbage collect 500G since 50G is
not much free space for performing builds.
(%nginx-configuration): Remove variable.
(operating-system)[packages]: Remove comment.
[services]: Comment out qemu-binfmt-service-type as it's currently
unused, remove PostgreSQL, add the Prometheus node exporter, add the
Guix Build Coordinator agent and adjust the Guix service to allow for
substitutes from both bayfront and data.guix.gnu.org.
2021-04-23 21:05:44 +01:00
Christopher Baines
bf4bf24a53
hydra: bayfront: Update config.
Bayfront is now running the Guix Build Coordinator, and building
things for x86_64-linux. This has been useful for finding and fixing
some bugs in this area at least.

* hydra/bayfront.scm (operating-system)[swap-devices]: Add /swap since
it exists.
[services]: Add guix-build-coordinator-queue-builds-service-type, and
tweak the guix-build-coordinator agent configuration.
2021-04-23 21:05:43 +01:00
Ludovic Courtès
39b39a25dc
hydra: Register the substitute signing key of p9.tobias.gr on berlin.
The p9.tobias.gr machine is a POWER9 box lent by OSUOSL.

* hydra/keys/guix/p9.tobias.gr-export.pub,
hydra/keys/guix/berlin/p9.tobias.gr.pub: New files.
2021-04-22 14:53:00 +02:00
Mathieu Othacehe
9630e87297
dover: Add Wireguard keep-alive.
* hydra/dover.scm (berlin-peer): Set keep-alive to 25 seconds.
2021-04-21 09:08:21 +02:00
Maxim Cournoyer
cee70892d0
hydra: Use wireguard IPs as machine hostnames for guix-x15 and guix-x15b.
* hydra/machines-for-berlin.scm (armv7) <guix-x15>: Set name to
10.0.0.5.
<guix-x15b>: Set name to 10.0.0.6.
2021-04-20 12:08:21 -04:00
Maxim Cournoyer
71a7ead100
hydra: Rename guix-x15.sjd.se and guix-x15b.sjd.se.
Simon mentioned the machines no longer have an associated A record;
rename name, for clarity.

* hydra/machines-for-berlin.scm (armv7)
<guix-x15.sjd.se, guix-x15b.sjd.se>:  Rename to guix-x15 and guix-x15b.
* hydra/berlin.scm (services) [wireguard]: Likewise.
* doc/cuirass.org (External machines): Likewise.
2021-04-20 11:26:20 -04:00
Mathieu Othacehe
74e7adf2fa
Add new Wireguard peers.
* doc/cuirass.org (External machines): Add guix-x15.sjd.se and
guix-x15b.sjd.se.
* hydra/berlin.scm: Add those new Wireguard peers.
2021-04-20 13:41:59 +02:00
Mathieu Othacehe
a864510342
hydra: Add armhf-linux emulation support.
* hydra/berlin-nodes.scm: Add armhf-linux emulation support.
2021-04-15 09:25:35 +02:00
Mathieu Othacehe
ef5218de1b
hydra: build-machines: Fix syntax error.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Remove deprecated field.
2021-04-14 09:56:28 +02:00
Mathieu Othacehe
e41026a86d
hydra: Add powerpc64le emulation support.
* hydra/berlin-nodes.scm: Add powerpc64le emulation support.
2021-04-14 09:45:18 +02:00
Mathieu Othacehe
62f9009256
berlin: Add Dover to Wireguard peers.
* hydra/berlin.scm: Add Dover to Wireguard peers.
2021-04-14 07:57:26 +02:00
Andreas Enge
c705a726c2
hydra: Update the dover configuration for the berlin build farm.
* hydra/dover.scm (berlin-peer): New variable.
(%authorized-guix-keys): Disable bayfront.
(%accounts): Add Mathieu.
(operating-system): Add cuirass-remote-worker-service-type and
wireguard-configuration. Enable substitutes. Add Mathieu's ssh key.
2021-04-13 22:25:32 +02:00
Mathieu Othacehe
d28c89d478
hydra: services: Restrict system tests to x86_64-linux.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Restrict system tests
to the x86_64-linux architecture. The situation on other architectures is for
now too problematic to provide a valuable information.
2021-04-13 19:41:58 +02:00
Mathieu Othacehe
e13320d475
hydra: services: Add Guix tarball as a build output.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add Guix tarball as a
build output.
2021-04-12 10:08:12 +02:00
Mathieu Othacehe
6131023239
hydra: services: Add "images", "tarball" and "tests" Cuirass specs.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add "images", "tarball"
and "tests" Cuirass specs.
2021-04-11 18:45:46 +02:00
Mathieu Othacehe
b55bff8bcc
hydra: services: Change Cuirass specifications names.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Change specification
names.
2021-04-09 21:27:53 +02:00
Christopher Baines
72cafeeb42
hydra: bayfront: Add the Guix Build Coordinator.
Both the coordinator component, and an agent running locally on
bayfront.

This commit also makes other changes to enable this.

* hydra/bayfront.scm (%nginx-deploy-hook): Fix location of the NGinx
pid file.
(%certbot-configuration): Add coordinator.bayfront.guix.gnu.org.
(%bayfront.guix.gnu.org-nginx-servers): Adjust for serving narinfos
and nars from /var/lib/nars.
(%coordinator.bayfront.guix.gnu.org-nginx-servers,
%guix-build-coordinator-configuration): New variables.
(operating-system)[packages]: Add guix-build-coordinator.
[services]: Adjust NGinx and Guix, add the Guix Build Coordinator and
Guix Build Coordinator agent.
2021-04-09 11:43:08 +01:00
Christopher Baines
4db13b8ccf
hydra: dns: Add coordinator.bayfront.guix.gnu.org.
This is helpful to deploy the Guix Build Coordinator on bayfront, this
domain will be used by agents to communicate with the coordinator.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add
"coordinator.bayfront".  Bump 'serial'.
2021-04-09 09:09:34 +01:00
Tobias Geerinckx-Rice
1807f9a9a4
hydra: berlin: Add Maxim Cournoyer as sysadmin.
* hydra/berlin.scm (%sysadmins): Add maxim.
* hydra/keys/ssh/maxim.pub: New file.
2021-04-08 21:40:37 +02:00
Ricardo Wurmus
1ac62fcc31
berlin/nginx: Disallow iframe embedding.
* hydra/nginx/berlin.scm (%berlin-servers): Add
Content-Security-Policy header.
2021-04-08 03:39:11 +02:00
Julien Lepiller
b54e8d3f87
hydra: berlin: Accept new languages.
The previous attempt contained a line from a previous version of the
file that caused a conflict.

* hydra/nginx/berlin.scm (%extra-content): Autoredirect 'eo', 'ko' and 'ru'
to the translated website.
2021-04-07 17:56:10 +02:00
Mathieu Othacehe
6bde9a58db
Revert "hydra: berlin: Accept new languages."
This reverts commit 3d63e8d690 because it causes
the following nginx error:

2021/04/07 17:05:08 [emerg] 94058#0: variable already defined: "lang" in /gnu/store/ajvqgc205hvrfab7plbwds2a9wiqj52f-nginx.conf:4666
2021-04-07 17:26:46 +02:00
Ricardo Wurmus
04bc798560
berlin: Remove mumi-devel.
* hydra/berlin.scm (mumi-devel): Remove variable.
2021-04-06 14:41:58 +02:00
Julien Lepiller
3d63e8d690
hydra: berlin: Accept new languages.
* hydra/nginx/berlin.scm (%extra-content): Autoredirect 'eo', 'ko' and 'ru'
to the translated website.
2021-04-06 13:54:17 +02:00
Mathieu Othacehe
67d6fea22d
hydra: berlin: Add Wireguard service.
* hydra/berlin.scm: Add Wireguard service.
2021-04-05 14:28:18 +02:00
Mathieu Othacehe
9663c1f6c8
hydra: nginx: Fix Cuirass routes.
* hydra/nginx/berlin.scm (guix.gnu.org-locations): Remove trailing slash from
Cuirass routes.
2021-03-29 10:17:04 +02:00
Christopher Baines
adedfff53d
hydra: Update fosshost Guix Build Coordinator agent authentication.
* hydra/fosshost1.scm (operating-system): Update Guix Build
Coordinator agent configuration.
* hydra/fosshost2.scm (operating-system): Likewise.
2021-03-27 09:04:35 +00:00
Christopher Baines
c7096d7976
hydra: bayfront: Adjust guix authorized-keys.
This should have been %build-node-keys, but was changed when
refactoring the config recently.

* hydra/bayfront.scm (operating-system)[services]: Adjust guix
authorized-keys.
2021-03-26 11:43:40 +00:00
Christopher Baines
be0f8bcebe
hydra: bayfront: Change indentation for services.
To reduce line length.

* hydra/bayfront.scm (operating-system)[services]: Change indentation.
2021-03-26 11:41:52 +00:00
Christopher Baines
c426767f76
hydra: bayfront: Fix NGinx config issues.
* hydra/bayfront.scm (%guix-hpc.bordeaux.inria.fr-nginx-servers):
Remove = character from ssl-certificate-key.
(%logs.guix.gnu.org-nginx-servers): Add missing characters to NGinx
config part.
2021-03-25 20:08:02 +00:00
Christopher Baines
84d67041c6
hydra: bayfront: Refresh config.
This involves a few things. The Cuirass service is removed through
moving most of the frontend-services functionality directly in to the
configuration, and the NGinx configuration is transformed in to
various records. I'm hoping this will make the bayfront configuration
easier to change and maintain.

* hydra/bayfront.scm (%nginx-config): Remove variable.
(%bayfront-nginx-service-extra-config, %hpc.guix.info-nginx-servers,
%guix-hpc.bordeaux.inria.fr-nginx-servers,
%logs.guix.gnu.org-nginx-servers,
%bayfront.guix.gnu.org-nginx-servers): New variables.
(operating-system)[packages]: Remove comment relating to Cuirass.
[services]: Remove Cuirass dependencies, and incorporate most of the
services returned by frontend-services.
* hydra/nginx/bayfront-locations.conf: Delete file.
* hydra/nginx/bayfront.conf: Delete file.
* hydra/nginx/guix-hpc-inria-locations.conf: Delete file.
* hydra/nginx/guix-hpc-locations.conf: Delete file.
2021-03-23 20:10:27 +00:00
Mathieu Othacehe
3e0d6c3363
hydra: berlin: Add Cuirass releases route.
* hydra/nginx/berlin.scm (guix.gnu.org-locations): Add "/cuirass/releases"
route. Also fix "/cuirass/manual/" route.
2021-03-23 13:15:28 +01:00
Mathieu Othacehe
2bd8f5bd1d
hydra: nginx: Add a Cuirass manual route.
* hydra/nginx/berlin.scm (guix.gnu.org-locations): Add a Cuirass route.
2021-03-23 11:23:34 +01:00
Ludovic Courtès
5d71355403
hydra: services: Enable zstd compression.
* hydra/modules/sysadmin/services.scm (frontend-services)
<guix-publish-configuration>: Add zstd:19 compression.
2021-03-20 15:06:56 +01:00
Mathieu Othacehe
848a153962
hydra: services: Switch to Cuirass new specification format.
* hydra/modules/sysadmin/services.scm (guix-input): Remove it.
(cuirass-notifications): New procedure.
(cuirass-specs): Adapt it to use Cuirass new specification format.
2021-03-10 16:06:29 +01:00
Ricardo Wurmus
1f496c8366
hydra/goggles: Use absolute URL for form actions.
* hydra/goggles.scm (index, search-results): Use absolute URL for form
actions.
2021-03-09 14:42:11 +01:00
Ricardo Wurmus
5b56cdad94
hydra/goggles: Add copyright notice.
* hydra/goggles.scm: Add a copyright header.
2021-03-09 12:06:21 +01:00
Florian Pelz
82b075685b
nginx: berlin: Normalize Accept-Language language code zh to zh-CN.
Now web browsers requesting any kind of Chinese get the website in
mainland Chinese.

zh, zh-Hans, zh-Hans-CN all are synonymous with zh-CN now.

Fixes <https://bugs.gnu.org/46807>.

* hydra/nginx/berlin.scm (accept-languages): New procedure.
(%extra-content): Normalize $lang variable with it.
2021-03-09 11:01:49 +00:00
Leo Famulari
a7034752cf
hydra: Add the server-side Git hook.
* hydra/savannah/assert-commit-signed: New file.
2021-02-28 14:07:06 -05:00
Tobias Geerinckx-Rice
a0f051c660
nginx: berlin: Use new certificate for ci.guix.gnu.org.
The previously configured certificate was for an obsolete domain name
(berlin.guixsd.org) & cannot be renewed, causing an outage on 2021-02-27.

* hydra/nginx/berlin.scm (%berlin-servers): Use an existing Let's Encrypt
certificate for "ci.guix.gnu.org".
2021-02-27 22:07:19 +01:00
Leo Famulari
c91dae0719
nginx: berlin: Add an alias 'machines' for the 'donate' page.
* hydra/nginx/berlin.scm (guix.gnu.org-locations): Add a redirection.
2021-02-26 16:38:17 -05:00
Mathieu Othacehe
3501a42fa8
hydra: services: Add a Cuirass parameters file.
* hydra/modules/sysadmin/services.scm (cuirass-service): Add "parameters" file.
2021-02-22 10:24:50 +01:00
Mathieu Othacehe
7ba86359aa
hydra: Move overdrive to sysadmin.
* hydra/overdrive.scm: Move it to ...
* hydra/modules/sysadmin/overdrive.scm: ... here.
* hydra/overdrive1.scm: Adapt it.
2021-02-17 11:49:19 +01:00
Mathieu Othacehe
901d88dfae
hydra: Create an overdrive module.
* hydra/overdrive.scm: Turn it into a generic "overdrive" module.
* hydra/overdrive1.scm: New file.
2021-02-17 10:49:04 +01:00
Mathieu Othacehe
aca88126a2
overdrive: Add Wireguard interface.
* hydra/overdrive.scm: Add Wireguard interface.
2021-02-17 10:31:08 +01:00
Mathieu Othacehe
e4a0f27e96
overdrive: cuirass: Add remote server address.
* hydra/overdrive.scm: Add Cuirass remote server address.
2021-02-17 10:31:08 +01:00
Mathieu Othacehe
abfb17bfec
hydra: berlin-nodes: Emulate aarch64-linux builds on half of the nodes.
* hydra/berlin-nodes.scm: Emulate aarch64-linux builds on half of the build
machines.
2021-02-09 09:28:28 +01:00
Mathieu Othacehe
a5df328e5c
hydra: build-machines: Use four Cuirass workers.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Use
four Cuirass workers instead of two.
2021-02-09 09:27:55 +01:00
Mathieu Othacehe
c4faf8ea83
hydra: services: Add Zabbix support to Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-service): Set zabbix-uri field.
2021-02-08 12:34:10 +01:00
Mathieu Othacehe
2c30440f89
hydra: Fix "core-updates" specification.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Fix "core-updates"
specification.
2021-02-07 19:35:34 +01:00
Mathieu Othacehe
e4acb8c8eb
hydra: Add a zabbix local server.
* hydra/nginx/berlin.scm (%zabbix-nginx-local-server): New variable.
* hydra/berlin.scm: Use it.
2021-02-07 11:10:41 +01:00
Ludovic Courtès
174d1aa41a
hydra: bayfront: Update to new Cuirass configuration.
* hydra/bayfront.scm (%custom-cuirass): Remove.
<services>: Add postgresql-service-type, postgresql-role-service-type,
and avahi-service-type.  Remove customization of cuirass-service-type.
2021-02-04 23:06:16 +01:00
Ludovic Courtès
b9d672a8fe
hydra: berlin: Change overdrive1 host name for machines.scm.
* hydra/machines-for-berlin.scm <top level>: Change overdrive1 host
name from guixsd.org.
2021-02-04 22:10:32 +01:00
Ludovic Courtès
97472a4df4
hydra: dns: Add {overdrive1,dover}.guix.gnu.org.
* hydra/modules/sysadmin/dns.scm (overdrive1-ip4)
(overdrive1-ip6, dover-ip4): New variables.
(guix.gnu.org.zone): Add "overdrive1" and "dover".  Bump 'serial'.
2021-02-04 22:10:32 +01:00
Christopher Baines
e3f77b6938
hydra: Add configuration for the monokuma Overdrive machine.
* hydra/monokuma.scm: New file.
2021-02-01 21:46:57 +00:00
Julien Lepiller
2de64ce695
hydra: Accept more languages.
* hydra/nginx/berlin.scm (%extra-content): Add locales to which the
website is translated.
2021-01-29 15:45:49 +01:00
Mathieu Othacehe
885bca5271
hydra: overdrive: Add Avahi service.
* hydra/overdrive.scm: Add Avahi service.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 20:47:46 +01:00
Mathieu Othacehe
7ac1536d4b
hydra: overdrive: Add Cuirass worker support.
* hydra/overdrive.scm: Add Cuirass worker service.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 17:06:10 +01:00
Mathieu Othacehe
a5c276696e
hydra: berlin-nodes: Remove machine 176.
* hydra/berlin.scm: Remove unavailable machine.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:33:29 +01:00
Mathieu Othacehe
ed222109f1
hydra: berlin: Fix syntax.
* hydra/berlin.scm: Fix syntax.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:18:09 +01:00
Mathieu Othacehe
dc8c6d8809
hydra: berlin: Add missing include.
* hydra/berlin.scm: Add missing include.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:17:30 +01:00
Mathieu Othacehe
b192961719
hydra: berlin: Add postgresql-role-service.
* hydra/berlin.scm: Add a postgresql-role-service.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:16:09 +01:00
Mathieu Othacehe
46e9c54204
hydra: berlin: Add a default postgresql configuration.
* hydra/berlin.scm: Add a default postgresql-configuration.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:14:54 +01:00
Mathieu Othacehe
2aa86ad86e
hydra: berlin: Use postgresql-service-type.
* hydra/berlin.scm: Use "postgresql-service-type" instead of
"postgresql-service" to prevent a warning message.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:12:46 +01:00
Mathieu Othacehe
140ce543ae
hydra: sysadmin: Add Cuirass remote building support.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Add
a systems argument. Start a Cuirass remote worker building substitutes for the
given systems.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Remove
it.
(cuirass-service): Add a remote-server.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-28 14:07:00 +01:00
Mathieu Othacehe
2b40161533
hydra: services: Add build output images.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add images outputs.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-22 11:58:21 +01:00
Mathieu Othacehe
cc49424de8
hydra: services: Add specification priorities.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Define priorities.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-01-22 11:52:18 +01:00
Ludovic Courtès
7c15c2c436
hydra: overdrive: Clear the firmware package list.
* hydra/overdrive.scm (firmware): New field.
2021-01-22 11:25:12 +01:00
Mathieu Othacehe
8e07cb3434
hydra: machines-for-berlin: Remove unreachable node.
* hydra/machines-for-berlin: Remove node 176.
2021-01-19 17:37:25 +01:00
Ludovic Courtès
e59d436ca9
hydra: overdrive: Accept binaries from Ludo's laptop.
* hydra/keys/guix/ludo-laptop-export.pub: New file.
* hydra/overdrive.scm (%authorized-guix-keys): Add it.
2021-01-18 18:45:15 +01:00
Mathieu Othacehe
cac359ffc4
hydra: overdrive: Add myself as a sysadmin.
hydra/overdrive.scm: Add myself as a sysadmin.
2021-01-11 14:43:35 +01:00
Ricardo Wurmus
41ea5e31df
berlin: Update network interface identifier.
This was found to be necessary when we last rebooted the node.

* hydra/berlin.scm <services>[static-networking-service]: Replace
"eno2d1" with "eno2".
2021-01-06 23:20:30 +01:00
Ricardo Wurmus
3c1d2cf674
hydra/berlin: Use a newer version of the GWL.
* hydra/berlin.scm (gwl-next): New variable.
<services>[gwl-web-service-type]: Use it.
2021-01-06 23:19:37 +01:00
Ricardo Wurmus
c4443f49fc
sysadmin/web: Use new GWL with GUIX_EXTENSIONS_PATH.
* hydra/modules/sysadmin/web.scm (gwl-web-shepherd-service): Remove
inner wrapping with GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH; set
GUIX_EXTENSIONS_PATH instead; run "guix workflow web".
(gwl-web-service-type): Update description.
2021-01-06 23:18:30 +01:00
Mathieu Othacehe
9c9af82086
hydra: services: Allow substitutes on berlin.
* hydra/modules/sysadmin/services.scm (guix-daemon-config): Allow substitutes.
2021-01-04 15:20:11 +01:00
Mathieu Othacehe
0291b509f2
hydra: berlin: Increase GC threshold.
* hydra/berlin.scm: Increase GC threshold to 10TiB.
2021-01-04 15:17:16 +01:00
Leo Famulari
3661cd522e
hydra: berlin: Add Leo Famulari as a sysadmin.
* hydra/berlin.scm (%sysadmins): Add lfam.
* hydra/keys/ssh/lfam.pub: New file.
2020-12-24 14:25:36 -05:00
Christopher Baines
a7dd63a801
hydra: Increase parallel builds on the fosshost machines.
* hydra/fosshost1.scm: Increase Guix Build Coordinator agent parallel
builds to 4.
* hydra/fosshost2.scm: Likewise.
2020-12-23 16:47:46 +00:00
Christopher Baines
7bb7b0b680
hydra: Add swapfiles to fosshost machines.
So that they have more swap, and thus can run more parallel builds
without running out of memory.

* hydra/fosshost1.scm: Add /swapfile to swap-devices list.
* hydra/fosshost2.scm: Likewise.
2020-12-23 16:46:29 +00:00
Christopher Baines
a57235c8d2
hydra: Allow fosshost machines to fetch substitutes from bayfront.
This matches the Guix Build Coordinator agent configuration.

* hydra/fosshost1.scm: Add bayfront key to authorized-keys.
* hydra/fosshost2.scm: Likewise.
2020-12-23 13:57:04 +00:00
Christopher Baines
c6469cd138
hydra: Increase guix gc -F size to 200G.
15G was insufficient for running Guix Build Coordinator agents.

* hydra/fosshost1.scm: Increase -F to 200G.
* hydra/fosshost2.scm: Likewise.
2020-12-22 23:54:57 +00:00
Mathieu Othacehe
6b9ce8316b
hydra: build-machines: Add build timeouts.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Set
"timeout" and "max-silent-time" to the same values as "berlin".
2020-12-16 18:59:35 +01:00
Mathieu Othacehe
3193616e16
hydra: services: Update Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Update
it.
2020-12-08 12:20:58 +01:00
Mathieu Othacehe
fe4cfd8f22
hydra: services: Use a larger queue size for Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-service): Set queue-size to 100
elements.
2020-12-08 12:19:04 +01:00
Mathieu Othacehe
e5324a2d27
hydra: services: Update Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Update
it.
2020-12-07 16:30:25 +01:00
Leo Famulari
5f682a0815
hydra: nginx: Caching mirrors *really* proxy ci.guix.gnu.org.
This is a followup to commit 577b1d5b69.

* hydra/nginx/mirror-locations.conf: Fix 'cuix' typo.
2020-12-03 14:45:42 -05:00
Leo Famulari
577b1d5b69
hydra: nginx: Caching mirrors proxy ci.guix.gnu.org.
* hydra/nginx/mirror-locations.conf: Replace 'hydra.gnu.org' with
'ci.guix.gnu.org'.
2020-12-03 14:35:37 -05:00
Ludovic Courtès
626dcad143
hydra: services: Invoke "certbot renew" with the "webroot" options.
* hydra/modules/sysadmin/services.scm (%certbot-job): Pass
"--webroot-path" and "--webroot".
2020-12-03 13:52:48 +01:00
Tobias Geerinckx-Rice
6cd4aa1eed
nginx: berlin: Add a redirect for berlin.guix.info.
* hydra/nginx/berlin.scm (%berlin-servers): Redirect berlin.guix.info to
ci.guix.gnu.org.
2020-12-02 22:06:05 +01:00
Mathieu Othacehe
912d83b1cb
hydra: services: Update Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Update
it.
2020-12-02 22:04:04 +01:00
Tobias Geerinckx-Rice
c85e128e11
nginx: berlin: Redirect legacy hostnames to current ones.
* hydra/nginx/berlin.scm (guix.info-locations): Remove variable.
(%berlin-servers): Move all legacy hostnames to their own server
configuration, and redirect to the current name.
2020-12-02 21:47:04 +01:00
Mathieu Othacehe
8a96db85bf
hydra: sysadmin: Use substitutes on build machines.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Enable substitutes on build machines.
2020-12-01 13:08:53 +01:00
Mathieu Othacehe
f8bf2243dc
hydra: sysadmin: Enable Avahi on build machines.
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Add
Avahi support.
2020-12-01 13:07:51 +01:00
Mathieu Othacehe
4ffb88f5e1
hydra: berlin-nodes: Authorize berlin key.
* hydra/berlin-nodes.scm: Authorize berlin key on build nodes.
2020-12-01 13:07:11 +01:00
Mathieu Othacehe
da8baba818
hydra: berlin: Add Avahi support.
* hydra/berlin.scm: Add Avahi support.
2020-12-01 11:54:41 +01:00
Mathieu Othacehe
693895edac
hydra: sysadmin: Use substitutes on build machines.
* hydra/modules/sysadmin/build-machines.scm (build-machine-os): Enable
substitutes on build machines.
2020-12-01 11:47:59 +01:00
Mathieu Othacehe
d27c74ca2b
hydra: sysadmin: Enable Avahi on build machines.
* hydra/modules/sysadmin/build-machines.scm (build-machine-os): Add Avahi
support.
2020-12-01 11:47:58 +01:00
Ludovic Courtès
2750915b1f
nginx: berlin: Fix typo.
* hydra/nginx/berlin.scm (%berlin-servers) <issues.guix.info 443>: Fix typo.
2020-11-29 12:22:34 +01:00
Ludovic Courtès
17cc5013fb
nginx: berlin: Add missing /.well-known location blocks.
* hydra/nginx/berlin.scm (%berlin-servers) <bootstrappable.org 443>: Add
'locations'.
<issues.guix.info 443>: Likewise.
2020-11-29 12:20:17 +01:00
Christopher Baines
08eb212b6d
hydra: dns: Update guix.gnu.org-zone serial.
As this was missed when adding the fosshost records.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org-zone): Update serial.
2020-11-28 12:50:56 +00:00
Christopher Baines
82c98d17a7
hydra: berlin: Add Christopher Baines as a sysadmin.
* hydra/berlin.scm (%sysadmins): Add cbaines.
2020-11-28 10:10:25 +00:00
Christopher Baines
b4c4b8eb09
hydra: Add fosshost machines.
These are virtual machines provided by Fosshost. They're situated in
the USA, and currently each have 6 cores + 8GB of RAM.

They're currently being uses to build things through the instance of
the Guix Build Coordinator I'm running to quality assurance and patch
review, but they can be used for other things as well.

* hydra/fosshost1.scm: New file.
* hydra/fosshost2.scm: New file.
2020-11-28 09:47:44 +00:00
Christopher Baines
3a9db54953
hydra: dns: Fix fosshost variable names.
* hydra/modules/sysadmin/dns.scm: Change fosshost variable names.
2020-11-28 09:01:30 +00:00
Christopher Baines
5c92030ec0
hydra: dns: Add fosshost machines.
* hydra/modules/sysadmin/dns.scm (fosshost-1-ipv4, fosshost-2-ipv4):
New variables.
(guix.gnu.org.zone): Add A records for the above IPs.
2020-11-28 08:57:57 +00:00
Mathieu Othacehe
8bd8f54315
hydra: services: Update Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Update to 0.0.1-55.fd432b8.
2020-11-25 16:58:32 +01:00
Mathieu Othacehe
5d18f13ab3
hydra: services: Update Cuirass.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Update to 0.0.1-54.e0f97e.
2020-11-25 14:49:01 +01:00
Ludovic Courtès
21d1bfe3bf
nginx: berlin: Add location block for /audio.
* hydra/nginx/berlin.scm (guix.gnu.org-locations): Add location for /audio.
2020-11-23 14:51:05 +01:00
Ludovic Courtès
fd82333ab0
hydra: cleanup-cuirass-roots: Run twice a day.
* hydra/modules/sysadmin/services.scm (gc-jobs): Run
CLEANUP-CUIRASS-ROOTS twice a day.
2020-11-23 14:50:32 +01:00
Ludovic Courtès
204956463a
hydra: berlin: Update manual to 1.2.0.
* hydra/berlin.scm (services)[static-web-site-configuration]: Switch to
"version-1.2.0".
2020-11-23 08:56:40 +01:00
Ludovic Courtès
a479b39239
hydra: bayfront: Add extra channels to hpcguix-web.
* hydra/bayfront.scm (%hpcguix-web-channels): New variable.
(services)[hpcguix-web-configuration]: Use it.
2020-11-20 21:21:07 +01:00
Ludovic Courtès
41574e418a
hydra: bayfront: Explicitly list authorized keys.
* hydra/bayfront.scm (%build-node-keys): New variables.
(services): Pass #:authorized-keys to 'frontend-services'.
2020-11-20 21:21:07 +01:00
Andreas Enge
77a4e57584
hydra: goggles: Hide file extensions in the index.
* hydra/goggles.scm (index): Define a DROP-EXTENSION procedure and use it.
2020-11-16 18:26:15 +01:00
Tobias Geerinckx-Rice
fe13de2231
hydra: Support optional HTTPS to logs.guix.gnu.org.
* hydra/bayfront.scm (%certbot-configuration): Add logs.guix.gnu.org to the
DOMAINS.
* hydra/nginx/bayfront.conf: Add a Certbot webroot location to the
logs.guix.gnu.org HTTP server.  Add an HTTPS (‘ssl’) server block for the
same domain using the newly-generated certificate.
2020-11-16 17:31:42 +01:00
Marius Bakke
6465fd6d53
hydra: build-machines: GC more.
Recently many machines runs out of disk space regularly.

* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os):
Free 150GiB instead of 90 GiB.
2020-11-11 00:42:03 +01:00
Ludovic Courtès
0bf8202de8
hydra: cleanup-cuirass-roots: Remove image GC roots after two days.
* hydra/modules/sysadmin/services.scm (cleanup-cuirass-roots)[old?]:
Change to 2 days.
2020-11-09 09:18:03 +01:00
Ludovic Courtès
add9906718
hydra: services: Increase cache-bypass-threshold to 50 MiB (from 10 MiB).
* hydra/modules/sysadmin/services.scm (frontend-services): Add
 #:cache-bypass-threshold and use it in 'guix-publish-configuration'.
2020-11-06 12:30:46 +01:00
Ludovic Courtès
50b3c13261
hydra: Add signing key for guix-x15.sjd.se.
* hydra/keys/guix/berlin/guix-x15.sjd.se.pub: New file.
2020-11-04 11:40:23 +01:00
Tobias Geerinckx-Rice
04d2d25068
hydra: Add signing keys of {dmitri,sergei}.tobias.gr.
* hydra/keys/guix/berlin/dmitri.tobias.gr.pub,
hydra/keys/guix/berlin/sergei.tobias.gr.pub: New files.
2020-11-01 16:40:57 +01:00
Ludovic Courtès
0142a54267
hydra: berlin: Specify the complete list of authorized keys.
This is in preparation of purely declarative ACLs:

  https://issues.guix.gnu.org/39819#8

* hydra/berlin.scm (%build-node-key-directory, %build-node-keys): New
variables.
<top level>: Pass #:authorized-keys to 'frontend-services'.
2020-10-25 00:12:19 +02:00
Ludovic Courtès
e641701d2b
hydra: Add signing keys of the berlin build nodes.
We're missing the keys for {dmitri,sergei}.tobias.gr, currently off-line.

* hydra/keys/guix/berlin: New directory.
2020-10-25 00:12:19 +02:00
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
4e8aee73ee
hydra: berlin: Conditionally set max-cores on build nodes.
* hydra/berlin-nodes.scm (machine): Set MAX-CORES depending on memory size.
2020-10-18 23:07:44 +02:00
Marius Bakke
b48b10a4c1
hydra: berlin: Reduce parallel-builds on x86_64 offloading targets.
* hydra/machines-for-berlin.scm (template-x86_64): Set PARALLEL-BUILDS
to match the nodes' max-jobs setting.
2020-10-18 22:54:03 +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
Ludovic Courtès
cfc785885a
hydra: berlin: Increase number of build users.
Recently we have run out of build users on a few occasions so increase
the number.

* hydra/berlin.scm <services>: Pass #:build-accounts-to-max-jobs-ratio
to 'frontend-services'.
2020-10-16 14:38:01 +02:00
Ludovic Courtès
27b41e0dc1
hydra: berlin: Remove childhurd.
This essentially reverts commit
7463429bee, which was used for testing.

* hydra/berlin.scm (childhurd-gc-job, childhurd-os)
(childhurd-net-options): Remove.
<service>: Remove 'hurd-vm-service-type' instance.
2020-10-16 14:29:34 +02:00
Ludovic Courtès
24b6cb9959
nginx: berlin: Allow clients to cache /static and /manual stuff.
* hydra/nginx/berlin.scm (guix.gnu.org-locations): Add "/static" location
with "expires" directive.  Add "expires" directive for /manual/devel,
/manual, and /cookbook.
2020-10-16 14:29:34 +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
76e9199286
Fix machines-for-berlin.scm.
* hydra/machines-for-berlin: Fix indentation and syntax.
2020-10-15 11:08:11 +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
Mathieu Othacehe
91dc56b0ac
hydra: nginx: Increase proxy timeout.
* hydra/nginx/berlin.scm (%extra-content): Increase proxy_cache_valid to 10
seconds.
2020-10-14 21:16:48 +02:00