pub enum OverlaydRequest {
Show 19 variants
SetLocalNodeId {
node_id: u64,
},
SetLocalWgPubkey {
pubkey: String,
},
SetupGlobalOverlay {
deployment: String,
instance_id: String,
cluster_cidr: String,
slice_cidr: Option<String>,
wg_port: u16,
nat_enabled: bool,
},
TeardownGlobalOverlay,
SetupServiceOverlay {
service: String,
mode: OverlayMode,
},
TeardownServiceOverlay {
service: String,
},
AllocateIp {
service: String,
join_global: bool,
},
ReleaseIp {
ip: IpAddr,
},
AttachContainer {
handle: AttachHandle,
service: String,
join_global: bool,
dns_server: Option<IpAddr>,
dns_domain: Option<String>,
},
DetachContainer {
handle: AttachHandle,
},
AddPeer {
peer: PeerSpec,
scope: PeerScope,
},
RemovePeer {
pubkey: String,
scope: PeerScope,
},
AddAllowedIp {
pubkey: String,
cidr: String,
scope: PeerScope,
},
RemoveAllowedIp {
pubkey: String,
cidr: String,
scope: PeerScope,
},
RegisterDns {
name: String,
ip: IpAddr,
},
UnregisterDns {
name: String,
},
Status,
NatTick,
Shutdown,
}Expand description
A request from the main daemon to overlayd.
Variants§
SetLocalNodeId
Push this node’s Raft id (cluster-brain context overlayd scopes by).
SetLocalWgPubkey
Push this node’s WireGuard public key (base64).
SetupGlobalOverlay
Bring up (or reuse) this node’s base/global overlay. Idempotent: if the overlay network already exists (recorded in overlayd’s marker), it is reused rather than recreated. This is the only place the base overlay is created; it is torn down only on a full uninstall.
Fields
TeardownGlobalOverlay
Tear down the node’s base overlay (e.g. on full uninstall).
SetupServiceOverlay
Create the per-service overlay segment (Linux bridge / Windows HCN
Internal network) for service. Returns OverlaydResponse::BridgeName.
TeardownServiceOverlay
Remove the per-service overlay segment.
AllocateIp
Allocate (or, with ip set on a later attach, validate) an overlay IP
from the node slice for a container on service.
ReleaseIp
Return an overlay IP to the allocator.
AttachContainer
Wire a container into the overlay. Returns OverlaydResponse::Attached.
Fields
handle: AttachHandleDetachContainer
Tear down a container’s overlay attachment and release its IP.
Fields
handle: AttachHandleAddPeer
Add a WireGuard peer to the base overlay.
RemovePeer
Remove a peer by its base64 public key.
AddAllowedIp
Plumb a service subnet into a peer’s AllowedIPs.
RemoveAllowedIp
Remove a service subnet from a peer’s AllowedIPs.
RegisterDns
Register an overlay DNS A/AAAA record.
UnregisterDns
Remove an overlay DNS record.
Status
Snapshot overlay state for diagnostics. Returns OverlaydResponse::Status.
NatTick
Run one NAT-traversal maintenance tick (probe/refresh endpoints).
Shutdown
Ask overlayd to shut down gracefully (drops the adapter).
Trait Implementations§
Source§impl Clone for OverlaydRequest
impl Clone for OverlaydRequest
Source§fn clone(&self) -> OverlaydRequest
fn clone(&self) -> OverlaydRequest
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 OverlaydRequest
impl Debug for OverlaydRequest
Source§impl<'de> Deserialize<'de> for OverlaydRequest
impl<'de> Deserialize<'de> for OverlaydRequest
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>,
impl Eq for OverlaydRequest
Source§impl PartialEq for OverlaydRequest
impl PartialEq for OverlaydRequest
Source§fn eq(&self, other: &OverlaydRequest) -> bool
fn eq(&self, other: &OverlaydRequest) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for OverlaydRequest
impl Serialize for OverlaydRequest
impl StructuralPartialEq for OverlaydRequest
Auto Trait Implementations§
impl Freeze for OverlaydRequest
impl RefUnwindSafe for OverlaydRequest
impl Send for OverlaydRequest
impl Sync for OverlaydRequest
impl Unpin for OverlaydRequest
impl UnsafeUnpin for OverlaydRequest
impl UnwindSafe for OverlaydRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.