import ./make-test-python.nix ( { lib, ... }: { name = "ntpd-rs"; meta = { maintainers = with lib.maintainers; [ fpletz ]; }; nodes = { client = { services.ntpd-rs = { enable = true; metrics.enable = true; useNetworkingTimeServers = false; settings = { source = [ { mode = "server"; address = "server"; } ]; synchronization = { minimum-agreeing-sources = 1; }; }; }; }; server = { networking.firewall.allowedUDPPorts = [ 123 ]; services.ntpd-rs = { enable = true; metrics.enable = true; settings = { server = [ { listen = "[::]:123"; } ]; }; }; }; }; testScript = { nodes, ... }: '' start_all() for machine in (server, client): machine.wait_for_unit('multi-user.target') machine.succeed('systemctl is-active ntpd-rs.service') machine.succeed('systemctl is-active ntpd-rs-metrics.service') machine.succeed('curl http://localhost:9975/metrics | grep ntp_uptime_seconds') ''; } )