nixos/caddy: Fix default log file for http:// hostnames (#371802)

This commit is contained in:
Donovan Glover 2025-01-10 06:04:38 +00:00 committed by GitHub
commit 24a8c64c2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 2 deletions

View File

@ -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

View File

@ -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 = {
@ -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" ''
{
@ -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
@ -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"