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;