nixos-config/config/services/hydra.nix
Charlotte 🦝 Delenk eff5a28f9c
All checks were successful
Hydra packages.x86_64-linux.plover-plugin-modal-dictionary Hydra build #23566 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-modal-dictionary
Hydra packages.x86_64-linux.emoji-lotte Hydra build #23530 of nixos-config:pr625:packages.x86_64-linux.emoji-lotte
Hydra packages.x86_64-linux.mautrix-whatsapp Hydra build #23553 of nixos-config:pr625:packages.x86_64-linux.mautrix-whatsapp
Hydra packages.x86_64-linux.plover-plugin-stitching Hydra build #23570 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-stitching
Hydra thinkrac.x86_64-linux Hydra build #23581 of nixos-config:pr625:thinkrac.x86_64-linux
Hydra packages.aarch64-linux.mautrix-slack Hydra build #23496 of nixos-config:pr625:packages.aarch64-linux.mautrix-slack
Hydra packages.aarch64-linux.plover Hydra build #23503 of nixos-config:pr625:packages.aarch64-linux.plover
Hydra packages.aarch64-linux.emoji-volpeon-bunhd Hydra build #23480 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-bunhd
Hydra packages.aarch64-linux.python-simplefuzzyset Hydra build #23522 of nixos-config:pr625:packages.aarch64-linux.python-simplefuzzyset
Hydra packages.x86_64-linux.emoji-raccoon Hydra build #23531 of nixos-config:pr625:packages.x86_64-linux.emoji-raccoon
Hydra packages.x86_64-linux.lotte-art Hydra build #23548 of nixos-config:pr625:packages.x86_64-linux.lotte-art
Hydra packages.aarch64-linux.papermc Hydra build #23502 of nixos-config:pr625:packages.aarch64-linux.papermc
Hydra packages.aarch64-linux.asar-asm Hydra build #23471 of nixos-config:pr625:packages.aarch64-linux.asar-asm
Hydra packages.x86_64-linux.python-plover-stroke Hydra build #23575 of nixos-config:pr625:packages.x86_64-linux.python-plover-stroke
Hydra packages.x86_64-linux.emoji-volpeon-fox Hydra build #23539 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-fox
Hydra packages.aarch64-linux.emoji-volpeon-neocat Hydra build #23486 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-neocat
Hydra packages.aarch64-linux.emoji-volpeon-bunhd-flip Hydra build #23481 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-bunhd-flip
Hydra packages.aarch64-linux.python-plover-stroke Hydra build #23520 of nixos-config:pr625:packages.aarch64-linux.python-plover-stroke
Hydra packages.aarch64-linux.kreative-square Hydra build #23492 of nixos-config:pr625:packages.aarch64-linux.kreative-square
Hydra packages.aarch64-linux.plover-plugin-yaml-dictionary Hydra build #23517 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-yaml-dictionary
Hydra packages.aarch64-linux.plover-dict-didoesdigital Hydra build #23504 of nixos-config:pr625:packages.aarch64-linux.plover-dict-didoesdigital
Hydra packages.aarch64-linux.mautrix-telegram Hydra build #23497 of nixos-config:pr625:packages.aarch64-linux.mautrix-telegram
Hydra packages.x86_64-linux.emoji-caro Hydra build #23529 of nixos-config:pr625:packages.x86_64-linux.emoji-caro
Hydra packages.x86_64-linux.python-simplefuzzyset Hydra build #23577 of nixos-config:pr625:packages.x86_64-linux.python-simplefuzzyset
Hydra packages.x86_64-linux.constructium Hydra build #23528 of nixos-config:pr625:packages.x86_64-linux.constructium
Hydra packages.aarch64-linux.plover-plugins-manager Hydra build #23518 of nixos-config:pr625:packages.aarch64-linux.plover-plugins-manager
Hydra packages.x86_64-linux.plover-plugin-dict-commands Hydra build #23560 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-dict-commands
Hydra packages.x86_64-linux.mautrix-slack Hydra build #23551 of nixos-config:pr625:packages.x86_64-linux.mautrix-slack
Hydra packages.x86_64-linux.miifox-net Hydra build #23555 of nixos-config:pr625:packages.x86_64-linux.miifox-net
Hydra packages.aarch64-linux.plover-plugin-dotool-output Hydra build #23506 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-dotool-output
Hydra packages.x86_64-linux.fairfax Hydra build #23545 of nixos-config:pr625:packages.x86_64-linux.fairfax
Hydra packages.aarch64-linux.mautrix-whatsapp Hydra build #23498 of nixos-config:pr625:packages.aarch64-linux.mautrix-whatsapp
Hydra packages.aarch64-linux.plover-plugin-lapwing-aio Hydra build #23508 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-lapwing-aio
Hydra packages.aarch64-linux.matrix-media-repo Hydra build #23494 of nixos-config:pr625:packages.aarch64-linux.matrix-media-repo
Hydra packages.x86_64-linux.yiffstash Hydra build #23579 of nixos-config:pr625:packages.x86_64-linux.yiffstash
Hydra packages.aarch64-linux.mautrix-discord Hydra build #23495 of nixos-config:pr625:packages.aarch64-linux.mautrix-discord
Hydra packages.x86_64-linux.mgba-dev Hydra build #23554 of nixos-config:pr625:packages.x86_64-linux.mgba-dev
Hydra packages.aarch64-linux.mgba-dev Hydra build #23499 of nixos-config:pr625:packages.aarch64-linux.mgba-dev
Hydra nixos-8gb-fsn1-1.x86_64-linux Hydra build #23469 of nixos-config:pr625:nixos-8gb-fsn1-1.x86_64-linux
Hydra packages.x86_64-linux.python-rtf-tokenize Hydra build #23576 of nixos-config:pr625:packages.x86_64-linux.python-rtf-tokenize
Hydra packages.aarch64-linux.emoji-volpeon-blobfox Hydra build #23478 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-blobfox
Hydra packages.aarch64-linux.yiffstash Hydra build #23524 of nixos-config:pr625:packages.aarch64-linux.yiffstash
Hydra packages.aarch64-linux.fairfax-hd Hydra build #23491 of nixos-config:pr625:packages.aarch64-linux.fairfax-hd
Hydra packages.x86_64-linux.fairfax-hd Hydra build #23546 of nixos-config:pr625:packages.x86_64-linux.fairfax-hd
Hydra packages.aarch64-linux.emoji-volpeon-floof Hydra build #23483 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-floof
Hydra packages.x86_64-linux.python-mautrix Hydra build #23574 of nixos-config:pr625:packages.x86_64-linux.python-mautrix
Hydra packages.aarch64-linux.python-rtf-tokenize Hydra build #23521 of nixos-config:pr625:packages.aarch64-linux.python-rtf-tokenize
Hydra packages.aarch64-linux.plover-plugin-dict-commands Hydra build #23505 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-dict-commands
Hydra packages.x86_64-linux.emoji-volpeon-raccoon Hydra build #23543 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-raccoon
Hydra packages.x86_64-linux.plover-plugin-python-dictionary Hydra build #23567 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-python-dictionary
Hydra packages.aarch64-linux.emoji-raccoon Hydra build #23476 of nixos-config:pr625:packages.aarch64-linux.emoji-raccoon
Hydra packages.x86_64-linux.emoji-volpeon-vlpn Hydra build #23544 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-vlpn
Hydra packages.aarch64-linux.constructium Hydra build #23473 of nixos-config:pr625:packages.aarch64-linux.constructium
Hydra packages.x86_64-linux.plover Hydra build #23558 of nixos-config:pr625:packages.x86_64-linux.plover
Hydra packages.aarch64-linux.python-tulir-telethon Hydra build #23523 of nixos-config:pr625:packages.aarch64-linux.python-tulir-telethon
Hydra packages.aarch64-linux.emoji-volpeon-vlpn Hydra build #23489 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-vlpn
Hydra packages.x86_64-linux.plover-plugin-lapwing-aio Hydra build #23563 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-lapwing-aio
Hydra packages.x86_64-linux.alco-sans Hydra build #23525 of nixos-config:pr625:packages.x86_64-linux.alco-sans
Hydra packages.x86_64-linux.emoji-volpeon-drgn Hydra build #23537 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-drgn
Hydra packages.x86_64-linux.emoji-volpeon-blobfox-flip Hydra build #23534 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-blobfox-flip
Hydra packages.x86_64-linux.asar-asm Hydra build #23526 of nixos-config:pr625:packages.x86_64-linux.asar-asm
Hydra packages.x86_64-linux.plover-plugin-emoji Hydra build #23562 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-emoji
Hydra packages.x86_64-linux.mautrix-telegram Hydra build #23552 of nixos-config:pr625:packages.x86_64-linux.mautrix-telegram
Hydra packages.aarch64-linux.plover-plugin-machine-hid Hydra build #23510 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-machine-hid
Hydra packages.x86_64-linux.plover-plugin-tapey-tape Hydra build #23571 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-tapey-tape
Hydra packages.aarch64-linux.alco-sans Hydra build #23470 of nixos-config:pr625:packages.aarch64-linux.alco-sans
Hydra packages.x86_64-linux.python-tulir-telethon Hydra build #23578 of nixos-config:pr625:packages.x86_64-linux.python-tulir-telethon
Hydra packages.x86_64-linux.plover-plugin-machine-hid Hydra build #23565 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-machine-hid
Hydra packages.aarch64-linux.emoji-volpeon-drgn Hydra build #23482 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-drgn
Hydra packages.x86_64-linux.emoji-volpeon-neofox Hydra build #23542 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-neofox
Hydra packages.x86_64-linux.plover-plugin-rkb1-hid Hydra build #23568 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-rkb1-hid
Hydra packages.x86_64-linux.emoji-volpeon-floof Hydra build #23538 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-floof
Hydra packages.x86_64-linux.emoji-volpeon-neocat Hydra build #23541 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-neocat
Hydra packages.aarch64-linux.plover-plugin-python-dictionary Hydra build #23512 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-python-dictionary
Hydra packages.aarch64-linux.emoji-lotte Hydra build #23475 of nixos-config:pr625:packages.aarch64-linux.emoji-lotte
Hydra packages.x86_64-linux.emoji-volpeon-gphn Hydra build #23540 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-gphn
Hydra packages.aarch64-linux.emoji-volpeon-gphn Hydra build #23485 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-gphn
Hydra packages.x86_64-linux.plover-plugin-yaml-dictionary Hydra build #23572 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-yaml-dictionary
Hydra packages.x86_64-linux.plover-plugins-manager Hydra build #23573 of nixos-config:pr625:packages.x86_64-linux.plover-plugins-manager
Hydra packages.x86_64-linux.bsnes-plus Hydra build #23527 of nixos-config:pr625:packages.x86_64-linux.bsnes-plus
Hydra packages.aarch64-linux.plover-plugin-modal-dictionary Hydra build #23511 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-modal-dictionary
Hydra packages.x86_64-linux.plover-dict-didoesdigital Hydra build #23559 of nixos-config:pr625:packages.x86_64-linux.plover-dict-didoesdigital
Hydra packages.aarch64-linux.bsnes-plus Hydra build #23472 of nixos-config:pr625:packages.aarch64-linux.bsnes-plus
Hydra packages.aarch64-linux.lotte-art Hydra build #23493 of nixos-config:pr625:packages.aarch64-linux.lotte-art
Hydra packages.aarch64-linux.emoji-volpeon-blobfox-flip Hydra build #23479 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-blobfox-flip
Hydra packages.x86_64-linux.emoji-volpeon-bunhd-flip Hydra build #23536 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-bunhd-flip
Hydra packages.x86_64-linux.matrix-media-repo Hydra build #23549 of nixos-config:pr625:packages.x86_64-linux.matrix-media-repo
Hydra packages.aarch64-linux.python-mautrix Hydra build #23519 of nixos-config:pr625:packages.aarch64-linux.python-mautrix
Hydra packages.aarch64-linux.emoji-rosaflags Hydra build #23477 of nixos-config:pr625:packages.aarch64-linux.emoji-rosaflags
Hydra packages.aarch64-linux.miifox-net Hydra build #23500 of nixos-config:pr625:packages.aarch64-linux.miifox-net
Hydra packages.aarch64-linux.plover-plugin-stitching Hydra build #23515 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-stitching
Hydra packages.aarch64-linux.emoji-caro Hydra build #23474 of nixos-config:pr625:packages.aarch64-linux.emoji-caro
Hydra rainbow-resort.x86_64-linux Hydra build #23580 of nixos-config:pr625:rainbow-resort.x86_64-linux
Hydra packages.x86_64-linux.plover-plugin-last-translation Hydra build #23564 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-last-translation
Hydra instance-20221213-1915.aarch64-linux Hydra build #23467 of nixos-config:pr625:instance-20221213-1915.aarch64-linux
Hydra packages.aarch64-linux.emoji-volpeon-fox Hydra build #23484 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-fox
Hydra packages.aarch64-linux.emoji-volpeon-raccoon Hydra build #23488 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-raccoon
Hydra packages.aarch64-linux.fairfax Hydra build #23490 of nixos-config:pr625:packages.aarch64-linux.fairfax
Hydra packages.x86_64-linux.plover-plugin-dotool-output Hydra build #23561 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-dotool-output
Hydra installer.x86_64-linux Hydra build #23466 of nixos-config:pr625:installer.x86_64-linux
Hydra packages.aarch64-linux.plover-plugin-last-translation Hydra build #23509 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-last-translation
Hydra devShell.x86_64-linux Hydra build #23465 of nixos-config:pr625:devShell.x86_64-linux
Hydra packages.x86_64-linux.emoji-volpeon-blobfox Hydra build #23533 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-blobfox
Hydra packages.x86_64-linux.mautrix-discord Hydra build #23550 of nixos-config:pr625:packages.x86_64-linux.mautrix-discord
Hydra packages.x86_64-linux.emoji-rosaflags Hydra build #23532 of nixos-config:pr625:packages.x86_64-linux.emoji-rosaflags
Hydra packages.aarch64-linux.nasin-nanpa Hydra build #23501 of nixos-config:pr625:packages.aarch64-linux.nasin-nanpa
Hydra packages.x86_64-linux.papermc Hydra build #23557 of nixos-config:pr625:packages.x86_64-linux.papermc
Hydra packages.aarch64-linux.emoji-volpeon-neofox Hydra build #23487 of nixos-config:pr625:packages.aarch64-linux.emoji-volpeon-neofox
Hydra packages.aarch64-linux.plover-plugin-emoji Hydra build #23507 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-emoji
Hydra packages.x86_64-linux.plover-plugin-stenotype-extended Hydra build #23569 of nixos-config:pr625:packages.x86_64-linux.plover-plugin-stenotype-extended
Hydra packages.aarch64-linux.plover-plugin-tapey-tape Hydra build #23516 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-tapey-tape
Hydra packages.x86_64-linux.nasin-nanpa Hydra build #23556 of nixos-config:pr625:packages.x86_64-linux.nasin-nanpa
Hydra packages.x86_64-linux.emoji-volpeon-bunhd Hydra build #23535 of nixos-config:pr625:packages.x86_64-linux.emoji-volpeon-bunhd
Hydra packages.aarch64-linux.plover-plugin-rkb1-hid Hydra build #23513 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-rkb1-hid
Hydra packages.aarch64-linux.plover-plugin-stenotype-extended Hydra build #23514 of nixos-config:pr625:packages.aarch64-linux.plover-plugin-stenotype-extended
Hydra packages.x86_64-linux.kreative-square Hydra build #23547 of nixos-config:pr625:packages.x86_64-linux.kreative-square
Hydra nas.x86_64-linux Hydra build #23468 of nixos-config:pr625:nas.x86_64-linux
fix vf2 hostname
2024-11-04 07:45:58 +01:00

