test: added a test for physical servers.

They wont be built/deployed now without an ip assigned.

See the "fun" over here https://discord.com/channels/689189992417067052/1118476661604765746/1125914392102445220
This commit is contained in:
silver 2023-07-08 09:16:38 +01:00
parent 378973060a
commit 8b09e7962b
4 changed files with 20 additions and 1 deletions

View file

@ -19,6 +19,7 @@ let
in { in {
imports = [ imports = [
./hardware/_base.nix
./hardware/RM001.nix ./hardware/RM001.nix
]; ];

View file

@ -0,0 +1,17 @@
{ config, options, lib, ... }: with lib;
let
# get a list of interfaces
interfaces = attrNames config.networking.interfaces;
# check if an IP has been assigned
has_ip = interface: (length config.networking.interfaces."${interface}".ipv4.addresses) != 0;
in {
config = {
assertions = [
{
assertion = lists.any has_ip interfaces;
message = "Must have a ip address set";
}
];
};
}

View file

@ -20,6 +20,7 @@ let
in { in {
imports = [ imports = [
./hardware/_base.nix
./hardware/RM007.nix ./hardware/RM007.nix
../applications/restic.nix ../applications/restic.nix
]; ];

View file

@ -22,7 +22,7 @@ let
ns = "ns1"; ns = "ns1";
in { in {
imports = [ imports = [
# the physical hardware for this ./hardware/_base.nix
./hardware/RM002.nix ./hardware/RM002.nix
]; ];