idek what i did to fix this

Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
This commit is contained in:
ahuston-0 2024-05-25 16:03:38 -04:00
parent 1c596593ca
commit eba9d9c4cd
No known key found for this signature in database
GPG Key ID: 1FACF4075E3212F7
2 changed files with 44 additions and 39 deletions

View File

@ -3,14 +3,16 @@ rec {
genK3SVM = genK3SVM =
server-config: agent-config: vms: server-config: agent-config: vms:
lib.mapAttrs ( lib.mapAttrs (
host: {ipv4,server ? false}: host:
genMicroVM host ipv4 "x86_64-linux" ( {
if server then (import server-config) else (import agent-config) ipv4,
) server ? false,
}:
genMicroVM host ipv4 "x86_64-linux" (if server then server-config else agent-config)
) vms; ) vms;
genMicroVM = genMicroVM =
hostName: ipv4: system: vm-config: hostName: ipv4: _system: vm-config:
# microvm refers to microvm.nixosModules # microvm refers to microvm.nixosModules
# { # {
@ -20,37 +22,40 @@ rec {
# ... # ...
# }: # }:
{ {
# The package set to use for the microvm. This also determines the microvm's architecture. # The package set to use for the microvm. This also determines the microvm's architecture.
# Defaults to the host system's package set if not given. # Defaults to the host system's package set if not given.
# pkgs = import pkgs { inherit system; }; # pkgs = import pkgs { inherit system; };
# (Optional) A set of special arguments to be passed to the MicroVM's NixOS modules. # (Optional) A set of special arguments to be passed to the MicroVM's NixOS modules.
#specialArgs = {}; #specialArgs = {};
# The configuration for the MicroVM. # The configuration for the MicroVM.
# Multiple definitions will be merged as expected. # Multiple definitions will be merged as expected.
config = { config = {
# It is highly recommended to share the host's nix-store imports = [ vm-config ];
# with the VMs to prevent building huge images. # It is highly recommended to share the host's nix-store
microvm.shares = [ # with the VMs to prevent building huge images.
microvm.shares = [
{
source = "/nix/store";
mountPoint = "/nix/.ro-store";
tag = "ro-store";
proto = "virtiofs";
}
];
networking = {
inherit hostName;
interfaces.ether.ipv4.addresses = [
{ {
source = "/nix/store";
mountPoint = "/nix/.ro-store";
tag = "ro-store";
proto = "virtiofs";
}
];
networking = {
inherit hostName;
interfaces.ether.ipv4.addreses = {
address = ipv4; address = ipv4;
prefixLength = 32; prefixLength = 32;
}; }
}; ];
};
# Any other configuration for your MicroVM # Any other configuration for your MicroVM
# [...] # [...]
} // vm-config; };
}; };
} }

View File

@ -22,13 +22,13 @@ in
microvm.vms = cfg.vms; microvm.vms = cfg.vms;
# TODO: deprecate this once we have syslog forwarders # TODO: deprecate this once we have syslog forwarders
systemd.tmpfiles.rules = map ( # systemd.tmpfiles.rules = map (
vmHost: # vmHost:
let # let
machineId = lib.addresses.machineId.${vmHost}; # machineId = lib.addresses.machineId.${vmHost};
in # in
# creates a symlink of each MicroVM's journal under the host's /var/log/journal # # creates a symlink of each MicroVM's journal under the host's /var/log/journal
"L+ /var/log/journal/${machineId} - - - - /var/lib/microvms/${vmHost}/journal/${machineId}" # "L+ /var/log/journal/${machineId} - - - - /var/lib/microvms/${vmHost}/journal/${machineId}"
) (builtins.attrNames lib.addresses.machineId); # ) (builtins.attrNames lib.addresses.machineId);
}; };
} }