diff options
author | Martin Weinelt <mweinelt@users.noreply.github.com> | 2022-01-26 00:08:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-26 00:08:47 +0100 |
commit | 89e18a19cded1b55482c3986835df67b3e1ab09f (patch) | |
tree | 39bde34a77ad5838d811849335cee8e6b33be9bc /nixos | |
parent | a54ec7152b53685f629eef4d400dc3d2160f57e5 (diff) | |
parent | d9ad2b40f14cf5c8e668e7efb51de5c4a987a371 (diff) |
Merge pull request #156738 from mweinelt/hass-ping
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/misc/home-assistant.nix | 7 | ||||
-rw-r--r-- | nixos/tests/home-assistant.nix | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 2de25d87ed398..ac4c0222aac3c 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -278,6 +278,11 @@ in { "bluetooth_tracker" "bluetooth_le_tracker" ]; + componentsUsingPing = [ + # Components that require the capset syscall for the ping wrapper + "ping" + "wake_on_lan" + ]; componentsUsingSerialDevices = [ # Components that require access to serial devices (/dev/tty*) # List generated from home-assistant documentation: @@ -382,6 +387,8 @@ in { SystemCallFilter = [ "@system-service" "~@privileged" + ] ++ optionals (any useComponent componentsUsingPing) [ + "capset" ]; UMask = "0077"; }; diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index 1ab5755863f74..5b1c07c92da35 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -49,6 +49,12 @@ in { payload_on = "let_there_be_light"; payload_off = "off"; }]; + wake_on_lan = {}; + switch = [{ + platform = "wake_on_lan"; + mac = "00:11:22:33:44:55"; + host = "127.0.0.1"; + }]; # tests component-based capability assignment (CAP_NET_BIND_SERVICE) emulated_hue = { host_ip = "127.0.0.1"; @@ -99,6 +105,10 @@ in { print("\n### home-assistant.log ###\n") print(output_log + "\n") + # wait for home-assistant to fully boot + hass.sleep(30) + hass.wait_for_unit("home-assistant.service") + with subtest("Check that no errors were logged"): assert "ERROR" not in output_log |