From ee3b7c2c534f25760d30eca95e027f3cefc1e57f Mon Sep 17 00:00:00 2001 From: Drew Haven Date: Mon, 15 Sep 2025 17:07:57 -0700 Subject: [PATCH] [wow.blazestar.net] Adds static site --- .../hosts/mcp/containers/public-homepage.nix | 25 ++++++++++++++----- system/hosts/mcp/static-site-hooks.nix | 9 +++++++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/system/hosts/mcp/containers/public-homepage.nix b/system/hosts/mcp/containers/public-homepage.nix index 402311e..1e714e8 100644 --- a/system/hosts/mcp/containers/public-homepage.nix +++ b/system/hosts/mcp/containers/public-homepage.nix @@ -10,9 +10,22 @@ let { host, dir ? "public", + redirectWww ? true, }: let cleanHost = lib.strings.stringAsChars (c: if c == "." then "-" else c) host; + wwwLabels = + if redirectWww then + { + "traefik.http.routers.${cleanHost}.middlewares" = "${cleanHost}-add-www@docker"; + "traefik.http.middlewares.${cleanHost}-add-www.redirectregex.regex" = "^https://${host}/(.*)"; + "traefik.http.middlewares.${cleanHost}-add-www.redirectregex.replacement" = + "https://www.${host}/\${1}"; + "traefik.http.middlewares.${cleanHost}-add-www.redirectregex.permanent" = "true"; + + } + else + { }; in { "${cleanHost}-static" = { @@ -24,13 +37,8 @@ let labels = { "traefik.enable" = "true"; "traefik.http.routers.${cleanHost}.rule" = "Host(`${host}`) || Host(`www.${host}`)"; - "traefik.http.routers.${cleanHost}.middlewares" = "${cleanHost}-add-www@docker"; "traefik.http.services.${cleanHost}.loadbalancer.server.port" = "80"; - "traefik.http.middlewares.${cleanHost}-add-www.redirectregex.regex" = "^https://${host}/(.*)"; - "traefik.http.middlewares.${cleanHost}-add-www.redirectregex.replacement" = - "https://www.${host}/\${1}"; - "traefik.http.middlewares.${cleanHost}-add-www.redirectregex.permanent" = "true"; - }; + } // wwwLabels; }; }; in @@ -44,6 +52,11 @@ in host = blazestar; dir = "deployed"; } + // mkStaticSite { + host = "wow.${blazestar}"; + dir = "deployed"; + redirectWww = false; + } // mkStaticSite { host = havenisms; dir = "public"; diff --git a/system/hosts/mcp/static-site-hooks.nix b/system/hosts/mcp/static-site-hooks.nix index f57486e..a682ffc 100644 --- a/system/hosts/mcp/static-site-hooks.nix +++ b/system/hosts/mcp/static-site-hooks.nix @@ -129,6 +129,15 @@ in trigger-rule-mismatch-http-response-code = 400; inherit trigger-rule; }; + "deploy-wow-blazestar-net" = { + id = "deploy-wow-blazestar-net"; + http-methods = [ "POST" ]; + command-working-directory = "/tank/web/wow.blazestar.net"; + include-command-output-in-response-on-error = true; + execute-command = "${deployNpmApp}/bin/build-npm-app"; + trigger-rule-mismatch-http-response-code = 400; + inherit trigger-rule; + }; }; }; }