Loading nixos/modules/services/web-servers/caddy/vhost-options.nix +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ in logFormat = mkOption { type = types.lines; default = '' output file ${cfg.logDir}/access-${config.hostName}.log output file ${cfg.logDir}/access-${lib.replaceStrings [ "/" " " ] [ "_" "_" ] config.hostName}.log ''; defaultText = '' output file ''${config.services.caddy.logDir}/access-''${hostName}.log Loading nixos/tests/caddy.nix +14 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,11 @@ import ./make-test-python.nix ( "http://localhost:8081" = { }; }; }; specialisation.multiple-hostnames.configuration = { services.caddy.virtualHosts = { "http://localhost:8080 http://localhost:8081" = { }; }; }; specialisation.rfc42.configuration = { services.caddy.settings = { apps.http.servers.default = { Loading Loading @@ -70,7 +75,7 @@ import ./make-test-python.nix ( services.caddy = { package = pkgs.caddy.withPlugins { plugins = [ "github.com/caddyserver/replace-response@v0.0.0-20241211194404-3865845790a7" ]; hash = "sha256-zgMdtOJbmtRSfTlrrg8njr11in2C7OAXLB+34V23jek="; hash = "sha256-BorJJWICgAWU7DrpDZJWifMnIYtGWldt/4S1VELwGJI="; }; configFile = pkgs.writeText "Caddyfile" '' { Loading @@ -93,6 +98,7 @@ import ./make-test-python.nix ( explicitConfigFile = "${nodes.webserver.system.build.toplevel}/specialisation/explicit-config-file"; justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload"; multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs"; multipleHostnames = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-hostnames"; rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42"; withPluginsConfig = "${nodes.webserver.system.build.toplevel}/specialisation/with-plugins"; in Loading @@ -117,6 +123,13 @@ import ./make-test-python.nix ( webserver.wait_for_open_port(8080) webserver.wait_for_open_port(8081) with subtest("a virtual host with multiple hostnames works"): webserver.succeed( "${multipleHostnames}/bin/switch-to-configuration test >&2" ) webserver.wait_for_open_port(8080) webserver.wait_for_open_port(8081) with subtest("rfc42 settings config"): webserver.succeed( "${rfc42Config}/bin/switch-to-configuration test >&2" Loading Loading
nixos/modules/services/web-servers/caddy/vhost-options.nix +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ in logFormat = mkOption { type = types.lines; default = '' output file ${cfg.logDir}/access-${config.hostName}.log output file ${cfg.logDir}/access-${lib.replaceStrings [ "/" " " ] [ "_" "_" ] config.hostName}.log ''; defaultText = '' output file ''${config.services.caddy.logDir}/access-''${hostName}.log Loading
nixos/tests/caddy.nix +14 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,11 @@ import ./make-test-python.nix ( "http://localhost:8081" = { }; }; }; specialisation.multiple-hostnames.configuration = { services.caddy.virtualHosts = { "http://localhost:8080 http://localhost:8081" = { }; }; }; specialisation.rfc42.configuration = { services.caddy.settings = { apps.http.servers.default = { Loading Loading @@ -70,7 +75,7 @@ import ./make-test-python.nix ( services.caddy = { package = pkgs.caddy.withPlugins { plugins = [ "github.com/caddyserver/replace-response@v0.0.0-20241211194404-3865845790a7" ]; hash = "sha256-zgMdtOJbmtRSfTlrrg8njr11in2C7OAXLB+34V23jek="; hash = "sha256-BorJJWICgAWU7DrpDZJWifMnIYtGWldt/4S1VELwGJI="; }; configFile = pkgs.writeText "Caddyfile" '' { Loading @@ -93,6 +98,7 @@ import ./make-test-python.nix ( explicitConfigFile = "${nodes.webserver.system.build.toplevel}/specialisation/explicit-config-file"; justReloadSystem = "${nodes.webserver.system.build.toplevel}/specialisation/config-reload"; multipleConfigs = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-configs"; multipleHostnames = "${nodes.webserver.system.build.toplevel}/specialisation/multiple-hostnames"; rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42"; withPluginsConfig = "${nodes.webserver.system.build.toplevel}/specialisation/with-plugins"; in Loading @@ -117,6 +123,13 @@ import ./make-test-python.nix ( webserver.wait_for_open_port(8080) webserver.wait_for_open_port(8081) with subtest("a virtual host with multiple hostnames works"): webserver.succeed( "${multipleHostnames}/bin/switch-to-configuration test >&2" ) webserver.wait_for_open_port(8080) webserver.wait_for_open_port(8081) with subtest("rfc42 settings config"): webserver.succeed( "${rfc42Config}/bin/switch-to-configuration test >&2" Loading