nixos-config/config/services/hydra.nix
Charlotte 🦝 Delenk 1a7c308953
All checks were successful
Hydra packages.aarch64-linux.asar-asm Hydra build #22745 of nixos-config:pr623:packages.aarch64-linux.asar-asm
Hydra packages.aarch64-linux.plover-plugin-python-dictionary Hydra build #22786 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-python-dictionary
Hydra packages.aarch64-linux.emoji-volpeon-neocat Hydra build #22760 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-neocat
Hydra packages.x86_64-linux.python-plover-stroke Hydra build #22849 of nixos-config:pr623:packages.x86_64-linux.python-plover-stroke
Hydra packages.x86_64-linux.emoji-raccoon Hydra build #22805 of nixos-config:pr623:packages.x86_64-linux.emoji-raccoon
Hydra packages.x86_64-linux.python-simplefuzzyset Hydra build #22851 of nixos-config:pr623:packages.x86_64-linux.python-simplefuzzyset
Hydra packages.x86_64-linux.emoji-volpeon-bunhd-flip Hydra build #22810 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-bunhd-flip
Hydra packages.x86_64-linux.python-tulir-telethon Hydra build #22852 of nixos-config:pr623:packages.x86_64-linux.python-tulir-telethon
Hydra packages.aarch64-linux.fairfax Hydra build #22764 of nixos-config:pr623:packages.aarch64-linux.fairfax
Hydra packages.x86_64-linux.plover-plugin-lapwing-aio Hydra build #22837 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-lapwing-aio
Hydra packages.x86_64-linux.plover-plugin-modal-dictionary Hydra build #22840 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-modal-dictionary
Hydra packages.aarch64-linux.emoji-volpeon-bunhd Hydra build #22754 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-bunhd
Hydra packages.x86_64-linux.plover-plugin-machine-hid Hydra build #22839 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-machine-hid
Hydra packages.x86_64-linux.emoji-volpeon-drgn Hydra build #22811 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-drgn
Hydra packages.aarch64-linux.plover-plugin-yaml-dictionary Hydra build #22791 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-yaml-dictionary
Hydra packages.aarch64-linux.plover-plugin-dict-commands Hydra build #22779 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-dict-commands
Hydra packages.x86_64-linux.plover-plugin-stitching Hydra build #22844 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-stitching
Hydra packages.x86_64-linux.emoji-volpeon-neocat Hydra build #22815 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-neocat
Hydra packages.x86_64-linux.lotte-art Hydra build #22822 of nixos-config:pr623:packages.x86_64-linux.lotte-art
Hydra packages.x86_64-linux.mautrix-whatsapp Hydra build #22827 of nixos-config:pr623:packages.x86_64-linux.mautrix-whatsapp
Hydra packages.x86_64-linux.plover-plugin-dict-commands Hydra build #22834 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-dict-commands
Hydra packages.aarch64-linux.emoji-volpeon-floof Hydra build #22757 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-floof
Hydra packages.aarch64-linux.plover-plugin-stenotype-extended Hydra build #22788 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-stenotype-extended
Hydra packages.aarch64-linux.python-mautrix Hydra build #22793 of nixos-config:pr623:packages.aarch64-linux.python-mautrix
Hydra packages.x86_64-linux.emoji-volpeon-blobfox Hydra build #22807 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-blobfox
Hydra packages.aarch64-linux.lotte-art Hydra build #22767 of nixos-config:pr623:packages.aarch64-linux.lotte-art
Hydra packages.aarch64-linux.plover-plugin-emoji Hydra build #22781 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-emoji
Hydra packages.aarch64-linux.plover Hydra build #22777 of nixos-config:pr623:packages.aarch64-linux.plover
Hydra packages.aarch64-linux.emoji-volpeon-raccoon Hydra build #22762 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-raccoon
Hydra packages.x86_64-linux.mgba-dev Hydra build #22828 of nixos-config:pr623:packages.x86_64-linux.mgba-dev
Hydra packages.aarch64-linux.python-tulir-telethon Hydra build #22797 of nixos-config:pr623:packages.aarch64-linux.python-tulir-telethon
Hydra packages.aarch64-linux.mautrix-whatsapp Hydra build #22772 of nixos-config:pr623:packages.aarch64-linux.mautrix-whatsapp
Hydra packages.aarch64-linux.mautrix-discord Hydra build #22769 of nixos-config:pr623:packages.aarch64-linux.mautrix-discord
Hydra packages.aarch64-linux.emoji-volpeon-gphn Hydra build #22759 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-gphn
Hydra packages.aarch64-linux.mautrix-telegram Hydra build #22771 of nixos-config:pr623:packages.aarch64-linux.mautrix-telegram
Hydra packages.x86_64-linux.plover-plugin-last-translation Hydra build #22838 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-last-translation
Hydra packages.aarch64-linux.miifox-net Hydra build #22774 of nixos-config:pr623:packages.aarch64-linux.miifox-net
Hydra packages.x86_64-linux.constructium Hydra build #22802 of nixos-config:pr623:packages.x86_64-linux.constructium
Hydra packages.x86_64-linux.plover-plugin-dotool-output Hydra build #22835 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-dotool-output
Hydra packages.x86_64-linux.plover-dict-didoesdigital Hydra build #22833 of nixos-config:pr623:packages.x86_64-linux.plover-dict-didoesdigital
Hydra packages.aarch64-linux.plover-plugin-lapwing-aio Hydra build #22782 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-lapwing-aio
Hydra packages.aarch64-linux.nasin-nanpa Hydra build #22775 of nixos-config:pr623:packages.aarch64-linux.nasin-nanpa
Hydra packages.x86_64-linux.emoji-lotte Hydra build #22804 of nixos-config:pr623:packages.x86_64-linux.emoji-lotte
Hydra packages.x86_64-linux.mautrix-discord Hydra build #22824 of nixos-config:pr623:packages.x86_64-linux.mautrix-discord
Hydra packages.x86_64-linux.alco-sans Hydra build #22799 of nixos-config:pr623:packages.x86_64-linux.alco-sans
Hydra packages.aarch64-linux.emoji-rosaflags Hydra build #22751 of nixos-config:pr623:packages.aarch64-linux.emoji-rosaflags
Hydra packages.aarch64-linux.bsnes-plus Hydra build #22746 of nixos-config:pr623:packages.aarch64-linux.bsnes-plus
Hydra packages.x86_64-linux.asar-asm Hydra build #22800 of nixos-config:pr623:packages.x86_64-linux.asar-asm
Hydra nas.x86_64-linux Hydra build #22742 of nixos-config:pr623:nas.x86_64-linux
Hydra packages.x86_64-linux.plover-plugin-python-dictionary Hydra build #22841 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-python-dictionary
Hydra packages.aarch64-linux.emoji-lotte Hydra build #22749 of nixos-config:pr623:packages.aarch64-linux.emoji-lotte
Hydra packages.aarch64-linux.plover-plugin-rkb1-hid Hydra build #22787 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-rkb1-hid
Hydra packages.x86_64-linux.kreative-square Hydra build #22821 of nixos-config:pr623:packages.x86_64-linux.kreative-square
Hydra packages.aarch64-linux.kreative-square Hydra build #22766 of nixos-config:pr623:packages.aarch64-linux.kreative-square
Hydra packages.x86_64-linux.emoji-volpeon-floof Hydra build #22812 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-floof
Hydra packages.aarch64-linux.alco-sans Hydra build #22744 of nixos-config:pr623:packages.aarch64-linux.alco-sans
Hydra packages.aarch64-linux.emoji-volpeon-fox Hydra build #22758 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-fox
Hydra packages.aarch64-linux.mautrix-slack Hydra build #22770 of nixos-config:pr623:packages.aarch64-linux.mautrix-slack
Hydra packages.aarch64-linux.mgba-dev Hydra build #22773 of nixos-config:pr623:packages.aarch64-linux.mgba-dev
Hydra packages.x86_64-linux.emoji-volpeon-raccoon Hydra build #22817 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-raccoon
Hydra packages.x86_64-linux.plover-plugin-yaml-dictionary Hydra build #22846 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-yaml-dictionary
Hydra packages.x86_64-linux.plover Hydra build #22832 of nixos-config:pr623:packages.x86_64-linux.plover
Hydra packages.aarch64-linux.python-plover-stroke Hydra build #22794 of nixos-config:pr623:packages.aarch64-linux.python-plover-stroke
Hydra packages.aarch64-linux.emoji-raccoon Hydra build #22750 of nixos-config:pr623:packages.aarch64-linux.emoji-raccoon
Hydra packages.aarch64-linux.matrix-media-repo Hydra build #22768 of nixos-config:pr623:packages.aarch64-linux.matrix-media-repo
Hydra devShell.x86_64-linux Hydra build #22739 of nixos-config:pr623:devShell.x86_64-linux
Hydra packages.x86_64-linux.plover-plugin-emoji Hydra build #22836 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-emoji
Hydra packages.x86_64-linux.mautrix-slack Hydra build #22825 of nixos-config:pr623:packages.x86_64-linux.mautrix-slack
Hydra packages.x86_64-linux.emoji-volpeon-gphn Hydra build #22814 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-gphn
Hydra packages.x86_64-linux.plover-plugin-stenotype-extended Hydra build #22843 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-stenotype-extended
Hydra packages.x86_64-linux.fairfax Hydra build #22819 of nixos-config:pr623:packages.x86_64-linux.fairfax
Hydra packages.x86_64-linux.emoji-volpeon-fox Hydra build #22813 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-fox
Hydra packages.x86_64-linux.plover-plugin-rkb1-hid Hydra build #22842 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-rkb1-hid
Hydra packages.x86_64-linux.yiffstash Hydra build #22853 of nixos-config:pr623:packages.x86_64-linux.yiffstash
Hydra packages.x86_64-linux.emoji-caro Hydra build #22803 of nixos-config:pr623:packages.x86_64-linux.emoji-caro
Hydra packages.x86_64-linux.bsnes-plus Hydra build #22801 of nixos-config:pr623:packages.x86_64-linux.bsnes-plus
Hydra packages.aarch64-linux.plover-plugin-tapey-tape Hydra build #22790 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-tapey-tape
Hydra packages.aarch64-linux.papermc Hydra build #22776 of nixos-config:pr623:packages.aarch64-linux.papermc
Hydra installer.x86_64-linux Hydra build #22740 of nixos-config:pr623:installer.x86_64-linux
Hydra packages.x86_64-linux.nasin-nanpa Hydra build #22830 of nixos-config:pr623:packages.x86_64-linux.nasin-nanpa
Hydra packages.aarch64-linux.python-rtf-tokenize Hydra build #22795 of nixos-config:pr623:packages.aarch64-linux.python-rtf-tokenize
Hydra nixos-8gb-fsn1-1.x86_64-linux Hydra build #22743 of nixos-config:pr623:nixos-8gb-fsn1-1.x86_64-linux
Hydra packages.aarch64-linux.yiffstash Hydra build #22798 of nixos-config:pr623:packages.aarch64-linux.yiffstash
Hydra packages.x86_64-linux.emoji-volpeon-blobfox-flip Hydra build #22808 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-blobfox-flip
Hydra packages.x86_64-linux.papermc Hydra build #22831 of nixos-config:pr623:packages.x86_64-linux.papermc
Hydra packages.aarch64-linux.plover-dict-didoesdigital Hydra build #22778 of nixos-config:pr623:packages.aarch64-linux.plover-dict-didoesdigital
Hydra packages.aarch64-linux.emoji-volpeon-bunhd-flip Hydra build #22755 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-bunhd-flip
Hydra packages.aarch64-linux.plover-plugin-machine-hid Hydra build #22784 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-machine-hid
Hydra packages.x86_64-linux.emoji-volpeon-bunhd Hydra build #22809 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-bunhd
Hydra packages.aarch64-linux.emoji-volpeon-drgn Hydra build #22756 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-drgn
Hydra packages.x86_64-linux.mautrix-telegram Hydra build #22826 of nixos-config:pr623:packages.x86_64-linux.mautrix-telegram
Hydra packages.x86_64-linux.python-rtf-tokenize Hydra build #22850 of nixos-config:pr623:packages.x86_64-linux.python-rtf-tokenize
Hydra packages.aarch64-linux.emoji-volpeon-blobfox Hydra build #22752 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-blobfox
Hydra packages.aarch64-linux.emoji-volpeon-blobfox-flip Hydra build #22753 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-blobfox-flip
Hydra packages.aarch64-linux.python-simplefuzzyset Hydra build #22796 of nixos-config:pr623:packages.aarch64-linux.python-simplefuzzyset
Hydra packages.x86_64-linux.plover-plugin-tapey-tape Hydra build #22845 of nixos-config:pr623:packages.x86_64-linux.plover-plugin-tapey-tape
Hydra packages.aarch64-linux.plover-plugin-stitching Hydra build #22789 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-stitching
Hydra packages.x86_64-linux.emoji-rosaflags Hydra build #22806 of nixos-config:pr623:packages.x86_64-linux.emoji-rosaflags
Hydra packages.aarch64-linux.emoji-volpeon-neofox Hydra build #22761 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-neofox
Hydra packages.aarch64-linux.plover-plugin-dotool-output Hydra build #22780 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-dotool-output
Hydra packages.x86_64-linux.emoji-volpeon-vlpn Hydra build #22818 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-vlpn
Hydra packages.aarch64-linux.emoji-volpeon-vlpn Hydra build #22763 of nixos-config:pr623:packages.aarch64-linux.emoji-volpeon-vlpn
Hydra packages.x86_64-linux.python-mautrix Hydra build #22848 of nixos-config:pr623:packages.x86_64-linux.python-mautrix
Hydra packages.aarch64-linux.plover-plugin-modal-dictionary Hydra build #22785 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-modal-dictionary
Hydra packages.x86_64-linux.emoji-volpeon-neofox Hydra build #22816 of nixos-config:pr623:packages.x86_64-linux.emoji-volpeon-neofox
Hydra packages.aarch64-linux.fairfax-hd Hydra build #22765 of nixos-config:pr623:packages.aarch64-linux.fairfax-hd
Hydra packages.aarch64-linux.emoji-caro Hydra build #22748 of nixos-config:pr623:packages.aarch64-linux.emoji-caro
Hydra packages.x86_64-linux.fairfax-hd Hydra build #22820 of nixos-config:pr623:packages.x86_64-linux.fairfax-hd
Hydra packages.x86_64-linux.miifox-net Hydra build #22829 of nixos-config:pr623:packages.x86_64-linux.miifox-net
Hydra packages.x86_64-linux.matrix-media-repo Hydra build #22823 of nixos-config:pr623:packages.x86_64-linux.matrix-media-repo
Hydra packages.aarch64-linux.constructium Hydra build #22747 of nixos-config:pr623:packages.aarch64-linux.constructium
Hydra packages.aarch64-linux.plover-plugins-manager Hydra build #22792 of nixos-config:pr623:packages.aarch64-linux.plover-plugins-manager
Hydra packages.aarch64-linux.plover-plugin-last-translation Hydra build #22783 of nixos-config:pr623:packages.aarch64-linux.plover-plugin-last-translation
Hydra packages.x86_64-linux.plover-plugins-manager Hydra build #22847 of nixos-config:pr623:packages.x86_64-linux.plover-plugins-manager
Hydra rainbow-resort.x86_64-linux Hydra build #22854 of nixos-config:pr623:rainbow-resort.x86_64-linux
Hydra instance-20221213-1915.aarch64-linux Hydra build #22741 of nixos-config:pr623:instance-20221213-1915.aarch64-linux
Hydra thinkrac.x86_64-linux Hydra build #22855 of nixos-config:pr623:thinkrac.x86_64-linux
retire vf2 from config
2024-11-01 10:19:32 +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.chir.rs
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
'';
};
}