Default profiles to persistent system paths

This commit is contained in:
ms2k 2026-07-22 03:23:38 +09:00
commit acd0b4cc8c

View file

@ -137,7 +137,10 @@ image = "example.invalid/agent:v1"
let parsed = parse_trusted_configuration(minimal.as_bytes()).unwrap();
let profile = &parsed.profiles()["default"];
assert!(profile.isolate_gitignored);
assert!(profile.persistent_dirs.is_empty());
assert_eq!(
profile.persistent_dirs,
["/root", "/usr", "/var", "/etc", "/opt"]
);
assert!(profile.allow_egress.is_empty());
assert!(profile.deny_egress.is_empty());
assert!(profile.env.is_empty());
@ -148,6 +151,23 @@ image = "example.invalid/agent:v1"
assert!(parsed.network().default_allow.is_empty());
assert!(parsed.network().default_deny.is_empty());
for (value, expected) in [
("[]", Vec::<String>::new()),
("[\"/nix\"]", vec!["/nix".to_owned()]),
] {
let explicit = minimal.replace(
"image = \"example.invalid/agent:v1\"",
&format!("image = \"example.invalid/agent:v1\"\npersistent_dirs = {value}"),
);
assert_eq!(
parse_trusted_configuration(explicit.as_bytes())
.unwrap()
.profiles()["default"]
.persistent_dirs,
expected
);
}
for invalid in [
minimal.replace("schema", "unknown"),
format!("{minimal}unknown = true\n"),
@ -271,6 +291,10 @@ fn repository_example_loads_with_ipv4_normalization_and_private_denies() {
let config = write_configuration(&tree, include_str!("../../../docs/example.toml"));
let resolved = load_trusted_configuration(request(&tree, config, BTreeMap::new())).unwrap();
assert_eq!(resolved.selected_profile(), "default");
assert_eq!(
resolved.fingerprint_record().persistent_dirs,
["/root", "/usr", "/var", "/etc", "/opt"]
);
assert!(
resolved
.effective_allow_prefixes()