Commit Graph

1994 Commits

Author SHA1 Message Date
Arun Isaac 7369af08b1
hydra: services: Add cuirass spec for mumi.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add mumi spec.
2023-08-25 16:45:16 +01:00
Christopher Baines c7194f7d23
hydra: bayfront: Have GC clear more disk space.
There's no need to have a large store on bayfront, so change the gc
configuration to reduce it in size. Also reduce the frequency so that
the gc blocks other operations less often.

* hydra/bayfront.scm <services>: Change gc configuration.
2023-08-10 14:26:06 +01:00
Giovanni Biscuolo bc152f18a7
hydra: Update SSH key for atrent.
* hydra/keys/ssh/atrent.pub: Replace with new RSA key.
2023-08-04 09:24:56 +02:00
Giovanni Biscuolo a5f2771bd4
hydra: milano-guix-1: Replace disks.
Replace broken disks (and reinstall).

* hydra/milano-guix-1.scm:
  - (bootloader): Add sdd to targets;
  - (file-systems): Replace uuid of root mount point;
  - (swap-devices): Replace devices names with uuid.
2023-08-04 08:33:06 +02:00
Christopher Baines 39f503fc44
hydra: bayfront: Keep connections to hydra-guix-129 alive.
To try and reduce the chance of the MDC blocking requests from
bayfront.

* hydra/bayfront.scm (%bordeaux.guix.gnu.org-nginx-servers): Enable
keeping connections to hydra-guix-129 alive.
<services>: Keep up to 2 connections from each NGinx worker process to
hydra-guix-129 alive.
2023-07-27 16:31:37 +01:00
Ludovic Courtès 73da7847f3
hydra: Rename key for 'dover' and update it.
The signing key on 'dover' was apparently changed on April 18th, 2023.

* hydra/keys/guix/berlin/dover.guix.info:9023.pub: Rename to...
* hydra/keys/guix/berlin/dover.guix.gnu.org.pub: ... this.  Update key.
2023-07-02 15:29:01 +02:00
Ludovic Courtès 0846346462
hydra: cuirass: Add introduction for 'cuirass' channel.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add introduction
for 'cuirass' channel.
2023-06-24 23:03:02 +02:00
Ludovic Courtès 22d75d93ae
hydra: cuirass: Fix typo in 'shepherd' jobset.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Fix branch name
for 'shepherd' channel.
2023-06-24 23:03:02 +02:00
Christopher Baines f1dc3e08e3
hydra: bayfront: Switch bayfront to use hydra-guix-129 directly.
Rather than reverse proxying requests to bishan, which then would
reverse proxy to hydra-guix-129.

This will mean more requests get sent to hydra-guix-129 so we'll have
to monitor how well this works.

* hydra/bayfront.scm (%bordeaux.guix.gnu.org-nginx-servers): Reverse
proxy nar requests to hydra-guix-129.
2023-06-18 20:58:52 +01:00
Ludovic Courtès 9ce5631992
hydra: cuirass: Add 'cuirass' jobset.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add 'cuirass'.
2023-06-07 15:11:06 +02:00
Ludovic Courtès 9fa5e10ec5
hydra: cuirass: Update spec of Guile and the Shepherd.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Update manifest
file.
2023-06-07 15:11:06 +02:00
Christopher Baines 97cb27d0bb
hydra: Add configuration for beid.
This is a Hetzner VM I've had for a while. It's currently a key part
in the patch and branch testing since it runs data.qa.guix.gnu.org,
git.guix-patches.cbaines.net and patches.guix-patches.cbaines.net.

Publishing the configuration is long overdue.

* hydra/beid.scm: New file.
2023-06-03 11:27:43 +01:00
Christopher Baines c878c4e116
hydra: bayfront: Remove the queue builds service.
I'm moving this functionality to the build farm front-end, it's always
been a bit odd having it in the build coordinator codebase and now
that there's a proper frontend, I think that's the natural place for
it to sit.

