feat: adopt security zones and explicit workload refs
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a0291a-1e87-7151-9934-fcbfe3f65eb1
This commit is contained in:
parent
12c637cbf2
commit
7ce58ae638
52 changed files with 1547 additions and 658 deletions
|
|
@ -84,13 +84,13 @@ def test_default_vault_token_env(tmp_path):
|
|||
assert cfg.vault.token_env == "VAULT_TOKEN"
|
||||
|
||||
|
||||
def test_policy_defaults_disabled(tmp_path):
|
||||
def test_policy_defaults_to_unknown_zone_profile(tmp_path):
|
||||
cfg_path = tmp_path / "warden.yaml"
|
||||
write_yaml(cfg_path, {"backend": "local", "ca_key": str(tmp_path / "ca")})
|
||||
cfg = load_config(cfg_path)
|
||||
assert cfg.policy.enabled is False
|
||||
assert cfg.policy.flex_auth_url == "http://127.0.0.1:8080"
|
||||
assert cfg.policy.fail_closed is True
|
||||
assert cfg.policy.flex_auth_url is None
|
||||
assert cfg.policy.failure_modes["unknown"] == "fail_open"
|
||||
assert cfg.policy.failure_modes["z3-critical"] == "fail_closed"
|
||||
|
||||
|
||||
def test_policy_block_parsed(tmp_path):
|
||||
|
|
@ -99,18 +99,30 @@ def test_policy_block_parsed(tmp_path):
|
|||
"backend": "local",
|
||||
"ca_key": str(tmp_path / "ca"),
|
||||
"policy": {
|
||||
"enabled": True,
|
||||
"flex_auth_url": "http://flex-auth:8080",
|
||||
"fail_closed": False,
|
||||
"zone_registry_path": str(tmp_path / "zones.json"),
|
||||
"failure_modes": {"z2-protected": "fail_closed"},
|
||||
"tenant": "tenant:coulomb",
|
||||
"subject_env": "MY_SUBJECT",
|
||||
"system": "warden-test",
|
||||
},
|
||||
})
|
||||
cfg = load_config(cfg_path)
|
||||
assert cfg.policy.enabled is True
|
||||
assert cfg.policy.flex_auth_url == "http://flex-auth:8080"
|
||||
assert cfg.policy.fail_closed is False
|
||||
assert cfg.policy.zone_registry_path == tmp_path / "zones.json"
|
||||
assert cfg.policy.failure_modes["z2-protected"] == "fail_closed"
|
||||
assert cfg.policy.tenant == "tenant:coulomb"
|
||||
assert cfg.policy.subject_env == "MY_SUBJECT"
|
||||
assert cfg.policy.system == "warden-test"
|
||||
|
||||
|
||||
@pytest.mark.parametrize("retired", ["enabled", "fail_closed"])
|
||||
def test_retired_global_policy_switches_are_rejected(tmp_path, retired):
|
||||
cfg_path = tmp_path / "warden.yaml"
|
||||
write_yaml(cfg_path, {
|
||||
"backend": "local",
|
||||
"ca_key": str(tmp_path / "ca"),
|
||||
"policy": {retired: True},
|
||||
})
|
||||
with pytest.raises(ConfigError, match=f"policy.{retired}"):
|
||||
load_config(cfg_path)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue