pub(crate) fn load_roles(
root: &Path,
profile: &str,
variables: &BTreeMap<String, String>,
) -> Result<Vec<RoleDefinition>, ProjectError>Expand description
Load all role definitions from <root>/roles/.
Returns an empty vec if roles/ doesn’t exist (the directory is optional).