chore: remove unused moduleSchemas and related API endpoint for legacy modules
We didn't reach the state where we would display these schemas in the UI. We might need to wire this up in a similar way for the newer clan.services
This commit is contained in:
@@ -158,7 +158,6 @@ in
|
|||||||
# all exported clan modules from this clan
|
# all exported clan modules from this clan
|
||||||
modules = lib.mkOption { type = lib.types.raw; };
|
modules = lib.mkOption { type = lib.types.raw; };
|
||||||
# all inventory module schemas
|
# all inventory module schemas
|
||||||
moduleSchemas = lib.mkOption { type = lib.types.raw; };
|
|
||||||
inventoryFile = lib.mkOption { type = lib.types.raw; };
|
inventoryFile = lib.mkOption { type = lib.types.raw; };
|
||||||
# The machine 'imports' generated by the inventory per machine
|
# The machine 'imports' generated by the inventory per machine
|
||||||
inventoryClass = lib.mkOption { type = lib.types.raw; };
|
inventoryClass = lib.mkOption { type = lib.types.raw; };
|
||||||
|
|||||||
@@ -193,12 +193,6 @@ in
|
|||||||
name: _: inventory.machines.${name}.machineClass or "nixos" == "darwin"
|
name: _: inventory.machines.${name}.machineClass or "nixos" == "darwin"
|
||||||
) (config.outputs.moduleForMachine);
|
) (config.outputs.moduleForMachine);
|
||||||
|
|
||||||
moduleSchemas = clan-core.clanLib.modules.getModulesSchema {
|
|
||||||
modules = config.inventory.modules;
|
|
||||||
# TODO: make this function system agnostic
|
|
||||||
pkgs = nixpkgs.legacyPackages."x86_64-linux";
|
|
||||||
inherit clan-core;
|
|
||||||
};
|
|
||||||
inherit inventoryClass;
|
inherit inventoryClass;
|
||||||
|
|
||||||
# TODO: unify this interface
|
# TODO: unify this interface
|
||||||
|
|||||||
@@ -174,28 +174,6 @@ def get_modules(base_path: str) -> dict[str, str]:
|
|||||||
return modules
|
return modules
|
||||||
|
|
||||||
|
|
||||||
@API.register
|
|
||||||
def get_module_interface(base_path: str, module_name: str) -> dict[str, Any]:
|
|
||||||
"""
|
|
||||||
Check if a module exists and returns the interface schema
|
|
||||||
Returns an error if the module does not exist or has an incorrect interface
|
|
||||||
"""
|
|
||||||
cmd = nix_eval([f"{base_path}#clanInternals.moduleSchemas.{module_name}", "--json"])
|
|
||||||
try:
|
|
||||||
proc = run_no_stdout(cmd)
|
|
||||||
res = proc.stdout.strip()
|
|
||||||
except ClanCmdError as e:
|
|
||||||
msg = "clanInternals might not have moduleSchemas attributes"
|
|
||||||
raise ClanError(
|
|
||||||
msg,
|
|
||||||
location=f"list_modules {base_path}",
|
|
||||||
description="Evaluation failed on clanInternals.moduleSchemas attribute",
|
|
||||||
) from e
|
|
||||||
modules_schema: dict[str, Any] = json.loads(res)
|
|
||||||
|
|
||||||
return modules_schema
|
|
||||||
|
|
||||||
|
|
||||||
@API.register
|
@API.register
|
||||||
def list_modules(base_path: str) -> dict[str, ModuleInfo]:
|
def list_modules(base_path: str) -> dict[str, ModuleInfo]:
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user