Compare commits

...

8 Commits

Author SHA1 Message Date
0b047b7272 weasel: nix-serve bind to 0.0.0.0 2025-10-08 15:24:41 +02:00
354c11c329 weasel: add custom nix-serve
Proper override for haskell package

madness

Fix nix-serve-ng override
2025-10-08 15:24:41 +02:00
6a01158c43 Add https github to allowed uris 2025-10-08 15:24:41 +02:00
d7f92a9126 Make hydra shut up 2025-10-08 15:24:40 +02:00
ed6cb7e6ea Add bscpm and gitlab-internal to allowed-uris 2025-10-08 15:24:40 +02:00
ed8eafba79 weasel: enable hydra tcp port in firewall 2025-10-08 15:24:40 +02:00
937f08d11c hydra: set listen host 2025-10-08 15:24:40 +02:00
71b8198e4a Enable hydra on weasel 2025-10-08 15:24:40 +02:00
2 changed files with 72 additions and 1 deletions

View File

@@ -1,10 +1,11 @@
{ lib, ... }:
{ lib, pkgs, ... }:
{
imports = [
../common/ssf.nix
../module/hut-substituter.nix
./virtualization.nix
./hydra.nix
];
# Select this using the ID to avoid mismatches
@@ -32,4 +33,22 @@
} ];
};
services.nix-serve = {
enable = true;
bindAddress = "0.0.0.0";
port = 5000;
package = pkgs.haskell.lib.overrideSrc (pkgs.haskell.packages.ghc96.nix-serve-ng.override { nix = pkgs.nixVersions.nix_2_28; }) {
src = pkgs.fetchgit {
url = "https://jungle.bsc.es/git/abonerib/nix-serve-ng.git";
rev = "9c056641300a826db66b66d7e584b2541d38927a";
hash = "sha256-y69ZchFiZOU71eyeljcQgLxkLk5JUzZfanq8Yzw4MkI=";
};
version = "unstable";
};
secretKeyFile = "/var/cache-priv-key.pem";
# Public key:
# 10.0.40.6:8jBhIdXEBap+Qo+vc1/fnV9vj43A2oDk839EEheRr/U=
};
}

52
m/weasel/hydra.nix Normal file
View File

@@ -0,0 +1,52 @@
{ config, pkgs, lib, ... }:
{
services.hydra = {
enable = true;
# Wrap hydra so it puts quiet flag every time... This is dumb and annoying,
# but i can't override the systemd ExecStart without running into infinite
# recursion.
package = pkgs.symlinkJoin {
name = "hydra-quiet";
paths = [ pkgs.hydra ];
postBuild = ''
for prog in hydra-queue-runner hydra-evaluator ; do
prev=$(realpath $out/bin/$prog)
rm $out/bin/$prog
cat >$out/bin/$prog <<EOF
#!/bin/sh
args=()
for arg in "\$@"; do
if [ "\$arg" != "-v" ]; then
args+=("\$arg")
fi
done
exec $prev --quiet "\''${args[@]}"
EOF
chmod +x $out/bin/$prog
done
'';
};
hydraURL = "http://localhost:3001"; # externally visible URL
notificationSender = "hydra@jungle.bsc.es"; # e-mail of Hydra service
port = 3001;
# a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
buildMachinesFiles = [ ];
# you will probably also want, otherwise *everything* will be built from scratch
useSubstitutes = true;
listenHost = "0.0.0.0"; # Force IPv4
};
systemd.services.hydra-send-stats.enable = lib.mkForce false;
networking.firewall.allowedTCPPorts = [ config.services.hydra.port ];
nix.settings.extra-allowed-uris = [
"git+ssh://git@bscpm04.bsc.es"
"git+ssh://git@gitlab-internal.bsc.es"
"https://github.com"
"git+ssh://github.com"
];
}