mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 13:40:28 +03:00
nixos/ntpd-rs: Handle configuring NTP pools (#403903)
This commit is contained in:
commit
2634ca8249
2 changed files with 27 additions and 5 deletions
|
@ -63,7 +63,7 @@ in
|
|||
};
|
||||
source = lib.mkIf cfg.useNetworkingTimeServers (
|
||||
map (ts: {
|
||||
mode = "server";
|
||||
mode = if lib.strings.hasInfix "pool" ts then "pool" else "server";
|
||||
address = ts;
|
||||
}) config.networking.timeServers
|
||||
);
|
||||
|
|
|
@ -11,7 +11,7 @@ import ./make-test-python.nix (
|
|||
client = {
|
||||
services.ntpd-rs = {
|
||||
enable = true;
|
||||
metrics.enable = true;
|
||||
metrics.enable = false;
|
||||
useNetworkingTimeServers = false;
|
||||
settings = {
|
||||
source = [
|
||||
|
@ -27,11 +27,22 @@ import ./make-test-python.nix (
|
|||
};
|
||||
};
|
||||
server = {
|
||||
networking.firewall.allowedUDPPorts = [ 123 ];
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
9975
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
123
|
||||
];
|
||||
};
|
||||
|
||||
services.ntpd-rs = {
|
||||
enable = true;
|
||||
metrics.enable = true;
|
||||
settings = {
|
||||
observability = {
|
||||
metrics-exporter-listen = "[::]:9975";
|
||||
};
|
||||
server = [
|
||||
{ listen = "[::]:123"; }
|
||||
];
|
||||
|
@ -48,8 +59,19 @@ import ./make-test-python.nix (
|
|||
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')
|
||||
|
||||
client.fail('systemctl is-active ntpd-rs-metrics.service')
|
||||
server.succeed('systemctl is-active ntpd-rs-metrics.service')
|
||||
|
||||
server.wait_for_open_port(9975)
|
||||
client.succeed('curl http://server:9975/metrics | grep ntp_uptime_seconds')
|
||||
server.fail('curl --fail --connect-timeout 2 http://client:9975/metrics | grep ntp_uptime_seconds')
|
||||
|
||||
client.succeed("ntp-ctl status | grep server:123")
|
||||
server.succeed("ntp-ctl status | grep '\[::\]:123'")
|
||||
|
||||
client.succeed("grep '^mode = \"server\"' $(systemctl status ntpd-rs | grep -oE '/nix/store[^ ]*ntpd-rs.toml')")
|
||||
server.succeed("grep '^mode = \"pool\"' $(systemctl status ntpd-rs | grep -oE '/nix/store[^ ]*ntpd-rs.toml')")
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue