pub struct RollbackEngine { /* private fields */ }Expand description
Rollback Engine implementation
Implementations§
Source§impl RollbackEngine
impl RollbackEngine
Sourcepub fn new(
config: RollbackConfig,
config_manager: Arc<RwLock<dyn ConfigurationManager>>,
health_monitor: Arc<RwLock<dyn HealthMonitor>>,
) -> Self
pub fn new( config: RollbackConfig, config_manager: Arc<RwLock<dyn ConfigurationManager>>, health_monitor: Arc<RwLock<dyn HealthMonitor>>, ) -> Self
Create a new rollback engine
Sourcepub async fn should_trigger_rollback(
&self,
deployment_id: &str,
status: &DeploymentStatus,
metrics: &SystemMetrics,
) -> ActuatorResult<Option<RollbackTrigger>>
pub async fn should_trigger_rollback( &self, deployment_id: &str, status: &DeploymentStatus, metrics: &SystemMetrics, ) -> ActuatorResult<Option<RollbackTrigger>>
Check if rollback should be triggered automatically
Sourcepub async fn execute_rollback(
&self,
request: RollbackRequest,
deployment_status: &DeploymentStatus,
config_changes: Vec<ConfigChange>,
) -> ActuatorResult<RollbackResult>
pub async fn execute_rollback( &self, request: RollbackRequest, deployment_status: &DeploymentStatus, config_changes: Vec<ConfigChange>, ) -> ActuatorResult<RollbackResult>
Execute rollback
Sourcepub async fn store_snapshot(
&self,
deployment_id: &str,
snapshot: ConfigurationSnapshot,
) -> ActuatorResult<()>
pub async fn store_snapshot( &self, deployment_id: &str, snapshot: ConfigurationSnapshot, ) -> ActuatorResult<()>
Store snapshot before deployment
Sourcepub async fn restore_from_snapshot(
&self,
deployment_id: &str,
) -> ActuatorResult<()>
pub async fn restore_from_snapshot( &self, deployment_id: &str, ) -> ActuatorResult<()>
Restore from snapshot
Sourcepub async fn get_history(
&self,
limit: Option<usize>,
) -> Vec<RollbackHistoryEntry>
pub async fn get_history( &self, limit: Option<usize>, ) -> Vec<RollbackHistoryEntry>
Get rollback history
Sourcepub async fn get_active_rollback(
&self,
deployment_id: &str,
) -> Option<RollbackStatus>
pub async fn get_active_rollback( &self, deployment_id: &str, ) -> Option<RollbackStatus>
Get active rollback status
Sourcepub async fn get_stats(&self) -> RollbackStats
pub async fn get_stats(&self) -> RollbackStats
Get statistics
Sourcepub async fn add_notification_handler(
&self,
handler: Box<dyn NotificationHandler>,
)
pub async fn add_notification_handler( &self, handler: Box<dyn NotificationHandler>, )
Add notification handler
Auto Trait Implementations§
impl !RefUnwindSafe for RollbackEngine
impl !UnwindSafe for RollbackEngine
impl Freeze for RollbackEngine
impl Send for RollbackEngine
impl Sync for RollbackEngine
impl Unpin for RollbackEngine
impl UnsafeUnpin for RollbackEngine
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.