Centralize k8s wait timeouts/ports via shared constants

This commit is contained in:
andrussal 2025-12-10 10:40:33 +01:00
parent c35b30f1f1
commit 615bdb49ad
2 changed files with 42 additions and 10 deletions

View File

@ -1,4 +1,4 @@
use std::env;
use std::{env, time::Duration};
/// Default cfgsync port used across runners.
pub const DEFAULT_CFGSYNC_PORT: u16 = 4400;
@ -9,6 +9,30 @@ pub const DEFAULT_KZG_CONTAINER_PATH: &str = "/kzgrs_test_params/kzgrs_test_para
/// Default host-relative directory for KZG assets.
pub const DEFAULT_KZG_HOST_DIR: &str = "testing-framework/assets/stack/kzgrs_test_params";
/// Default HTTP probe interval used across readiness checks.
pub const DEFAULT_HTTP_POLL_INTERVAL: Duration = Duration::from_secs(1);
/// Default node HTTP timeout when probing endpoints.
pub const DEFAULT_NODE_HTTP_TIMEOUT: Duration = Duration::from_secs(240);
/// Default node HTTP timeout when probing NodePort endpoints.
pub const DEFAULT_NODE_HTTP_PROBE_TIMEOUT: Duration = Duration::from_secs(30);
/// Default Kubernetes deployment readiness timeout.
pub const DEFAULT_K8S_DEPLOYMENT_TIMEOUT: Duration = Duration::from_secs(180);
/// Default Prometheus HTTP port.
pub const DEFAULT_PROMETHEUS_HTTP_PORT: u16 = 9090;
/// Default Prometheus HTTP timeout.
pub const DEFAULT_PROMETHEUS_HTTP_TIMEOUT: Duration = Duration::from_secs(240);
/// Default Prometheus HTTP probe timeout for NodePort checks.
pub const DEFAULT_PROMETHEUS_HTTP_PROBE_TIMEOUT: Duration = Duration::from_secs(30);
/// Default Prometheus service name.
pub const DEFAULT_PROMETHEUS_SERVICE_NAME: &str = "prometheus";
/// Resolve cfgsync port from `NOMOS_CFGSYNC_PORT`, falling back to the default.
pub fn cfgsync_port() -> u16 {
env::var("NOMOS_CFGSYNC_PORT")

View File

@ -1,7 +1,15 @@
use std::time::Duration;
use kube::Error as KubeError;
use testing_framework_core::scenario::http_probe::NodeRole;
use testing_framework_core::{
constants::{
DEFAULT_HTTP_POLL_INTERVAL, DEFAULT_K8S_DEPLOYMENT_TIMEOUT,
DEFAULT_NODE_HTTP_PROBE_TIMEOUT, DEFAULT_NODE_HTTP_TIMEOUT, DEFAULT_PROMETHEUS_HTTP_PORT,
DEFAULT_PROMETHEUS_HTTP_PROBE_TIMEOUT, DEFAULT_PROMETHEUS_HTTP_TIMEOUT,
DEFAULT_PROMETHEUS_SERVICE_NAME,
},
scenario::http_probe::NodeRole,
};
use thiserror::Error;
mod deployment;
@ -87,11 +95,11 @@ pub enum ClusterWaitError {
},
}
pub(crate) const DEPLOYMENT_TIMEOUT: Duration = Duration::from_secs(180);
pub(crate) const NODE_HTTP_TIMEOUT: Duration = Duration::from_secs(240);
pub(crate) const NODE_HTTP_PROBE_TIMEOUT: Duration = Duration::from_secs(30);
pub(crate) const HTTP_POLL_INTERVAL: Duration = Duration::from_secs(1);
pub(crate) const PROMETHEUS_HTTP_PORT: u16 = 9090;
pub(crate) const PROMETHEUS_HTTP_TIMEOUT: Duration = Duration::from_secs(240);
pub(crate) const PROMETHEUS_HTTP_PROBE_TIMEOUT: Duration = Duration::from_secs(30);
pub(crate) const PROMETHEUS_SERVICE_NAME: &str = "prometheus";
pub(crate) const DEPLOYMENT_TIMEOUT: Duration = DEFAULT_K8S_DEPLOYMENT_TIMEOUT;
pub(crate) const NODE_HTTP_TIMEOUT: Duration = DEFAULT_NODE_HTTP_TIMEOUT;
pub(crate) const NODE_HTTP_PROBE_TIMEOUT: Duration = DEFAULT_NODE_HTTP_PROBE_TIMEOUT;
pub(crate) const HTTP_POLL_INTERVAL: Duration = DEFAULT_HTTP_POLL_INTERVAL;
pub(crate) const PROMETHEUS_HTTP_PORT: u16 = DEFAULT_PROMETHEUS_HTTP_PORT;
pub(crate) const PROMETHEUS_HTTP_TIMEOUT: Duration = DEFAULT_PROMETHEUS_HTTP_TIMEOUT;
pub(crate) const PROMETHEUS_HTTP_PROBE_TIMEOUT: Duration = DEFAULT_PROMETHEUS_HTTP_PROBE_TIMEOUT;
pub(crate) const PROMETHEUS_SERVICE_NAME: &str = DEFAULT_PROMETHEUS_SERVICE_NAME;