nixos/ersatztv: fix mismatch between environment type firewall port (#464794)
This commit is contained in:
@@ -20,12 +20,14 @@ let
|
||||
bool
|
||||
float
|
||||
int
|
||||
package
|
||||
;
|
||||
cfg = config.services.ersatztv;
|
||||
defaultEnv = {
|
||||
ETV_UI_PORT = 8409;
|
||||
ETV_BASE_URL = "/";
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
options = {
|
||||
@@ -54,6 +56,8 @@ in
|
||||
int
|
||||
float
|
||||
bool
|
||||
path
|
||||
package
|
||||
]);
|
||||
default = defaultEnv;
|
||||
example = {
|
||||
@@ -108,7 +112,7 @@ in
|
||||
ETV_CONFIG_FOLDER = "/var/lib/ersatztv/config";
|
||||
ETV_TRANSCODE_FOLDER = "/var/lib/ersatztv/transcode";
|
||||
}
|
||||
// cfg.environment;
|
||||
// (lib.mapAttrs (_: s: if lib.isBool s then lib.boolToString s else toString s) cfg.environment);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -522,7 +522,7 @@ in
|
||||
};
|
||||
ergo = runTest ./ergo.nix;
|
||||
ergochat = runTest ./ergochat.nix;
|
||||
ersatztv = handleTest ./ersatztv.nix { };
|
||||
ersatztv = runTest ./ersatztv.nix;
|
||||
espanso = import ./espanso.nix {
|
||||
inherit (pkgs) lib;
|
||||
inherit runTest;
|
||||
|
||||
+37
-17
@@ -1,21 +1,41 @@
|
||||
import ./make-test-python.nix (
|
||||
{ lib, ... }:
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
name = "ersatztv";
|
||||
meta.maintainers = with lib.maintainers; [ allout58 ];
|
||||
{
|
||||
name = "ersatztv";
|
||||
meta.maintainers = with lib.maintainers; [ allout58 ];
|
||||
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
services.ersatztv.enable = true;
|
||||
};
|
||||
nodes.basic =
|
||||
{ ... }:
|
||||
{
|
||||
services.ersatztv.enable = true;
|
||||
};
|
||||
nodes.reconfigured =
|
||||
{ ... }:
|
||||
{
|
||||
services.ersatztv.enable = true;
|
||||
services.ersatztv.environment.ETV_UI_PORT = 8123;
|
||||
services.ersatztv.openFirewall = true;
|
||||
};
|
||||
|
||||
# ErsatzTV doesn't really have an API to speak of currently, so just check if it responds at all
|
||||
testScript = ''
|
||||
machine.wait_for_unit("ersatztv.service")
|
||||
machine.wait_for_open_port(8409)
|
||||
machine.succeed("curl --fail http://localhost:8409/")
|
||||
# ErsatzTV doesn't really have an API to speak of currently, so just check if it responds at all
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
let
|
||||
basicIp = (lib.head nodes.basic.networking.interfaces.eth1.ipv4.addresses).address;
|
||||
reconfiguredIp = (lib.head nodes.reconfigured.networking.interfaces.eth1.ipv4.addresses).address;
|
||||
in
|
||||
''
|
||||
start_all()
|
||||
basic.wait_for_unit("ersatztv.service")
|
||||
basic.wait_for_open_port(8409)
|
||||
basic.succeed("curl --fail http://localhost:8409/api/sessions")
|
||||
|
||||
reconfigured.wait_for_unit("ersatztv.service")
|
||||
reconfigured.wait_for_open_port(8123)
|
||||
reconfigured.succeed("curl --fail http://localhost:8123/api/sessions")
|
||||
|
||||
# Test that the firewall is open
|
||||
reconfigured.fail("curl --fail --connect-timeout 5 http://${basicIp}:8409/api/sessions")
|
||||
basic.succeed("curl --fail http://${reconfiguredIp}:8123/api/sessions")
|
||||
'';
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user