pub struct TailscaleConfig {
pub binary_path: PathBuf,
pub app_id: String,
pub device_id: String,
pub device_name: String,
pub hostname: String,
pub state_dir: String,
pub auth_key: Option<String>,
pub ephemeral: Option<bool>,
pub tags: Option<Vec<String>>,
pub idle_timeout_secs: Option<u64>,
}Expand description
Configuration for creating a TailscaleProvider.
Fields§
§binary_path: PathBufPath to the Go sidecar binary.
app_id: StringApplication identifier (RFC 017 §5.1). Stored as a plain String
because validation happens in NodeBuilder::app_id; by the time the
config is constructed the value is already a valid AppId.
device_id: StringStable per-device ULID (RFC 017 §5.4).
device_name: StringOriginal (unsanitised) device name — retained for display and for
building the NodeIdentity returned from local_identity().
hostname: StringFinal Tailscale hostname, already composed by the caller as
truffle-{app_id}-{slug(device_name)}. The provider does NOT rebuild
this — it trusts the builder has applied the RFC 017 derivation once.
state_dir: StringState directory for tsnet persistent state.
auth_key: Option<String>Optional Tailscale auth key for headless authentication.
ephemeral: Option<bool>Whether the node is ephemeral (removed when offline).
ACL tags to advertise (e.g., [“tag:truffle”]).
idle_timeout_secs: Option<u64>Idle timeout for bridged connections in seconds (RFC 021 §6.5).
None → the sidecar’s 600s default.
Trait Implementations§
Source§impl Clone for TailscaleConfig
impl Clone for TailscaleConfig
Source§fn clone(&self) -> TailscaleConfig
fn clone(&self) -> TailscaleConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more