idek what i did to fix this
Signed-off-by: ahuston-0 <aliceghuston@gmail.com>
This commit is contained in:
		@@ -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;
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user