* hydra/modules/sysadmin/web.scm (static-web-site-mcron-jobs): Expect a
list of <static-web-site-configuration> records.
(static-web-site-activation): Likewise.
(static-web-site-accounts): Define using 'const'.
* hydra/website.scm (website-services): Adjust accordingly, using one
'static-web-site-service-type' instance for all of guix.gnu.org.
* hydra/bayfront.scm <services>: Adjust hpc.guix.info instance
accordingly.
This factorizes the guix.gnu.org web site configuration.
The nginx.conf derivation for berlin.scm is left unchanged.
* hydra/nginx/berlin.scm (le, redirect, %tls-settings)
(guix.gnu.org-redirect-locations, languages-to-accept)
(guix.gnu.org-redirects-for-each-language)
(guix.gnu.org-other-locations, accept-languages): Move to...
* hydra/modules/sysadmin/nginx.scm: ... here.
* hydra/nginx/berlin.scm (%berlin-servers): Use
GUIX.GNU.ORG-NGINX-SERVER instead of the inline copy.
This technique wouldn't work as long as ci.guix.gnu.org substitutes
aren't authorized:
https://lists.gnu.org/archive/html/guix-devel/2021-10/msg00167.html
It's also unnecessary now that 498a532c31
periodically rsyncs the Disarchive database from berlin.
* hydra/bayfront.scm <services>: Remove DISARCHIVE-SERVICE-TYPE
instance.
* 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.
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.
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.
This increases the number of concurrent requests it can handle.
* hydra/bayfront.scm (services): Alter the nginx-configuration to run
8 worker processes.
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.
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.
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.
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.
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.
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.