* hydra/bayfront.scm <services>: Remove the
guix-build-coordinator-queue-builds-service-type service.
2023-06-02 16:54:26 +01:00
Lars-Dominik Braun 4be0947783
hydra: Add Guix CRAN repository updater.
* hydra/modules/sysadmin/packages.scm (guix-cran-scripts): New variable.
* hydra/modules/sysadmin/services.scm (guix-cran-job, %guix-cran-accounts,
guix-cran-service-type): New variables.
* hydra/berlin.scm <services>: Add guix-cran-service-type.
2023-06-01 22:47:58 +02:00
Arun Isaac 37b1cc1dce
hydra: berlin: Upgrade mumi to 0.0.5-3.357eb51.
* hydra/berlin.scm (mumi-latest): New variable.
(operating-system)[services]: Use mumi-latest in mumi-service-type.
2023-05-30 19:22:16 +01:00
Christopher Baines aad0050c89
hydra: bayfront: Update config.
bishan has run out of space but now uses hydra-guix-129 as a source
for nars it doesn't have. This means that bayfront can now remove nars
as long as both hatysa and hydra-guix-129 have them.

Since I'd like to get rid of bishan, I was thinking of having bayfront
use hydra-guix-129 directly, but this isn't currently possible as the
MDC is blocking requests from bayfront.

* hydra/bayfront.scm (%bordeaux.guix.gnu.org-nginx-servers): Add Via
header to nar requests.
<services>: Change the nar-herder to remove nars if they're stored on
both hatysa and hydra-guix-129.  Tweak the
guix-build-coordinator-agent configuration to allow parallel uploads.
2023-05-30 18:08:33 +01:00
Christopher Baines c11084448a
hydra: bishan: Update config.
* hydra/bishan.scm (%nginx-server-blocks): Add via header on requests,
and use hydra-guix-129 when nars aren't found locally.
<services>: Add IPv4 address, set a storage limit for the nar-herder,
increase the NGinx worker processes and change the nar-storage upstream.
2023-05-30 18:06:54 +01:00
Christopher Baines a35f3a0dee
hydra: deploy-node-129: Store and serve bordeaux nars.
Step in for bishan (which has run out of space) to store and serve all
the bordeaux nars.

* hydra/deploy-node-129.scm (%nginx-server-blocks): New variable.
<services>: Switch to mirroring bordeaux.guix.gnu.org directly, and
add certbot and nginx.
2023-05-30 18:04:57 +01:00
Ludovic Courtès 843b517153
hydra: berlin: Use local substitutes.
* hydra/modules/sysadmin/services.scm (guix-daemon-config)
(frontend-services): Add #:substitute-urls and honor it.
* hydra/berlin.scm: Pass #:substitute-urls to 'frontend-services'.
2023-05-30 18:16:47 +02:00
Christopher Baines b9bf168c63
hydra: dns: Fix DNS entry for hydra-guix-129.
* hydra/modules/sysadmin/dns.scm (hydra-guix-129-ip4): Use the public IP.
(guix.gnu.org-zone): Bump 'serial'.
2023-05-30 14:17:57 +01:00
Christopher Baines 1ce3197d3f
hydra: dns: Add DNS entry for hydra-guix-129.
* hydra/modules/sysadmin/dns.scm (hydra-guix-129-ip4): New variable.
(guix.gnu.org.zone): Add IPv4 address for hydra-guix-129.
(guix.gnu.org-zone): Bump 'serial'.
2023-05-30 08:22:34 +01:00
Christopher Baines 89adcea411
hydra: hamal: Add ludo as a sysadmin.
* hydra/hamal.scm (%accounts): Add ludo.
2023-05-29 19:32:38 +01:00
Christopher Baines 15afbf3343
Revert "hydra: bayfront: Stop the qa-frontpage submitting builds."
The qa-frontpage now can detect when it needs to wait before
submitting builds, so re-enable this.

This reverts commit 6343780896.
2023-05-25 09:50:21 +01:00
Maxim Cournoyer 0d86124423
berlin: Add missing parenthesis.
* hydra/berlin.scm (%sysadmins): Add missing closing parenthesis.
2023-05-24 20:08:46 -04:00
Efraim Flashner 086e95d5e1
hydra: berlin: Add Efraim Flashner as a sysadmin.
* hydra/berlin.scm (%sysadmins): Add Efraim Flashner.
2023-05-23 10:25:49 +03:00
Christopher Baines 50d1ca5e6e
sysadmin: qa-frontpage: Update to 0-13.4c77d29.
* hydra/modules/sysadmin/packages.scm (qa-frontpage): Update to
0-13.4c77d29.
2023-05-22 19:41:34 +01:00
Christopher Baines 35b8b49a89
Partially revert "hydra: bayfront: Free up some space."
Dropping the cache size can (and did) lead to removing cached nars,
which has caused problems for Guix clients that expect the zstd
compression to be available.

