[microvm] add microvm deployment option to host
Some checks failed
Evaluate Hydra Jobs / eval-hydra-jobs (push) Has been cancelled
Evaluate Hydra Jobs / eval-hydra-jobs (pull_request) Successful in 3m23s

This commit is contained in:
2024-11-21 13:00:21 +01:00
parent 1cecd21763
commit 1c66b6db8c

View File

@@ -13,6 +13,14 @@ in
type = types.bool;
description = lib.mdDoc "Setup bridge device for microvms.";
};
deployHosts = mkOption {
default = [];
type = types.listOf string;
description = ''
List hostnames of MicroVMs that should be automatically initializes and autostart
'';
};
};
};
@@ -48,5 +56,24 @@ in
networkConfig.Bridge = "microvm";
};
};
imports = mkIf cfg.deployHosts != [] [
inputs.microvm.nixosModules.host
];
microvm.autostart = cfg.deployHosts;
microvm.vms =
let
# Map the values to each hostname to then generate a Attrs using listToAttrs
mapperFunc = name: { inherit name; value = {
# Host build-time reference to where the MicroVM NixOS is defined
# under nixosConfigurations
flake = self;
# Specify from where to let `microvm -u` update later on
updateFlake = "git+https://git.dynamicdiscord.de/kalipso/infrastructure?ref=microvm";
}; };
in
mkIf cfg.deployHosts != []
builtins.listToAttrs (map mapperFunc cfg.deployHosts);
};
}