about summary refs log tree commit diff
path: root/nixos/tests/ntpd-rs.nix
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2023-10-31 14:28:49 +0000
committerFranz Pletz <fpletz@fnordicwalking.de>2024-01-14 17:34:42 +0100
commit9707745cf8af50adf2ef2408933be3e7ea0b1912 (patch)
tree7c8ede42af006865e9e8bdc8cc6bdf502ddfc19c /nixos/tests/ntpd-rs.nix
parenta39d50f8b3a21ed7f24124198f73f7a7abb47b3d (diff)
nixos/ntpd-rs: init
Diffstat (limited to 'nixos/tests/ntpd-rs.nix')
-rw-r--r--nixos/tests/ntpd-rs.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/nixos/tests/ntpd-rs.nix b/nixos/tests/ntpd-rs.nix
new file mode 100644
index 0000000000000..2901be5235208
--- /dev/null
+++ b/nixos/tests/ntpd-rs.nix
@@ -0,0 +1,49 @@
+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()
+    server.wait_for_unit('multi-user.target')
+    client.wait_for_unit('multi-user.target')
+    server.succeed('systemctl is-active ntpd-rs.service')
+    client.succeed('systemctl is-active ntpd-rs.service')
+  '';
+})