From 5abdc16f6fdefbb300618739ffa6d0447e1d0cf3 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 12 Jul 2020 12:51:45 +0100 Subject: feat(nixos/sourcegraph): Move cheddar server to module & make ports configurable Change-Id: Iaf0c854b148062e30d426c2e92638932caf2e92e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1065 Tested-by: BuildkiteCI Reviewed-by: lukegb --- ops/nixos/sourcegraph.nix | 36 +++++++++++++++++++++++++++++------ users/tazjin/nixos/camden/default.nix | 11 ----------- 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; -- cgit 1.4.1