From 528ee8a696f46e67992a33d7ce1f28b27da581f0 Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Tue, 14 Oct 2025 21:15:22 -0400 Subject: [PATCH] wip: argocd discovery --- .../application/features/helm_argocd_score.rs | 1 + harmony/src/modules/argocd/discover.rs | 20 +++++++++++++++++++ harmony/src/modules/argocd/mod.rs | 2 ++ harmony/src/modules/mod.rs | 1 + 4 files changed, 24 insertions(+) create mode 100644 harmony/src/modules/argocd/discover.rs create mode 100644 harmony/src/modules/argocd/mod.rs diff --git a/harmony/src/modules/application/features/helm_argocd_score.rs b/harmony/src/modules/application/features/helm_argocd_score.rs index de08fd0..16ed98a 100644 --- a/harmony/src/modules/application/features/helm_argocd_score.rs +++ b/harmony/src/modules/application/features/helm_argocd_score.rs @@ -58,6 +58,7 @@ impl Interpret for ArgoInter let svc = format!("argo-{}", self.score.namespace.clone()); let domain = topology.get_domain(&svc).await?; // FIXME we now have a way to know if we're running on openshift family + let helm_score = argo_helm_chart_score(&self.score.namespace, self.score.openshift, &domain); diff --git a/harmony/src/modules/argocd/discover.rs b/harmony/src/modules/argocd/discover.rs new file mode 100644 index 0000000..503bf98 --- /dev/null +++ b/harmony/src/modules/argocd/discover.rs @@ -0,0 +1,20 @@ +/// Discover the current ArgoCD setup +/// +/// 1. No argo installed +/// 2. Argo installed in current namespace +/// 3. Argo installed in different namespace (assuming cluster wide access) +/// +/// For now we will go ahead with this very basic logic, there are many intricacies that can be +/// dealt with later, such as multitenant management in a single argo instance, credentials setup t + +#[async_trait] +pub trait ArgoCD { + async fn ensure_installed() { + } +} + +struct CurrentNamespaceArgo; + + +impl ArgoCD for CurrentNamespaceArgo { +} diff --git a/harmony/src/modules/argocd/mod.rs b/harmony/src/modules/argocd/mod.rs new file mode 100644 index 0000000..1406ca1 --- /dev/null +++ b/harmony/src/modules/argocd/mod.rs @@ -0,0 +1,2 @@ +mod discover; +pub use discover::*; diff --git a/harmony/src/modules/mod.rs b/harmony/src/modules/mod.rs index 682e16b..e368faf 100644 --- a/harmony/src/modules/mod.rs +++ b/harmony/src/modules/mod.rs @@ -17,3 +17,4 @@ pub mod prometheus; pub mod storage; pub mod tenant; pub mod tftp; +pub mod argocd;