about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-07-12T11·51+0100
committertazjin <mail@tazj.in>2020-07-12T13·36+0000
commit5abdc16f6fdefbb300618739ffa6d0447e1d0cf3 (patch)
treed47f8198eae2fd176eb95678902abc589cd9be73
parent90b843382851ef6cdeedbcd5ec623c14acfa900c (diff)
feat(nixos/sourcegraph): Move cheddar server to module & make ports configurable r/1260
Change-Id: Iaf0c854b148062e30d426c2e92638932caf2e92e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1065
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
-rw-r--r--ops/nixos/sourcegraph.nix36
-rw-r--r--users/tazjin/nixos/camden/default.nix11
2 files changed, 30 insertions, 17 deletions
diff --git a/ops/nixos/sourcegraph.nix b/ops/nixos/sourcegraph.nix
index b82194cacc..e647666c63 100644
--- a/ops/nixos/sourcegraph.nix
+++ b/ops/nixos/sourcegraph.nix
@@ -2,19 +2,43 @@
 # Running it outside of a container is a futile endeavour for now.
 { config, pkgs, lib, ... }:
 
-let cfg = config.services.depot.sourcegraph;
+let
+  cfg = config.services.depot.sourcegraph;
+  depot = config.depot;
 in {
-  options.services.depot.sourcegraph = {
-    enable = lib.mkEnableOption "SourceGraph code search engine";
+  options.services.depot.sourcegraph = with lib; {
+    enable = mkEnableOption "SourceGraph code search engine";
+
+    port = mkOption {
+      description = "Port on which SourceGraph should listen";
+      type = types.int;
+      default = 3463;
+    };
+
+    cheddarPort = mkOption {
+      description = "Port on which cheddar should listen";
+      type = types.int;
+      default = 4238;
+    };
   };
 
   config = lib.mkIf cfg.enable {
+    # Run a cheddar syntax highlighting server
+    systemd.services.cheddar-server = {
+      wantedBy = [ "multi-user.target" ];
+      script = "${depot.tools.cheddar}/bin/cheddar --listen 0.0.0.0:${toString cfg.cheddarPort} --sourcegraph-server";
+
+      serviceConfig = {
+        DynamicUser = true;
+        Restart = "always";
+      };
+    };
+
     virtualisation.oci-containers.containers.sourcegraph = {
       image = "sourcegraph/server:3.16.1";
 
       ports = [
-        "127.0.0.1:3463:7080"
-        "127.0.0.1:3370:3370"
+        "127.0.0.1:${toString cfg.port}:7080"
       ];
 
       volumes = [
@@ -22,7 +46,7 @@ in {
         "/var/lib/sourcegraph/data:/var/opt/sourcegraph"
       ];
 
-      environment.SRC_SYNTECT_SERVER = "http://172.17.0.1:4238";
+      environment.SRC_SYNTECT_SERVER = "http://172.17.0.1:${toString cfg.cheddarPort}";
     };
   };
 }
diff --git a/users/tazjin/nixos/camden/default.nix b/users/tazjin/nixos/camden/default.nix
index 2e36f6f84c..f48bb98c80 100644
--- a/users/tazjin/nixos/camden/default.nix
+++ b/users/tazjin/nixos/camden/default.nix
@@ -252,17 +252,6 @@ in lib.fix(self: {
   # Run a SourceGraph code search instance
   services.depot.sourcegraph.enable = true;
 
-  # Run a cheddar syntax highlighting server for SourceGraph
-  systemd.services.cheddar-server = {
-    wantedBy = [ "multi-user.target" ];
-    script = "${depot.tools.cheddar}/bin/cheddar --listen 0.0.0.0:4238 --sourcegraph-server";
-
-    serviceConfig = {
-      DynamicUser = true;
-      Restart = "always";
-    };
-  };
-
   # Start a local SMTP relay to Gmail (used by gerrit)
   services.depot.smtprelay = {
     enable = true;