torrust_tracker_deployer_lib/testing/e2e/containers/timeout.rs
1//! Timeout configurations for container operations
2//!
3//! This module provides timeout configurations for various container operations
4//! to make the system more flexible and adaptable to different environments.
5
6use std::time::Duration;
7
8/// Container timeout configurations for different operations
9///
10/// This struct provides configurable timeouts for various container operations
11/// to make the system more flexible and adaptable to different environments.
12#[derive(Debug, Clone)]
13pub struct ContainerTimeouts {
14 /// Timeout for Docker image build operations
15 pub docker_build: Duration,
16 /// Timeout for container startup operations
17 pub container_start: Duration,
18 /// Timeout for SSH connectivity to become available
19 pub ssh_ready: Duration,
20 /// Timeout for SSH key setup operations
21 pub ssh_setup: Duration,
22}
23
24impl Default for ContainerTimeouts {
25 fn default() -> Self {
26 Self {
27 docker_build: Duration::from_mins(5), // 5 minutes
28 container_start: Duration::from_mins(1), // 1 minute
29 ssh_ready: Duration::from_secs(30), // 30 seconds
30 ssh_setup: Duration::from_secs(15), // 15 seconds
31 }
32 }
33}