Skip to main content

ZoneSection

Struct ZoneSection 

Source
pub struct ZoneSection {
    pub zones: Option<Vec<String>>,
    pub operator: Option<String>,
    pub pds_endpoint: Option<String>,
}
Expand description

The zones accounts are minted under, and who answers for them.

Reload: needs a restart. The zone is load-bearing for every DID this process has already minted; changing it under a running server would make existing accounts unresolvable against the new value.

Fields§

§zones: Option<Vec<String>>

Mirrors --zone, and holds the same list. The first is the primary: the server’s own hostname. Every zone mints accounts one label under it, and gets its own DNS backend and, under ACME, its own certificate pair. Unset leaves agents.localhost, which is what a local run wants.

Reasonable range: 1 to 20 zones. Each one is a certificate pair renewed on its own schedule, an apex and a wildcard record, and a Route53 hosted zone id. A deployment with one zone writes a list of one.

§operator: Option<String>

Mirrors --operator. The DID answerable for every account this run mints — never a scope or a permission, only an identifier.

Outside .localhost the server polls this DID’s repository for its bot.did.operator claim and its policy records, so it is the DID whose records govern this deployment as well as the one a stranger reads to find someone accountable.

§pds_endpoint: Option<String>

The URL agents are told to use as their PDS endpoint, and the one written into every DID document this server publishes. No flag mirrors this, only this key.

Unset, it is derived from the primary zone: https://<zone>, plus the bound port when this run did not take 443. Set it when the address agents reach is not the address this process binds — a deployment behind a proxy that terminates TLS on a different hostname, for instance.

It is published, not just used: an endpoint that does not reach this server makes every account this run mints unreachable, and the DID documents already carrying it do not change when this does.

Trait Implementations§

Source§

impl Clone for ZoneSection

Source§

fn clone(&self) -> ZoneSection

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ZoneSection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ZoneSection

Source§

fn default() -> ZoneSection

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for ZoneSection

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ZoneSection

Source§

fn eq(&self, other: &ZoneSection) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for ZoneSection

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for ZoneSection

Source§

impl StructuralPartialEq for ZoneSection

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,