about summary refs log tree commit diff
path: root/ops/modules/www
diff options
context:
space:
mode:
Diffstat (limited to 'ops/modules/www')
-rw-r--r--ops/modules/www/code.tvl.fyi.nix14
1 files changed, 12 insertions, 2 deletions
diff --git a/ops/modules/www/code.tvl.fyi.nix b/ops/modules/www/code.tvl.fyi.nix
index c8a4b27b1b52..4c182d34f28d 100644
--- a/ops/modules/www/code.tvl.fyi.nix
+++ b/ops/modules/www/code.tvl.fyi.nix
@@ -1,4 +1,4 @@
-{ depot, ... }:
+{ depot, config, ... }:
 
 {
   imports = [
@@ -20,12 +20,22 @@
             alias ${depot.tvix.docs.svg}/component-flow.svg;
         }
 
+        # Git operations on depot.git hit josh
+        location /depot.git {
+            proxy_pass http://localhost:${toString config.services.depot.git-serving.joshPort};
+        }
+
+        # Git clone operations on '/' should be redirected to josh now.
+        location = /info/refs {
+            return 302 https://code.tvl.fyi/depot.git/info/refs$is_args$args;
+        }
+
         # Static assets must always hit the root.
         location ~ ^/(favicon\.ico|cgit\.(css|png))$ {
            proxy_pass http://localhost:2448;
         }
 
-        # Everything else hits the depot directly.
+        # Everything else is forwarded to cgit for the web view
         location / {
             proxy_pass http://localhost:2448/cgit.cgi/depot/;
         }