From 1527362a41554972569ec9b292049f715460d82f Mon Sep 17 00:00:00 2001 From: Pavel Kirilin Date: Mon, 25 Nov 2024 20:28:55 +0100 Subject: [PATCH] Added support for balancer class. --- src/consts.rs | 1 + src/main.rs | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/src/consts.rs b/src/consts.rs index 9570928..820fa02 100644 --- a/src/consts.rs +++ b/src/consts.rs @@ -23,3 +23,4 @@ pub const DEFAULT_LB_ALGORITHM: &str = "least-connections"; pub const DEFAULT_LB_BALANCER_TYPE: &str = "lb11"; pub const FINALIZER_NAME: &str = "robotlb/finalizer"; +pub const ROBOTLB_LB_CLASS: &str = "robotlb"; diff --git a/src/main.rs b/src/main.rs index 023851e..395fea0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -134,6 +134,17 @@ pub async fn reconcile_service( return Err(RobotLBError::SkipService); } + let lb_type = svc + .spec + .as_ref() + .and_then(|s| s.load_balancer_class.as_ref()) + .map(String::as_str) + .unwrap_or(consts::ROBOTLB_LB_CLASS); + if lb_type != consts::ROBOTLB_LB_CLASS { + tracing::debug!("Load balancer class is not robotlb. Skipping..."); + return Err(RobotLBError::SkipService); + } + tracing::info!("Starting service reconcilation"); let lb = LoadBalancer::try_from_svc(&svc, &context)?;