Skip to content

Commit 3e899b9

Browse files
committed
hydra-queue-runner-v2: 8266ce98 -> 66d8c5d0, fod checker
1 parent 2d9f08b commit 3e899b9

File tree

3 files changed

+59
-6
lines changed

3 files changed

+59
-6
lines changed

non-critical-infra/hosts/staging-hydra/hydra.nix

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ let
1313
in
1414
{
1515
networking.firewall.allowedTCPPorts = [
16-
9198 # queue-runnner metrics
16+
8080 # queue-runnner metrics
1717
9199 # hydra-notify metrics
1818
];
1919

@@ -63,7 +63,16 @@ in
6363
services = {
6464
hydra-dev = {
6565
enable = true;
66-
package = pkgs.hydra;
66+
package = (
67+
pkgs.hydra.overrideAttrs {
68+
patches = [
69+
(pkgs.fetchpatch2 {
70+
url = "https://patch-diff.githubusercontent.com/raw/NixOS/hydra/pull/1542.patch";
71+
hash = "sha256-Hu0PdYZbjWa1w0FM4oDGqBWj6ODNJcRYROIkePkO/3I=";
72+
})
73+
];
74+
}
75+
);
6776
buildMachinesFiles = [
6877
(pkgs.writeText "local" ''
6978
localhost ${lib.concatStringsSep "," localSystems} - 3 1 ${lib.concatStringsSep "," config.nix.settings.system-features} - -
@@ -120,12 +129,20 @@ in
120129

121130
hydra-queue-runner-v2 = {
122131
enable = true;
132+
rest = {
133+
address = "[::0]";
134+
port = 8080;
135+
};
123136
settings = {
124137
queueTriggerTimerInS = 300;
125138
concurrentUploadLimit = 2;
126139
remoteStoreAddr = [
127140
"s3://nix-cache-staging?secret-key=${config.sops.secrets.signing-key.path}&ls-compression=br&log-compression=br"
128141
];
142+
fodChecker = {
143+
enable = true;
144+
uploadRealisations = true;
145+
};
129146
};
130147
};
131148

non-critical-infra/modules/hydra-queue-runner-v2.nix

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,42 @@ in
116116
type = lib.types.nullOr lib.types.path;
117117
default = null;
118118
};
119+
usePresignedUploads = lib.mkOption {
120+
description = ''
121+
If enabled the queue runner will no longer upload to s3 but rather the builder will do the uploads.
122+
This also requires a s3 remote store, as well as substitution on the builders.
123+
You can use forcedSubstituters setting to specify the required substituter on the builders.
124+
'';
125+
type = lib.types.bool;
126+
default = false;
127+
};
128+
forcedSubstituters = lib.mkOption {
129+
description = "Force a list of substituters per builder. Builder will no longer be accepted if they don't have `useSubstitutes` with the substituters listed here.";
130+
type = lib.types.listOf lib.types.singleLineStr;
131+
default = null;
132+
};
133+
fodChecker = lib.mkOption {
134+
description = "Reloadable settings for queue runner";
135+
type = lib.types.submodule {
136+
options = {
137+
enable = lib.mkOption {
138+
description = "Enable FOD Checker";
139+
type = lib.types.bool;
140+
default = false;
141+
};
142+
secondsBetweenFodChecks = lib.mkOption {
143+
description = "Time in seconds between FOD Checker";
144+
type = lib.types.int;
145+
default = 60 * 60 * 24 * 7;
146+
};
147+
uploadRealisations = lib.mkOption {
148+
description = "Upload realisations outputs of FOD Checker to remote store.";
149+
type = lib.types.bool;
150+
default = false;
151+
};
152+
};
153+
};
154+
};
119155
};
120156
};
121157
default = { };

non-critical-infra/packages/hydra-queue-runner/default.nix

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
withOtel ? false,
1515
}:
1616
let
17-
version = "unstable-2025-11-27";
17+
version = "unstable-2025-11-30";
1818
src = fetchFromGitHub {
1919
owner = "helsinki-systems";
2020
repo = "hydra-queue-runner";
21-
rev = "8266ce9818393ee9d0fe3ffd7bcde3eb09c2221f";
22-
hash = "sha256-tC4s+opt4BpN0qFx96AXhtUEJj8T7J5C68Hjj2OEetM=";
21+
rev = "66d8c5d094987f6f54ec81b488812b999358267b";
22+
hash = "sha256-MwmnMExE2xDtZZFUXVec1xThvGx2GJUdFEVVOMtlF3Q=";
2323
};
24-
cargoHash = "sha256-49p2mC0DmsdgWdj4mWZf7SZj4Gd9eQFqTGRDzvMYSQM=";
24+
cargoHash = "sha256-jfM+1fa0LhIP0aB+sbEsRY1ps2cM2PLqlno/W+Lc1lQ=";
2525
nativeBuildInputs = [
2626
pkg-config
2727
protobuf

0 commit comments

Comments
 (0)