pub struct NodeBuilder { /* private fields */ }Expand description
Builder for constructing a Node<TailscaleProvider>.
Configures the Tailscale sidecar, network identity, and transport parameters before wiring all layers together.
§Example
ⓘ
let node = Node::builder()
.name("my-node")
.sidecar_path("/opt/truffle/sidecar")
.ws_port(9417)
.build()
.await?;Implementations§
Source§impl NodeBuilder
impl NodeBuilder
Sourcepub fn name(self, name: &str) -> Self
pub fn name(self, name: &str) -> Self
Set the node’s display name (used as the Tailscale hostname).
Sourcepub fn sidecar_path(self, path: impl Into<PathBuf>) -> Self
pub fn sidecar_path(self, path: impl Into<PathBuf>) -> Self
Set the path to the Go sidecar binary.
Sourcepub fn auth_key(self, key: &str) -> Self
pub fn auth_key(self, key: &str) -> Self
Set the Tailscale auth key for headless authentication.
Sourcepub fn ephemeral(self, val: bool) -> Self
pub fn ephemeral(self, val: bool) -> Self
Set whether the node is ephemeral (auto-removed from tailnet on shutdown).
Sourcepub async fn build(self) -> Result<Node<TailscaleProvider>, NodeError>
pub async fn build(self) -> Result<Node<TailscaleProvider>, NodeError>
Build and start the node.
This creates the TailscaleProvider, starts it, creates the WebSocket transport and PeerRegistry, starts the session, and spawns the envelope router.
§Errors
Returns NodeError::BuildError if required configuration is missing,
or propagates errors from the network provider startup.
Trait Implementations§
Source§impl Clone for NodeBuilder
impl Clone for NodeBuilder
Source§fn clone(&self) -> NodeBuilder
fn clone(&self) -> NodeBuilder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NodeBuilder
impl Debug for NodeBuilder
Auto Trait Implementations§
impl Freeze for NodeBuilder
impl RefUnwindSafe for NodeBuilder
impl Send for NodeBuilder
impl Sync for NodeBuilder
impl Unpin for NodeBuilder
impl UnsafeUnpin for NodeBuilder
impl UnwindSafe for NodeBuilder
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
Mutably borrows from an owned value. Read more