diff options
author | Florian Klink <flokli@flokli.de> | 2023-12-07 09:07:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-07 09:07:35 +0200 |
commit | 4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60 (patch) | |
tree | 060b33ea5fa08946457043f0f611adb75c3ac292 /nixos | |
parent | 53755e6dbd153ffc4724addb354d59a0993eeebc (diff) | |
parent | 3c6b3d71fa696da5c170c0ff44eaa8c51999a80c (diff) | |
download | nixlib-4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60.tar nixlib-4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60.tar.gz nixlib-4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60.tar.bz2 nixlib-4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60.tar.lz nixlib-4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60.tar.xz nixlib-4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60.tar.zst nixlib-4db2e0cc80f38b19f92fcddd846f6bf6caf7ea60.zip |
Merge pull request #272542 from Sohalt/caddy-config-file
nixos/caddy: use caddyfile adapter by default with explicit configFile
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/web-servers/caddy/default.nix | 6 | ||||
-rw-r--r-- | nixos/tests/caddy.nix | 15 |
2 files changed, 18 insertions, 3 deletions
diff --git a/nixos/modules/services/web-servers/caddy/default.nix b/nixos/modules/services/web-servers/caddy/default.nix index 497aa9ba956e..9a544e98cfc4 100644 --- a/nixos/modules/services/web-servers/caddy/default.nix +++ b/nixos/modules/services/web-servers/caddy/default.nix @@ -147,7 +147,7 @@ in default = configFile; defaultText = "A Caddyfile automatically generated by values from services.caddy.*"; example = literalExpression '' - pkgs.writeTextDir "Caddyfile" ''' + pkgs.writeText "Caddyfile" ''' example.com root * /var/www/wordpress @@ -164,9 +164,9 @@ in }; adapter = mkOption { - default = if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null; + default = if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null; defaultText = literalExpression '' - if (builtins.baseNameOf cfg.configFile) == "Caddyfile" then "caddyfile" else null + if ((cfg.configFile != configFile) || (builtins.baseNameOf cfg.configFile) == "Caddyfile") then "caddyfile" else null ''; example = literalExpression "nginx"; type = with types; nullOr str; diff --git a/nixos/tests/caddy.nix b/nixos/tests/caddy.nix index 5a0d3539394b..41d8e57de468 100644 --- a/nixos/tests/caddy.nix +++ b/nixos/tests/caddy.nix @@ -48,11 +48,19 @@ import ./make-test-python.nix ({ pkgs, ... }: { }; }; }; + specialisation.explicit-config-file.configuration = { + services.caddy.configFile = pkgs.writeText "Caddyfile" '' + localhost:80 + + respond "hello world" + ''; + }; }; }; testScript = { nodes, ... }: let + 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"; rfc42Config = "${nodes.webserver.system.build.toplevel}/specialisation/rfc42"; @@ -84,5 +92,12 @@ import ./make-test-python.nix ({ pkgs, ... }: { ) webserver.wait_for_open_port(80) webserver.succeed("curl http://localhost | grep hello") + + with subtest("explicit configFile"): + webserver.succeed( + "${explicitConfigFile}/bin/switch-to-configuration test >&2" + ) + webserver.wait_for_open_port(80) + webserver.succeed("curl http://localhost | grep hello") ''; }) |