Increasing the cache size will at least allow these zstd compressed
nars to be cached again.

This partially reverts commit
ce8d3000fd.

* hydra/bayfront.scm <services>[nar-herder]: Increase the zstd
directory-max-size.
2023-05-22 10:50:47 +01:00
Christopher Baines f15acee184
hydra: node-129: Add the nar-herder to start syncing bordeaux nars.
As part of the plan to store and serve bordeaux nars from the attached
SSDs, this commit adds the nar-herder to start downloading the nars.

This is mirroring from bishan as that has most of the nars, and this
avoids downloading everything via bayfront.

The next step will be to setup DNS and deploy NGinx.

* hydra/deploy-node-129.scm (node-129-os) [packages]: Add nss-certs.
[file-systems]: Mount the @bordeaux-nars subvolume.
[services]: Add the nar-herder.
2023-05-22 10:28:44 +01:00
Christopher Baines f11e9c58b2
hydra: dns: Add IPv4 address for bishan.
This is necessary to enable hydra-guix-129 to access bishan to sync
nars, since hydra-guix-129 is IPv4 only.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add IPv4 address
for bishan.
(guix.gnu.org-zone): Bump 'serial'.
2023-05-22 09:17:02 +01:00
Maxim Cournoyer ed9fa3216f
hydra: berlin: Factorize btrfs-send mcron job script.
* hydra/berlin.scm (btrfs-send-job): Break the script into smaller
procedures to improve readability.
2023-05-19 17:23:17 -04:00
Maxim Cournoyer 0b402ffc49
hydra: berlin: Add an initial (incomplete) btrfs-send-job mcron job.
* hydra/berlin.scm (btrfs-send-job): New mcron job.
[services] <mcron-service-type>: Register it.
2023-05-19 16:10:51 -04:00
Maxim Cournoyer b49da23ee6
hydra: node-129: Add an rsync service for substitutes mirroring.
* hydra/deploy-node-129.scm (node-129-os) [file-systems]: Move
@publish-mirror subvolume to SAN storage.
[services]: Add an rsync service.
2023-05-19 10:04:11 -04:00
Christopher Baines 45a4a4d9f3
hydra: bayfront: Address tor-hidden-service being deprecated.
* hydra/bayfront.scm <services>[tor-hidden-service]: Inline behaviour
of tor-hidden-service.
2023-05-18 16:22:00 +01:00
Christopher Baines ce8d3000fd
hydra: bayfront: Free up some space.
By dropping the size of some caches.  This is hopefully a temporary
measure while the nar storage is sorted out.

* hydra/bayfront.scm (%bayfront-nginx-service-extra-config): Drop the
cache size.
<services>[nar-herder]: Drop the zstd directory-max-size.
2023-05-18 16:20:26 +01:00
Christopher Baines 931a28ffca
hydra: bayfront: Work around "Signals delivery fails constantly".
Affecting both the build coordinator and nar herder:
https://issues.guix.gnu.org/63368

* hydra/bayfront.scm (%guix-build-coordinator-configuration): Add
GC_RETRY_SIGNALS=0 to extra-environment-variables.
<services>[nar-herder]: Likewise.
2023-05-18 16:18:07 +01:00
Christopher Baines cd52cab285
hydra: bayfront: Use the new ns1.gnu.org IP address.
As announced on guix-sysadmin (06/05/23), in addition to the old
one. This will enable the FSF sysadmins to migrate ns1 to the new IP.

