Watch
0
0
Fork
You've already forked hyperhive
0

add a per-agent egress log mode

This commit is contained in:
atlas 2026-10-30 02:18:39 +01:00 • committed by mara
commit e46ad07226

View file

@ -24,6 +24,13 @@ pub struct Permissions {
/// `PUT` keeps the stored value.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unrestricted_internet: Option<bool>,
/// With `unrestricted_internet` `false`: requests to names the agent's lists
/// do not allow go through and squid logs each as `would_deny`. `true`
/// needs `unrestricted_internet: false`, in the request or stored. Setting
/// `unrestricted_internet` without this field turns it off; leaving both
/// out keeps the stored value.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub internet_log: Option<bool>,
}
#[cfg(test)]
@ -39,6 +46,7 @@ mod tests {
Permissions {
permissions: Some(vec![]),
unrestricted_internet: None,
internet_log: None,
},
r#"{"permissions":[]}"#,
),
@ -46,13 +54,23 @@ mod tests {
Permissions {
permissions: None,
unrestricted_internet: Some(false),
internet_log: None,
},
r#"{"unrestricted_internet":false}"#,
),
(
Permissions {
permissions: None,
unrestricted_internet: Some(false),
internet_log: Some(true),
},
r#"{"unrestricted_internet":false,"internet_log":true}"#,
),
(
Permissions {
permissions: Some(vec![Permission::Messaging, Permission::ManageRootAgent]),
unrestricted_internet: None,
internet_log: None,
},
r#"{"permissions":["messaging","manage_root_agent"]}"#,
),