From 949f228c97c2f3fb410a5464b34424eabfffa74e Mon Sep 17 00:00:00 2001 From: h7x4 Date: Wed, 12 Jul 2023 01:37:22 +0200 Subject: [PATCH] tsuki/hydra: put all services below `system-hydra.slice` --- hosts/tsuki/services/hydra.nix | 27 +++++++++++++++++++++++++- hosts/tsuki/services/nginx/default.nix | 1 + 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/hosts/tsuki/services/hydra.nix b/hosts/tsuki/services/hydra.nix index acbab2a..b03862b 100644 --- a/hosts/tsuki/services/hydra.nix +++ b/hosts/tsuki/services/hydra.nix @@ -5,10 +5,35 @@ services.hydra = { enable = true; hydraURL = "https://hydra.nani.wtf"; + listenHost = "localhost"; notificationSender = "hydra@nani.wtf"; useSubstitutes = true; package = unstable-pkgs.hydra_unstable; - port = secrets.ports.hydra; buildMachinesFiles = []; + dbi = "dbi:Pg:dbname=hydra;host=/var/run/postgresql;user=hydra;"; + }; + + systemd.slices.system-hydra = { + description = "Nix Hydra slice"; + requires = [ + "system.slice" + "postgresql.service" + ]; + after = [ "system.slice" ]; + }; + + systemd.services = { + hydra-evaluator.serviceConfig.Slice = "system-hydra.slice"; + hydra-init.serviceConfig.Slice = "system-hydra.slice"; + hydra-notify.serviceConfig.Slice = "system-hydra.slice"; + hydra-queue-runner.serviceConfig.Slice = "system-hydra.slice"; + hydra-send-stats.serviceConfig.Slice = "system-hydra.slice"; + hydra-server.serviceConfig.Slice = "system-hydra.slice"; + }; + + systemd.timers = { + hydra-check-space.timerConfig.Slice = "system-hydra.slice"; + hydra-compress-logs.timerConfig.Slice = "system-hydra.slice"; + hydra-update-gc-roots.timerConfig.Slice = "system-hydra.slice"; }; } diff --git a/hosts/tsuki/services/nginx/default.nix b/hosts/tsuki/services/nginx/default.nix index 14e1df0..67e5d7f 100644 --- a/hosts/tsuki/services/nginx/default.nix +++ b/hosts/tsuki/services/nginx/default.nix @@ -141,6 +141,7 @@ (proxy ["vpn"] "http://localhost:${s config.services.headscale.port}" { locations."/".proxyWebsockets = true; }) + (proxy ["hydra"] "http://localhost:${s config.services.hydra.port}" {}) ] ++ (let stickerpickers = pkgs.callPackage ../matrix/maunium-stickerpicker.nix { inherit (inputs) maunium-stickerpicker secrets;