feat: Default access policy one factor if no rules
All checks were successful
Build and deploy / build (push) Successful in 10m7s

This commit is contained in:
2025-12-23 03:23:43 +01:00
parent c80024972c
commit b6c5a50148

View File

@@ -49,6 +49,7 @@ struct AccessControl {
#[derive(Serialize, Deserialize, Clone, Debug, Hash)] #[derive(Serialize, Deserialize, Clone, Debug, Hash)]
struct TopLevel { struct TopLevel {
default_policy: AccessPolicy,
access_control: AccessControl, access_control: AccessControl,
} }
@@ -60,13 +61,19 @@ impl AccessControlRule {
debug!("Updating acl"); debug!("Updating acl");
rules.sort_by_cached_key(|rule| rule.name_any()); rules.sort_by_cached_key(|rule| rule.name_any());
let rules = rules let rules: Vec<_> = rules
.iter() .iter()
.inspect(|rule| trace!(name = rule.name_any(), "Rule found")) .inspect(|rule| trace!(name = rule.name_any(), "Rule found"))
.map(|rule| rule.spec.clone()) .map(|rule| rule.spec.clone())
.collect(); .collect();
let top = TopLevel { let top = TopLevel {
// TODO: Make sure configurable?
default_policy: if rules.is_empty() {
AccessPolicy::OneFactor
} else {
AccessPolicy::Deny
},
access_control: AccessControl { rules }, access_control: AccessControl { rules },
}; };