API(clanInternals): add 'evalServiceSchema' endpoint

This commit is contained in:
Johannes Kirschbauer
2025-05-03 21:19:18 +02:00
parent d42d9ad943
commit 9fbd943f44
4 changed files with 67 additions and 38 deletions

View File

@@ -205,6 +205,21 @@ in
inherit inventoryClass;
# Endpoint that can be called to get a service schema
evalServiceSchema =
{moduleSpec}:
let
resolvedModule = clan-core.clanLib.inventory.resolveModule {
inherit moduleSpec;
flakeInputs = config.self.inputs;
localModuleSet = config.inventory.modules;
};
in
(clan-core.clanLib.inventory.evalClanService {
modules = [ resolvedModule ];
prefix = [ ];
}).config.result.api.schema;
# TODO: unify this interface
# We should have only clan.modules. (consistent with clan.templates)
inherit (clan-core) clanModules clanLib;