* hydra/bayfront.scm (gnu-ns1-ip4): Rename to gnu-ns1-ip4/old.
(gnu-ns1-ip4/new): New variable.
(operating-system)[services]: Change knot configuration to use both
new and old nameserver remotes.
2023-05-18 10:38:30 +01:00
Maxim Cournoyer 995004a731
hydra: node-129: Authorize berlin's SSH key for root user.
* hydra/deploy-node-129.scm (node-129-os) [services] <openssh>:
Authorize the berlin.guixsd.org.pub SSH key for the 'root' user.
Allow berlin (141.80.181.40) to connect as root.
2023-05-17 23:14:25 -04:00
Maxim Cournoyer 3c8c7e5af0
hydra: node-129: Expose the SSDs as a new RAID 10 Btrfs array.
* hydra/deploy-node-129.scm (%btrfs-ssd-raid10-uuid): New variable.
(%btrfs-pool-san): Relocate mount point to /mnt/btrfs-pool-san.
(%btrfs-pool-ssd): New variable.
(btrfs-subvolume-mount): Support a #:device-uuid argument.
(node-129-os) [file-systems]: Add %btrfs-pool-ssd. Mount the
@publish-mirror subvolume to /srv/publish/substitutes.
2023-05-17 20:21:45 -04:00
Maxim Cournoyer 19edb61d33
hydra: deploy-node-129: Fix indentation.
* hydra/deploy-node-129.scm (node-129-os): Re-indent.
2023-05-17 14:10:38 -04:00
Maxim Cournoyer 73984e7f95
berlin: Move guix-publish cache to its own Btrfs subvolume.
* hydra/berlin.scm (btrfs-subvolume-mount): Move the DEVICE-UUID to a
 #:device-uuid argument.
(operating-system) [file-systems]: Add a new mount point for the
@publish subvolume.
2023-05-16 12:10:55 -04:00
Christopher Baines e8673a47c8
sysadmin: build-machines: Add myself as a sysadmin.
As part of using hydra-guix-129 to store and serve nars for the
bordeaux build farm.

* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os)[sysadmins]:
Add myself.
2023-05-12 13:17:32 +01:00
Simon Tournier 24249ac02e
hydra: build-package-metadata: Update fields in sources.json.
This format had been discussed in
<https://gitlab.softwareheritage.org/swh/infra/sysadm-environment/-/issues/4868>.

* hydra/build-package-metadata.scm (origin->json)[resolve]: Add the fields
'outputHashAlgo' and 'outputHashMode'.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-05-12 13:45:01 +02:00
Maxim Cournoyer 5a6b8cd728
berlin: Remove no longer existing CRL file from config.
The new ssl-ca certificate authority produced doesn't have a CRL file
for now.  Remove it from the config to avoid crashing nginx.

* hydra/nginx/berlin.scm (%berlin-servers): Remove ssl_crl directive.
(%zabbix-nginx-server): Likewise.
2023-05-11 00:25:19 -04:00
Maxim Cournoyer c683686b36
hydra: deploy-node-129: Set default route.
Previously, the default route would be internal to the network,
causing replies to external requests to be filtered by the firewall.

* hydra/deploy-node-129.scm (node-129-os)
[static-networking-service-type]: Set default route to 141.80.181.1.
2023-05-10 14:24:59 -04:00
Christopher Baines 4e390f1f7f
hydra: bayfront: Start bordeaux building riscv64-linux packages.
As there's now a riscv64-linux machine connected to the coordinator.

* hydra/bayfront.scm <services>: Add riscv64-linux to the systems list
in the queue builds service type configuration.
2023-05-09 16:48:12 +01:00
Christopher Baines c92bae3bea
sysadmin: qa-frontpage: Update to 0-12.d1eefc8.
* hydra/modules/sysadmin/packages.scm (qa-frontpage): Update to
0-12.d1eefc8.
2023-05-09 16:48:02 +01:00
Ludovic Courtès fbbb7ac1e7
hydra: services: Add Cuirass spec for the Shepherd.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Add 'shepherd' spec.
2023-05-09 14:39:02 +02:00
Christopher Baines a3e5c6fe93
Revert "hydra: bayfront: Stop submitting i586-gnu builds to the coordinator."
While things are still quite broken, the derivations themselves aren't
any more.

This reverts commit b1b0a47c9d.
2023-05-07 14:05:40 +01:00
Christopher Baines 5fd1008883
sysadmin: dns: Add guix domain names for all the ARM systems I host.
To help standardise access.

* hydra/modules/sysadmin/dns.scm (monokuma-ip6, dover-ip6, hatysa-ip6,
hamal-ip6): New variables.
(guix.gnu.org.zone): Use them and bump serial.
* hydra/machines.rec: Update accordingly.
2023-05-07 10:18:44 +01:00
Christopher Baines d4720c47a2
sysadmin: dns: Remove old domain names.
The lakeside machine was replaced by bishan, and the fosshost machines
are no longer around.

* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Remove lakeside,
fosshost1 and fosshost2.
2023-05-07 10:01:03 +01:00