1{ pkgs, lib, ... }:
2{
3 name = "technitium-dns-server";
4
5 nodes = {
6 machine =
7 { pkgs, ... }:
8 {
9 systemd.services.technitium-dns-server.serviceConfig.Restart = lib.mkForce "no";
10
11 services.technitium-dns-server = {
12 enable = true;
13 openFirewall = true;
14 };
15 };
16 };
17
18 testScript = ''
19 import json
20
21 start_all()
22 machine.wait_for_unit("technitium-dns-server.service")
23 machine.wait_for_open_port(53)
24 curl_cmd = 'curl --fail-with-body -X GET "http://localhost:5380/api/user/login?user=admin&pass=admin"'
25 output = json.loads(machine.wait_until_succeeds(curl_cmd, timeout=10))
26 print(output)
27 assert "ok" == output['status'], "status not ok"
28 '';
29
30 meta.maintainers = with lib.maintainers; [ fabianrig ];
31}