summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorJakub Stachurski <j.stachurski@student.utwente.nl>2026-05-20 16:58:16 +0200
committerJakub Stachurski <j.stachurski@student.utwente.nl>2026-05-20 16:58:16 +0200
commitbed1771ab1f65b55e396d6cfee49f574bec48421 (patch)
tree2678b7d630028563546862ed59985ad9e85bf138 /modules
parentf4a4de6e867e1e1b44392d4a2c0711b34a9d3564 (diff)
Add test endpoint
Diffstat (limited to 'modules')
-rw-r--r--modules/default.nix1
-rw-r--r--modules/test_endpoint.nix44
2 files changed, 45 insertions, 0 deletions
diff --git a/modules/default.nix b/modules/default.nix
index 26d6ec9..98abe6d 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -14,6 +14,7 @@
./nh.nix
./motd.nix
./locale.nix
+ ./test_endpoint.nix
];
nixpkgs.overlays = [
diff --git a/modules/test_endpoint.nix b/modules/test_endpoint.nix
new file mode 100644
index 0000000..701bce8
--- /dev/null
+++ b/modules/test_endpoint.nix
@@ -0,0 +1,44 @@
+{ lib, config, ... }:
+let
+ cfg = config.wilkuu.services.test_endpoint;
+in
+{
+ options.wilkuu.services.test_endpoint = with lib; {
+ enable = mkOption {
+ type = types.bool;
+ default = config.services.nginx.enable;
+ description = "Whenever to ssl-terminate a small test-endpoint";
+ example = true;
+ };
+ port = mkOption {
+ type = types.port;
+ default = 6767;
+ description = "The port to forward traffic to";
+ example = 6969;
+ };
+ domain = mkOption {
+ type = types.str;
+ default = "test.${config.networking.hostName}.wilkuu.xyz";
+ description = "The domain to show";
+ example = "test.example.com";
+ };
+ doACME = mkOption {
+ type = types.bool;
+ default = !config.addons.virtualisation.isTestVM;
+ description = "Whenever to enable SSL or not.";
+ example = false;
+ };
+ };
+ config = lib.mkIf cfg.enable {
+ services.nginx.virtualHosts.${cfg.domain} = {
+ addSSL = cfg.doACME;
+ enableACME = cfg.doACME;
+ locations."/" = {
+ proxyPass = "http://localhost:${toString cfg.port}";
+ proxyWebsockets = true;
+ recommendedProxySettings = true;
+ };
+ };
+
+ };
+}