pub struct UpgradeConfig {
pub channel: UpgradeChannel,
pub check_interval_hours: u64,
pub github_repo: String,
pub staged_rollout_hours: u64,
pub stop_on_upgrade: bool,
}Expand description
Auto-upgrade configuration.
Fields§
§channel: UpgradeChannelRelease channel.
check_interval_hours: u64Check interval in hours.
github_repo: StringGitHub repository in “owner/repo” format for release monitoring.
staged_rollout_hours: u64Staged rollout window in hours.
When a new version is detected, each node waits a deterministic delay based on its node ID before applying the upgrade. This prevents mass restarts and ensures network stability during upgrades.
Set to 0 to disable staged rollout (apply upgrades immediately).
stop_on_upgrade: boolExit cleanly on upgrade instead of spawning a new process.
When true, the node exits after applying an upgrade and relies on an external service manager (systemd, launchd, Windows Service) to restart it. When false (default), the node spawns the new binary as a child process before exiting.
Trait Implementations§
Source§impl Clone for UpgradeConfig
impl Clone for UpgradeConfig
Source§fn clone(&self) -> UpgradeConfig
fn clone(&self) -> UpgradeConfig
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 UpgradeConfig
impl Debug for UpgradeConfig
Source§impl Default for UpgradeConfig
impl Default for UpgradeConfig
Source§impl<'de> Deserialize<'de> for UpgradeConfig
impl<'de> Deserialize<'de> for UpgradeConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for UpgradeConfig
impl RefUnwindSafe for UpgradeConfig
impl Send for UpgradeConfig
impl Sync for UpgradeConfig
impl Unpin for UpgradeConfig
impl UnsafeUnpin for UpgradeConfig
impl UnwindSafe for UpgradeConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more