refactor: centralize definition of MicroVM node names

This commit is contained in:
oddlama 2023-05-21 15:08:27 +02:00
parent d7f69c5baa
commit cbcd3c943b
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
3 changed files with 34 additions and 15 deletions

View file

@ -106,15 +106,13 @@
colmena = import ./nix/colmena.nix inputs;
colmenaNodes = ((colmena.lib.makeHive self.colmena).introspect (x: x)).nodes;
microvmNodes =
nixpkgs.lib.concatMapAttrs
(nodeName: nodeAttrs:
nixpkgs.lib.mapAttrs'
# TODO This is duplicated three times. This is microvm naming #3
# TODO maybe use microvm.vms.<name>.compoundName
(n: nixpkgs.lib.nameValuePair "${nodeName}-${n}")
(self.colmenaNodes.${nodeName}.config.microvm.vms or {}))
self.colmenaNodes;
# Collect all defined microvm nodes from each colmena node
microvmNodes = nixpkgs.lib.concatMapAttrs (_: node:
nixpkgs.lib.mapAttrs'
(vm: def: nixpkgs.lib.nameValuePair def.nodeName node.config.microvm.vms.${vm})
(node.config.extra.microvms.vms or {}))
self.colmenaNodes;
# Expose all nodes in a single attribute
nodes = self.colmenaNodes // self.microvmNodes;
# Collect installer packages