about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-04-09T20·55+0200
committertazjin <mail@tazj.in>2021-04-10T15·33+0000
commitd8ec573bc790d3a2b96eaa9ec4185aff8ed31e48 (patch)
treeb755a4690b65a2585e3dd85f9ea2ae6b66729281
parentf205d8ee73a6b1288b1cf4942704d912543cdf2b (diff)
feat(ops/nixos/www): Enable short links for b/ and cl/ r/2468
This configures accepting requests for b/ and cl/ on plain HTTP ports,
and redirecting to b.tvl.fyi & cl.tvl.fyi appropriately.

Additionally, Panettone request URIs that only contain decimals are
redirected to `/issues/$request_uri` to enable issue short-links.

This fixes b/32.

Change-Id: I56954d8d69a3624267778b467520c509f4daa6c5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2908
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
-rw-r--r--ops/nixos/www/b.tvl.fyi.nix10
-rw-r--r--ops/nixos/www/cl.tvl.fyi.nix5
2 files changed, 15 insertions, 0 deletions
diff --git a/ops/nixos/www/b.tvl.fyi.nix b/ops/nixos/www/b.tvl.fyi.nix
index 9bbdcd22ae..45f6c6ed51 100644
--- a/ops/nixos/www/b.tvl.fyi.nix
+++ b/ops/nixos/www/b.tvl.fyi.nix
@@ -6,6 +6,11 @@
   ];
 
   config = {
+    services.nginx.virtualHosts."b-shortlink" = {
+      serverName = "b";
+      extraConfig = "return 302 https://b.tvl.fyi$request_uri;";
+    };
+
     services.nginx.virtualHosts."b.tvl.fyi" = {
       serverName = "b.tvl.fyi";
       serverAliases = [ "b.tvl.su" ];
@@ -13,6 +18,11 @@
       forceSSL = true;
 
       extraConfig = ''
+        # Forward short links to issues to the issue itself (b/32)
+        location ~ ^/(\d+)$ {
+          return 302 https://b.tvl.fyi/issues$request_uri;
+        }
+
         location / {
           proxy_pass http://localhost:${toString config.services.depot.panettone.port};
         }
diff --git a/ops/nixos/www/cl.tvl.fyi.nix b/ops/nixos/www/cl.tvl.fyi.nix
index d0aac1b098..470122c395 100644
--- a/ops/nixos/www/cl.tvl.fyi.nix
+++ b/ops/nixos/www/cl.tvl.fyi.nix
@@ -6,6 +6,11 @@
   ];
 
   config = {
+    services.nginx.virtualHosts."cl-shortlink" = {
+      serverName = "cl";
+      extraConfig = "return 302 https://cl.tvl.fyi$request_uri;";
+    };
+
     services.nginx.virtualHosts.gerrit = {
       serverName = "cl.tvl.fyi";
       serverAliases = [ "cl.tvl.su" ];