about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-05-03T22·43+0200
committertazjin <mail@tazj.in>2021-05-03T23·47+0000
commit790c0d938e2f99fe3af1d256730de861e3a7480e (patch)
treeae7dfca741ac8768c1ab5951600fddb72643a310
parent5b45eae276a377d4acdaa64a39d54f72b74e3328 (diff)
feat(ops): Add NixOS module for atward r/2562
Very standard, nothing fancy.

Change-Id: Ibb286f221a4752abfb62e971b98e9496357040f5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3090
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
-rw-r--r--ops/machines/whitby/default.nix4
-rw-r--r--ops/modules/atward.nix31
2 files changed, 35 insertions, 0 deletions
diff --git a/ops/machines/whitby/default.nix b/ops/machines/whitby/default.nix
index 56cf2beab5..4f1d02aa69 100644
--- a/ops/machines/whitby/default.nix
+++ b/ops/machines/whitby/default.nix
@@ -6,6 +6,7 @@ let
   inherit (lib) range;
 in {
   imports = [
+    "${depot.path}/ops/modules/atward.nix"
     "${depot.path}/ops/modules/automatic-gc.nix"
     "${depot.path}/ops/modules/clbot.nix"
     "${depot.path}/ops/modules/irccat.nix"
@@ -273,6 +274,9 @@ in {
         };
       };
     };
+
+    # Run atward, the search engine redirection thing.
+    atward.enable = true;
   };
 
   services.postgresql = {
diff --git a/ops/modules/atward.nix b/ops/modules/atward.nix
new file mode 100644
index 0000000000..672b85e87d
--- /dev/null
+++ b/ops/modules/atward.nix
@@ -0,0 +1,31 @@
+{ depot, config, lib, pkgs, ... }:
+
+let
+  cfg = config.services.depot.atward;
+  description = "atward - (attempt to) cleverly route queries";
+in {
+  options.services.depot.atward = {
+    enable = lib.mkEnableOption description;
+
+    port = lib.mkOption {
+      type = lib.types.int;
+      default = 28973;
+      description = "Port on which atward should listen";
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    systemd.services.atward = {
+      inherit description;
+      script = "${depot.web.atward}/bin/atward";
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        DynamicUser = true;
+        Restart = "always";
+      };
+
+      environment.ATWARD_PORT = toString cfg.port;
+    };
+  };
+}