pub struct TreeSection {
pub max_depth: Option<u32>,
pub max_children: Option<u32>,
pub creates_per_hour: Option<u32>,
pub reserved_labels: Option<Vec<String>>,
}Expand description
The shape one creator may give the ownership tree, enforced by the server whatever policy says.
Reload: hot for the three bounds below. A running server re-reads this
file every [intervals] tree_reload_secs and judges every later create
by what it found; a create already judged keeps its answer. A re-read
that fails — the file gone, the TOML bad, a bound outside its range —
changes nothing and warns, naming the file and the key.
reserved_labels is read once, into the router, and needs a restart.
Fields§
§max_depth: Option<u32>The deepest an account may sit, in edges from the operator.
Reasonable range: 1 to 64. This bounds how long a chain a reader walks to reach the operator, and how many parties it rests on. Ten, the default, leaves room above a service, a host beneath it and an agent beneath that for agents that register agents of their own.
max_children: Option<u32>The most accounts one creator may operate at once.
Reasonable range: 1 to 1_000_000. This bounds how many accounts one leaked key can be holding when the operator notices. Ten thousand, the default, is above the pools this deployment expects and under what a loop reaches.
creates_per_hour: Option<u32>The most accounts one creator may create in an hour.
Reasonable range: 1 to 1_000_000. This bounds the rate rather
than the total, and is what stops a loop before max_children is
reached. A hundred, the default, admits a pool of a hundred coming
up at once.
reserved_labels: Option<Vec<String>>Labels no account may take directly under a zone: the hostnames the
deployment answers at itself, and names a browser or resolver asks
for on its own. Absent, didbot_serve::tree::RESERVED_LABELS
stands; an empty list reserves nothing.
Reasonable range: 0 to 100 labels. Each one is a name the
deployment’s own www, xrpc or dashboard would otherwise share
with an agent through the zone’s wildcard.
Trait Implementations§
Source§impl Clone for TreeSection
impl Clone for TreeSection
Source§fn clone(&self) -> TreeSection
fn clone(&self) -> TreeSection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TreeSection
impl Debug for TreeSection
Source§impl Default for TreeSection
impl Default for TreeSection
Source§fn default() -> TreeSection
fn default() -> TreeSection
Source§impl<'de> Deserialize<'de> for TreeSection
impl<'de> Deserialize<'de> for TreeSection
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for TreeSection
impl PartialEq for TreeSection
Source§fn eq(&self, other: &TreeSection) -> bool
fn eq(&self, other: &TreeSection) -> bool
self and other values to be equal, and is used by ==.