204 lines
6.7 KiB
Nix

{
system,
attic,
lib,
config,
pkgs,
hydra,
...
}: let
machines = pkgs.writeText "machines" ''
localhost armv7l-linux,powerpc-linux,powerpc64-linux,powerpc64le-linux,wasm32-wasi,x86_64-linux,i686-linux,riscv32-linux,riscv64-linux - 12 1 kvm,nixos-test,big-parallel,benchmark,gccarch-znver1,gccarch-skylake,ca-derivations -
build-aarch64 aarch64-linux,riscv32-linux,riscv64-linux - 4 1 nixos-test,benchmark,ca-derivations,gccarch-armv8-a,gccarch-armv8.1-a,gccarch-armv8.2-a,big-parallel -
build-riscv riscv64-linux,riscv32-linux - 4 2 nixos-test,benchmark,ca-derivations,gccarch-rv64gc_zba_zbb,gccarch-rv64gc_zba,gccarch-rv64gc_zbb,ccarch-rv64gc,gccarch-rv32gc_zba_zbb,gccarch-rv32gc_zba,gccarch-rv32gc_zbb,gccarch-rv32gc,big-parallel,native-riscv -
'';
sshConfig = pkgs.writeText "ssh-config" ''
Host build-aarch64
Port 22
IdentitiesOnly yes
User remote-build
HostName instance-20221213-1915.int.chir.rs
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host build-nas
Port 22
IdentitiesOnly yes
User remote-build
HostName nas.int.chir.rs
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host build-rainbow-resort
Port 22
IdentitiesOnly yes
User remote-build
HostName rainbow-resort.int.chir.rs
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host build-riscv
Port 22
IdentitiesOnly yes
User remote-build
HostName not522.tailbab65.ts.net
IdentityFile /var/lib/hydra/queue-runner/.ssh/builder_id_ed25519
Host *
ForwardAgent no
Compression no
ServerAliveInterval 0
ServerAliveCountMax 3
HashKnownHosts no
UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster auto
ControlPath ~/.ssh/master-%r@%n:%p
ControlPersist 10m
'';
in {
imports = [
./postgres.nix
../../modules/hydra.nix
hydra.nixosModules.hydra
];
nixpkgs.overlays = [
hydra.overlays.default
];
services.hydra-dev = {
enable = true;
package = hydra.packages.${system}.hydra.overrideAttrs (super: {
doCheck = false;
doInstallCheck = false;
patches =
super.patches
or []
++ [
./hydra/0001-add-gitea-pulls.patch
./hydra/0002-unlimit-output.patch
./hydra/0003-remove-pr-number-from-github-job-name.patch
./hydra/0004-use-pulls-instead-of-issues.patch
./hydra/0005-only-list-open-prs.patch
./hydra/0006-status-state.patch
./hydra/0007-hydra-server-findLog-fix-issue-with-ca-derivations-e.patch
];
});
hydraURL = "https://hydra.chir.rs/";
notificationSender = "hydra@chir.rs";
useSubstitutes = true;
port = 3001;
extraConfig = ''
<gitea_authorization>
darkkirb = #gitea_token#
ProcyOS = #gitea_token#
</gitea_authorization>
<github_authorization>
DarkKirb = Bearer #github_token#
</github_authorization>
<githubstatus>
jobs = .*
</githubstatus>
<hydra_notify>
<prometheus>
listen_address = 0.0.0.0
port = 8905
</prometheus>
</hydra_notify>
binary_cache_secret_key_file = ${config.sops.secrets."services/hydra/cache-key".path}
<git-input>
timeout = 3600
</git-input>
<runcommand>
job = *:*:*
command = cat $HYDRA_JSON | ${pkgs.jq}/bin/jq -r '.drvPath' >> /var/lib/hydra/queue-runner/upload
</runcommand>
max_concurrent_evals = 1
'';
giteaTokenFile = "/run/secrets/services/hydra/gitea_token";
githubTokenFile = "/run/secrets/services/hydra/github_token";
buildMachinesFiles = [
"${machines}"
"/run/hydra-machines"
];
};
nix.settings.allowed-uris = ["github:" "https://" "http://"];
sops.secrets."services/hydra/gitea_token" = {};
sops.secrets."services/hydra/github_token" = {};
sops.secrets."services/hydra/cache-key" = {
owner = "hydra-www";
mode = "0440";
};
services.caddy.virtualHosts."hydra.int.chir.rs" = {
useACMEHost = "int.chir.rs";
logFormat = pkgs.lib.mkForce "";
extraConfig = ''
import baseConfig
reverse_proxy http://127.0.0.1:${toString config.services.hydra-dev.port} {
trusted_proxies private_ranges
}
'';
};
sops.secrets."services/hydra/aws_credentials" = {
owner = "hydra-queue-runner";
path = "/var/lib/hydra/queue-runner/.aws/credentials";
restartUnits = ["hydra-notify.service"];
};
systemd.services.update-hydra-hosts = {
description = "Update hydra hosts";
serviceConfig = {
Type = "oneshot";
};
script = ''
if ${pkgs.iputils}/bin/ping -c 1 rainbow-resort.int.chir.rs; then
echo "build-rainbow-resort armv7l-linux,powerpc-linux,powerpc64-linux,powerpc64le-linux,wasm32-wasi,x86_64-linux,i686-linux,riscv32-linux,riscv64-linux - 16 1 kvm,nixos-test,big-parallel,benchmark,gccarch-znver4,gccarch-znver3,gccarch-znver2,gccarch-znver1,gccarch-skylake,gccarch-skylake-avx512,ca-derivations -" > /run/hydra-machines
else
rm -f /run/hydra-machines
fi
'';
};
systemd.timers.update-hydra-hosts = {
enable = true;
description = "Update hydra hosts";
requires = ["update-hydra-hosts.service"];
wantedBy = ["multi-user.target"];
timerConfig = {
OnBootSec = 300;
OnUnitActiveSec = 300;
};
};
nix.settings.trusted-users = ["@hydra"];
sops.secrets."hydra/ssh/builder_id_ed25519" = {
sopsFile = ../../secrets/shared.yaml;
owner = "hydra-queue-runner";
key = "ssh/builder_id_ed25519";
path = "/var/lib/hydra/queue-runner/.ssh/builder_id_ed25519";
};
system.activationScripts.setupHydraSshConfig = lib.stringAfter ["var"] ''
mkdir -p /var/lib/hydra/queue-runner/.ssh/
chown -Rv hydra-queue-runner /var/lib/hydra/queue-runner
ln -svf ${sshConfig} /var/lib/hydra/queue-runner/.ssh/config
'';
sops.secrets."attic/config.toml" = {
owner = "hydra-queue-runner";
key = "attic/config.toml";
path = "/var/lib/hydra/queue-runner/.config/attic/config.toml";
};
services.postgresql.ensureDatabases = [
"hydra-queue-runner"
];
services.postgresql.ensureUsers = [
{
name = "hydra-queue-runner";
ensureDBOwnership = true;
}
];
systemd.services."attic-queue" = {
description = "Upload build results";
wantedBy = ["multi-user.target"];
serviceConfig = {
User = "hydra-queue-runner";
Group = "hydra";
};
script = ''
export QUEUE_PATH=/var/lib/hydra/queue-runner/upload
export DATABASE_PATH=postgresql:///hydra-queue-runner
export RUST_LOG=info
exec ${attic.packages.${system}.attic-queue}/bin/attic-queue
'';
};
}