2025-05-24 23:40:23 +08:00
|
|
|
{ pkgs, lib, ... }:
|
|
|
|
{
|
|
|
|
name = "technitium-dns-server";
|
2024-04-04 08:35:07 +02:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
nodes = {
|
|
|
|
machine =
|
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
services.technitium-dns-server = {
|
|
|
|
enable = true;
|
|
|
|
openFirewall = true;
|
2024-12-10 20:26:33 +01:00
|
|
|
};
|
2025-05-24 23:40:23 +08:00
|
|
|
};
|
|
|
|
};
|
2024-04-04 08:35:07 +02:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
testScript = ''
|
|
|
|
import json
|
2024-11-16 18:31:39 +01:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
start_all()
|
|
|
|
machine.wait_for_unit("technitium-dns-server.service")
|
|
|
|
machine.wait_for_open_port(53)
|
|
|
|
curl_cmd = 'curl --fail-with-body -X GET "http://localhost:5380/api/user/login?user=admin&pass=admin"'
|
|
|
|
output = json.loads(machine.wait_until_succeeds(curl_cmd, timeout=10))
|
|
|
|
print(output)
|
|
|
|
assert "ok" == output['status'], "status not ok"
|
|
|
|
'';
|
2024-04-04 08:35:07 +02:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
meta.maintainers = with lib.maintainers; [ fabianrig ];
|
|
|
|
}
|