feat(fleet): provision roster from system-type profile (H3) (#665)
This commit was merged in pull request #665.
This commit is contained in:
@@ -234,6 +234,21 @@ export async function resolvePersona(
|
||||
extractClassesFromDir(rolesDir),
|
||||
extractClassesFromDir(overrideDir),
|
||||
]);
|
||||
return resolvePersonaFrom(klass, { rolesDir, overrideDir, base, over });
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve a single class against ALREADY-EXTRACTED layer maps. Callers that
|
||||
* resolve many classes against the same two directories (e.g. provisioning a
|
||||
* full roster) should {@link extractClassesFromDir} each dir ONCE and reuse the
|
||||
* result here, rather than paying a full directory re-scan per class. Precedence
|
||||
* is identical to {@link resolvePersona}: override layer wins, then baseline.
|
||||
*/
|
||||
export async function resolvePersonaFrom(
|
||||
klass: string,
|
||||
layers: { rolesDir: string; overrideDir: string; base: DirClasses; over: DirClasses },
|
||||
): Promise<PersonaResolution | null> {
|
||||
const { rolesDir, overrideDir, base, over } = layers;
|
||||
|
||||
const fromLayer = async (
|
||||
dir: string,
|
||||
|
||||
Reference in New Issue
Block a user