From f75765408dc423f0632186f6f0fc053683e551b1 Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Thu, 2 Oct 2025 16:25:07 -0400 Subject: [PATCH 1/6] fix: clippy --- harmony/src/domain/topology/k8s.rs | 23 +++++++-------- harmony/src/domain/topology/k8s_anywhere.rs | 6 ++-- harmony/src/infra/inventory/mod.rs | 2 +- harmony/src/infra/opnsense/http.rs | 2 +- harmony/src/infra/opnsense/load_balancer.rs | 5 ++-- harmony/src/infra/opnsense/mod.rs | 1 - .../application/features/helm_argocd_score.rs | 12 ++++---- .../features/packaging_deployment.rs | 6 ++-- .../application/features/rhob_monitoring.rs | 1 - harmony/src/modules/helm/command.rs | 28 ++++++++----------- harmony/src/modules/http.rs | 2 +- harmony/src/modules/inventory/discovery.rs | 2 +- .../rhobs_application_monitoring_score.rs | 4 +-- .../crd/rhob_monitoring_stack.rs | 5 +--- .../src/modules/okd/bootstrap_02_bootstrap.rs | 10 +++++-- .../modules/prometheus/rhob_alerting_score.rs | 6 ++-- .../ceph/ceph_osd_replacement_score.rs | 18 ++++++------ .../ceph/ceph_validate_health_score.rs | 14 +++++----- 18 files changed, 65 insertions(+), 82 deletions(-) diff --git a/harmony/src/domain/topology/k8s.rs b/harmony/src/domain/topology/k8s.rs index 5a1e6ec..91a310c 100644 --- a/harmony/src/domain/topology/k8s.rs +++ b/harmony/src/domain/topology/k8s.rs @@ -5,7 +5,7 @@ use k8s_openapi::{ ClusterResourceScope, NamespaceResourceScope, api::{ apps::v1::Deployment, - core::v1::{Pod, PodStatus}, + core::v1::Pod, }, }; use kube::{ @@ -23,7 +23,7 @@ use kube::{ }; use log::{debug, error, trace}; use serde::{Serialize, de::DeserializeOwned}; -use serde_json::{Value, json}; +use serde_json::json; use similar::TextDiff; use tokio::{io::AsyncReadExt, time::sleep}; @@ -71,7 +71,7 @@ impl K8sClient { } else { Api::default_namespaced_with(self.client.clone(), &gvk) }; - Ok(resource.get(name).await?) + resource.get(name).await } pub async fn get_deployment( @@ -84,7 +84,7 @@ impl K8sClient { } else { Api::default_namespaced(self.client.clone()) }; - Ok(deps.get_opt(name).await?) + deps.get_opt(name).await } pub async fn get_pod(&self, name: &str, namespace: Option<&str>) -> Result, Error> { @@ -93,7 +93,7 @@ impl K8sClient { } else { Api::default_namespaced(self.client.clone()) }; - Ok(pods.get_opt(name).await?) + pods.get_opt(name).await } pub async fn scale_deployment( @@ -170,15 +170,12 @@ impl K8sClient { loop { let pod = self.get_pod(pod_name, namespace).await?; - if let Some(p) = pod { - if let Some(status) = p.status { - if let Some(phase) = status.phase { - if phase.to_lowercase() == "running" { + if let Some(p) = pod + && let Some(status) = p.status + && let Some(phase) = status.phase + && phase.to_lowercase() == "running" { return Ok(()); } - } - } - } if elapsed >= timeout_secs { return Err(Error::Discovery(DiscoveryError::MissingResource(format!( @@ -240,7 +237,7 @@ impl K8sClient { if let Some(s) = status.status { let mut stdout_buf = String::new(); - if let Some(mut stdout) = process.stdout().take() { + if let Some(mut stdout) = process.stdout() { stdout .read_to_string(&mut stdout_buf) .await diff --git a/harmony/src/domain/topology/k8s_anywhere.rs b/harmony/src/domain/topology/k8s_anywhere.rs index 53b6436..40d7f2b 100644 --- a/harmony/src/domain/topology/k8s_anywhere.rs +++ b/harmony/src/domain/topology/k8s_anywhere.rs @@ -212,11 +212,11 @@ impl K8sAnywhereTopology { .await?; let ready_replicas = ic.data["status"]["availableReplicas"].as_i64().unwrap_or(0); if ready_replicas >= 1 { - return Ok(()); + Ok(()) } else { - return Err(PreparationError::new( + Err(PreparationError::new( "openshift-ingress-operator not available".to_string(), - )); + )) } } diff --git a/harmony/src/infra/inventory/mod.rs b/harmony/src/infra/inventory/mod.rs index 90d78ea..e0d80fe 100644 --- a/harmony/src/infra/inventory/mod.rs +++ b/harmony/src/infra/inventory/mod.rs @@ -11,7 +11,7 @@ pub struct InventoryRepositoryFactory; impl InventoryRepositoryFactory { pub async fn build() -> Result, RepoError> { Ok(Box::new( - SqliteInventoryRepository::new(&(*DATABASE_URL)).await?, + SqliteInventoryRepository::new(&DATABASE_URL).await?, )) } } diff --git a/harmony/src/infra/opnsense/http.rs b/harmony/src/infra/opnsense/http.rs index 70bbee1..8a6f245 100644 --- a/harmony/src/infra/opnsense/http.rs +++ b/harmony/src/infra/opnsense/http.rs @@ -36,7 +36,7 @@ impl HttpServer for OPNSenseFirewall { async fn serve_file_content(&self, file: &FileContent) -> Result<(), ExecutorError> { let path = match &file.path { crate::data::FilePath::Relative(path) => { - format!("{OPNSENSE_HTTP_ROOT_PATH}/{}", path.to_string()) + format!("{OPNSENSE_HTTP_ROOT_PATH}/{}", path) } crate::data::FilePath::Absolute(path) => { return Err(ExecutorError::ConfigurationError(format!( diff --git a/harmony/src/infra/opnsense/load_balancer.rs b/harmony/src/infra/opnsense/load_balancer.rs index ce47f05..fb625a5 100644 --- a/harmony/src/infra/opnsense/load_balancer.rs +++ b/harmony/src/infra/opnsense/load_balancer.rs @@ -182,8 +182,8 @@ pub(crate) fn get_health_check_for_backend( let uppercase = binding.as_str(); match uppercase { "TCP" => { - if let Some(checkport) = haproxy_health_check.checkport.content.as_ref() { - if !checkport.is_empty() { + if let Some(checkport) = haproxy_health_check.checkport.content.as_ref() + && !checkport.is_empty() { return Some(HealthCheck::TCP(Some(checkport.parse().unwrap_or_else( |_| { panic!( @@ -192,7 +192,6 @@ pub(crate) fn get_health_check_for_backend( }, )))); } - } Some(HealthCheck::TCP(None)) } "HTTP" => { diff --git a/harmony/src/infra/opnsense/mod.rs b/harmony/src/infra/opnsense/mod.rs index 3878cfc..b5223e4 100644 --- a/harmony/src/infra/opnsense/mod.rs +++ b/harmony/src/infra/opnsense/mod.rs @@ -8,7 +8,6 @@ mod tftp; use std::sync::Arc; pub use management::*; -use opnsense_config_xml::Host; use tokio::sync::RwLock; use crate::{executors::ExecutorError, topology::LogicalHost}; diff --git a/harmony/src/modules/application/features/helm_argocd_score.rs b/harmony/src/modules/application/features/helm_argocd_score.rs index ea53691..7caefec 100644 --- a/harmony/src/modules/application/features/helm_argocd_score.rs +++ b/harmony/src/modules/application/features/helm_argocd_score.rs @@ -1,10 +1,8 @@ use async_trait::async_trait; -use kube::{Api, api::GroupVersionKind}; -use log::{debug, warn}; +use kube::api::GroupVersionKind; use non_blank_string_rs::NonBlankString; use serde::Serialize; -use serde::de::DeserializeOwned; -use std::{process::Command, str::FromStr, sync::Arc}; +use std::{str::FromStr, sync::Arc}; use crate::{ data::Version, @@ -13,7 +11,7 @@ use crate::{ modules::helm::chart::{HelmChartScore, HelmRepository}, score::Score, topology::{ - HelmCommand, K8sclient, PreparationError, PreparationOutcome, Topology, ingress::Ingress, + HelmCommand, K8sclient, Topology, ingress::Ingress, k8s::K8sClient, }, }; @@ -119,13 +117,13 @@ impl ArgoInterpret { match ic.data["status"]["domain"].as_str() { Some(domain) => return Ok(domain.to_string()), - None => return Err(InterpretError::new("Could not find domain".to_string())), + None => Err(InterpretError::new("Could not find domain".to_string())), } } false => { todo!() } - }; + } } } diff --git a/harmony/src/modules/application/features/packaging_deployment.rs b/harmony/src/modules/application/features/packaging_deployment.rs index 4fafbf0..4eb27ae 100644 --- a/harmony/src/modules/application/features/packaging_deployment.rs +++ b/harmony/src/modules/application/features/packaging_deployment.rs @@ -190,7 +190,7 @@ impl< info!("Deploying {} to target {target:?}", self.application.name()); let score = ArgoHelmScore { - namespace: format!("{}", self.application.name()), + namespace: self.application.name().to_string(), openshift: true, argo_apps: vec![ArgoApplication::from(CDApplicationConfig { // helm pull oci://hub.nationtech.io/harmony/harmony-example-rust-webapp-chart --version 0.1.0 @@ -198,8 +198,8 @@ impl< helm_chart_repo_url: "hub.nationtech.io/harmony".to_string(), helm_chart_name: format!("{}-chart", self.application.name()), values_overrides: None, - name: format!("{}", self.application.name()), - namespace: format!("{}", self.application.name()), + name: self.application.name().to_string(), + namespace: self.application.name().to_string(), })], }; score diff --git a/harmony/src/modules/application/features/rhob_monitoring.rs b/harmony/src/modules/application/features/rhob_monitoring.rs index d87ef61..5f09992 100644 --- a/harmony/src/modules/application/features/rhob_monitoring.rs +++ b/harmony/src/modules/application/features/rhob_monitoring.rs @@ -3,7 +3,6 @@ use std::sync::Arc; use crate::modules::application::{ Application, ApplicationFeature, InstallationError, InstallationOutcome, }; -use crate::modules::monitoring::application_monitoring::application_monitoring_score::ApplicationMonitoringScore; use crate::modules::monitoring::application_monitoring::rhobs_application_monitoring_score::ApplicationRHOBMonitoringScore; use crate::modules::monitoring::kube_prometheus::crd::rhob_alertmanager_config::RHOBObservability; diff --git a/harmony/src/modules/helm/command.rs b/harmony/src/modules/helm/command.rs index c4d92c1..98198de 100644 --- a/harmony/src/modules/helm/command.rs +++ b/harmony/src/modules/helm/command.rs @@ -66,8 +66,7 @@ impl HelmCommandExecutor { .is_none() { if self.chart.repo.is_none() { - return Err(std::io::Error::new( - ErrorKind::Other, + return Err(std::io::Error::other( "Chart doesn't exist locally and no repo specified", )); } @@ -107,11 +106,10 @@ impl HelmCommandExecutor { } pub fn run_command(mut self, mut args: Vec) -> Result { - if let Some(d) = self.debug { - if d { + if let Some(d) = self.debug + && d { args.push("--debug".to_string()); } - } let path = if let Some(p) = self.path { p @@ -234,29 +232,25 @@ impl HelmChart { args.push(kv); } - if let Some(crd) = self.include_crds { - if crd { + if let Some(crd) = self.include_crds + && crd { args.push("--include-crds".to_string()); } - } - if let Some(st) = self.skip_tests { - if st { + if let Some(st) = self.skip_tests + && st { args.push("--skip-tests".to_string()); } - } - if let Some(sh) = self.skip_hooks { - if sh { + if let Some(sh) = self.skip_hooks + && sh { args.push("--no-hooks".to_string()); } - } - if let Some(d) = self.debug { - if d { + if let Some(d) = self.debug + && d { args.push("--debug".to_string()); } - } args } diff --git a/harmony/src/modules/http.rs b/harmony/src/modules/http.rs index c654e20..614a5fb 100644 --- a/harmony/src/modules/http.rs +++ b/harmony/src/modules/http.rs @@ -63,7 +63,7 @@ impl Interpret for StaticFilesHttpInterpret { } for f in self.score.files.iter() { - http_server.serve_file_content(&f).await? + http_server.serve_file_content(f).await? } http_server.commit_config().await?; diff --git a/harmony/src/modules/inventory/discovery.rs b/harmony/src/modules/inventory/discovery.rs index 143c56a..8451854 100644 --- a/harmony/src/modules/inventory/discovery.rs +++ b/harmony/src/modules/inventory/discovery.rs @@ -92,7 +92,7 @@ impl Interpret for DiscoverHostForRoleInterpret { ); return Err(InterpretError::new(format!( "Could not select host : {}", - e.to_string() + e ))); } } diff --git a/harmony/src/modules/monitoring/application_monitoring/rhobs_application_monitoring_score.rs b/harmony/src/modules/monitoring/application_monitoring/rhobs_application_monitoring_score.rs index 5f5127f..f6724f2 100644 --- a/harmony/src/modules/monitoring/application_monitoring/rhobs_application_monitoring_score.rs +++ b/harmony/src/modules/monitoring/application_monitoring/rhobs_application_monitoring_score.rs @@ -9,9 +9,7 @@ use crate::{ inventory::Inventory, modules::{ application::Application, - monitoring::kube_prometheus::crd::{ - crd_alertmanager_config::CRDPrometheus, rhob_alertmanager_config::RHOBObservability, - }, + monitoring::kube_prometheus::crd::rhob_alertmanager_config::RHOBObservability, prometheus::prometheus::PrometheusApplicationMonitoring, }, score::Score, diff --git a/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs b/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs index d500891..2b38ca4 100644 --- a/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs +++ b/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs @@ -1,12 +1,9 @@ -use std::collections::BTreeMap; use kube::CustomResource; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::{ - LabelSelector, PrometheusSpec, -}; +use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::LabelSelector; /// MonitoringStack CRD for monitoring.rhobs/v1alpha1 #[derive(CustomResource, Serialize, Deserialize, Debug, Clone, JsonSchema)] diff --git a/harmony/src/modules/okd/bootstrap_02_bootstrap.rs b/harmony/src/modules/okd/bootstrap_02_bootstrap.rs index e9b3a6a..2699b9f 100644 --- a/harmony/src/modules/okd/bootstrap_02_bootstrap.rs +++ b/harmony/src/modules/okd/bootstrap_02_bootstrap.rs @@ -52,6 +52,12 @@ pub struct OKDSetup02BootstrapInterpret { status: InterpretStatus, } +impl Default for OKDSetup02BootstrapInterpret { + fn default() -> Self { + Self::new() + } +} + impl OKDSetup02BootstrapInterpret { pub fn new() -> Self { let version = Version::from("1.0.0").unwrap(); @@ -98,9 +104,7 @@ impl OKDSetup02BootstrapInterpret { InterpretError::new(format!("Failed to create okd installation directory : {e}")) })?; if !exit_status.success() { - return Err(InterpretError::new(format!( - "Failed to create okd installation directory" - ))); + return Err(InterpretError::new("Failed to create okd installation directory".to_string())); } else { info!( "Created OKD installation directory {}", diff --git a/harmony/src/modules/prometheus/rhob_alerting_score.rs b/harmony/src/modules/prometheus/rhob_alerting_score.rs index 95908d5..e4a9d49 100644 --- a/harmony/src/modules/prometheus/rhob_alerting_score.rs +++ b/harmony/src/modules/prometheus/rhob_alerting_score.rs @@ -254,7 +254,7 @@ impl RHOBAlertingInterpret { let stack = MonitoringStack { metadata: ObjectMeta { - name: Some(format!("{}-monitoring", self.sender.namespace.clone()).into()), + name: Some(format!("{}-monitoring", self.sender.namespace.clone())), namespace: Some(self.sender.namespace.clone()), labels: Some([("monitoring-stack".into(), "true".into())].into()), ..Default::default() @@ -278,7 +278,7 @@ impl RHOBAlertingInterpret { .get_domain(&format!("alert-manager-{}", self.sender.namespace.clone())) .await?; let name = format!("{}-alert-manager", self.sender.namespace.clone()); - let backend_service = format!("alertmanager-operated"); + let backend_service = "alertmanager-operated".to_string(); let namespace = self.sender.namespace.clone(); let alert_manager_ingress = K8sIngressScore { name: fqdn!(&name), @@ -295,7 +295,7 @@ impl RHOBAlertingInterpret { .get_domain(&format!("prometheus-{}", self.sender.namespace.clone())) .await?; let name = format!("{}-prometheus", self.sender.namespace.clone()); - let backend_service = format!("prometheus-operated"); + let backend_service = "prometheus-operated".to_string(); let prometheus_ingress = K8sIngressScore { name: fqdn!(&name), host: fqdn!(&prometheus_domain), diff --git a/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs b/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs index 77dd24a..79ff3ad 100644 --- a/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs +++ b/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs @@ -25,7 +25,7 @@ pub struct CephRemoveOsd { impl Score for CephRemoveOsd { fn name(&self) -> String { - format!("CephRemoveOsdScore") + "CephRemoveOsdScore".to_string() } #[doc(hidden)] @@ -118,14 +118,14 @@ impl CephRemoveOsdInterpret { if let Some(status) = deployment.status { let ready_count = status.ready_replicas.unwrap_or(0); if ready_count >= 1 { - return Ok(Outcome::success(format!( + Ok(Outcome::success(format!( "'{}' is ready with {} replica(s).", &toolbox_dep, ready_count - ))); + ))) } else { - return Err(InterpretError::new( + Err(InterpretError::new( "ceph-tool-box not ready in cluster".to_string(), - )); + )) } } else { Err(InterpretError::new(format!( @@ -181,16 +181,14 @@ impl CephRemoveOsdInterpret { ) .await?; - if let Some(deployment) = dep { - if let Some(status) = deployment.status { - if status.replicas.unwrap_or(1) == 0 && status.ready_replicas.unwrap_or(1) == 0 + if let Some(deployment) = dep + && let Some(status) = deployment.status + && status.replicas.unwrap_or(1) == 0 && status.ready_replicas.unwrap_or(1) == 0 { return Ok(Outcome::success( "Deployment successfully scaled down.".to_string(), )); } - } - } if start.elapsed() > timeout { return Err(InterpretError::new(format!( diff --git a/harmony/src/modules/storage/ceph/ceph_validate_health_score.rs b/harmony/src/modules/storage/ceph/ceph_validate_health_score.rs index ee331bc..03b1805 100644 --- a/harmony/src/modules/storage/ceph/ceph_validate_health_score.rs +++ b/harmony/src/modules/storage/ceph/ceph_validate_health_score.rs @@ -20,7 +20,7 @@ pub struct CephVerifyClusterHealth { impl Score for CephVerifyClusterHealth { fn name(&self) -> String { - format!("CephValidateClusterHealth") + "CephValidateClusterHealth".to_string() } fn create_interpret(&self) -> Box> { @@ -80,14 +80,14 @@ impl CephVerifyClusterHealthInterpret { if let Some(status) = deployment.status { let ready_count = status.ready_replicas.unwrap_or(0); if ready_count >= 1 { - return Ok(Outcome::success(format!( + Ok(Outcome::success(format!( "'{}' is ready with {} replica(s).", &toolbox_dep, ready_count - ))); + ))) } else { - return Err(InterpretError::new( + Err(InterpretError::new( "ceph-tool-box not ready in cluster".to_string(), - )); + )) } } else { Err(InterpretError::new(format!( @@ -123,9 +123,9 @@ impl CephVerifyClusterHealthInterpret { .await?; if health.contains("HEALTH_OK") { - return Ok(Outcome::success( + Ok(Outcome::success( "Ceph Cluster in healthy state".to_string(), - )); + )) } else { Err(InterpretError::new(format!( "Ceph cluster unhealthy {}", -- 2.39.5 From 58e609767b21e31d0d8bb68a0f3538ff877dd3ee Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Thu, 2 Oct 2025 16:46:43 -0400 Subject: [PATCH 2/6] cargo fmt --- harmony/src/domain/topology/k8s.rs | 14 ++++---- harmony/src/infra/opnsense/load_balancer.rs | 15 ++++---- .../application/features/helm_argocd_score.rs | 5 +-- harmony/src/modules/application/rust.rs | 32 ++++++++--------- harmony/src/modules/helm/command.rs | 35 +++++++++++-------- .../crd/rhob_monitoring_stack.rs | 1 - .../src/modules/okd/bootstrap_02_bootstrap.rs | 4 ++- .../ceph/ceph_osd_replacement_score.rs | 13 +++---- 8 files changed, 58 insertions(+), 61 deletions(-) diff --git a/harmony/src/domain/topology/k8s.rs b/harmony/src/domain/topology/k8s.rs index 91a310c..0c334d5 100644 --- a/harmony/src/domain/topology/k8s.rs +++ b/harmony/src/domain/topology/k8s.rs @@ -3,10 +3,7 @@ use std::time::Duration; use derive_new::new; use k8s_openapi::{ ClusterResourceScope, NamespaceResourceScope, - api::{ - apps::v1::Deployment, - core::v1::Pod, - }, + api::{apps::v1::Deployment, core::v1::Pod}, }; use kube::{ Client, Config, Error, Resource, @@ -172,10 +169,11 @@ impl K8sClient { if let Some(p) = pod && let Some(status) = p.status - && let Some(phase) = status.phase - && phase.to_lowercase() == "running" { - return Ok(()); - } + && let Some(phase) = status.phase + && phase.to_lowercase() == "running" + { + return Ok(()); + } if elapsed >= timeout_secs { return Err(Error::Discovery(DiscoveryError::MissingResource(format!( diff --git a/harmony/src/infra/opnsense/load_balancer.rs b/harmony/src/infra/opnsense/load_balancer.rs index fb625a5..8a408f1 100644 --- a/harmony/src/infra/opnsense/load_balancer.rs +++ b/harmony/src/infra/opnsense/load_balancer.rs @@ -183,15 +183,12 @@ pub(crate) fn get_health_check_for_backend( match uppercase { "TCP" => { if let Some(checkport) = haproxy_health_check.checkport.content.as_ref() - && !checkport.is_empty() { - return Some(HealthCheck::TCP(Some(checkport.parse().unwrap_or_else( - |_| { - panic!( - "HAProxy check port should be a valid port number, got {checkport}" - ) - }, - )))); - } + && !checkport.is_empty() + { + return Some(HealthCheck::TCP(Some(checkport.parse().unwrap_or_else( + |_| panic!("HAProxy check port should be a valid port number, got {checkport}"), + )))); + } Some(HealthCheck::TCP(None)) } "HTTP" => { diff --git a/harmony/src/modules/application/features/helm_argocd_score.rs b/harmony/src/modules/application/features/helm_argocd_score.rs index 7caefec..3f70cd7 100644 --- a/harmony/src/modules/application/features/helm_argocd_score.rs +++ b/harmony/src/modules/application/features/helm_argocd_score.rs @@ -10,10 +10,7 @@ use crate::{ inventory::Inventory, modules::helm::chart::{HelmChartScore, HelmRepository}, score::Score, - topology::{ - HelmCommand, K8sclient, Topology, ingress::Ingress, - k8s::K8sClient, - }, + topology::{HelmCommand, K8sclient, Topology, ingress::Ingress, k8s::K8sClient}, }; use harmony_types::id::Id; diff --git a/harmony/src/modules/application/rust.rs b/harmony/src/modules/application/rust.rs index 4874798..5ec1d57 100644 --- a/harmony/src/modules/application/rust.rs +++ b/harmony/src/modules/application/rust.rs @@ -194,10 +194,10 @@ impl RustWebapp { Some(body_full(tar_data.into())), ); - while let Some(mut msg) = image_build_stream.next().await { + while let Some(msg) = image_build_stream.next().await { trace!("Got bollard msg {msg:?}"); match msg { - Ok(mut msg) => { + Ok(msg) => { if let Some(progress) = msg.progress_detail { info!( "Build progress {}/{}", @@ -511,25 +511,23 @@ ingress: fs::write(chart_dir.join("values.yaml"), values_yaml)?; // Create templates/_helpers.tpl - let helpers_tpl = format!( - r#" -{{{{/* + let helpers_tpl = r#" +{{/* Expand the name of the chart. -*/}}}} -{{{{- define "chart.name" -}}}} -{{{{- default .Chart.Name $.Values.nameOverride | trunc 63 | trimSuffix "-" }}}} -{{{{- end }}}} +*/}} +{{- define "chart.name" -}} +{{- default .Chart.Name $.Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} -{{{{/* +{{/* Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -*/}}}} -{{{{- define "chart.fullname" -}}}} -{{{{- $name := default .Chart.Name $.Values.nameOverride }}}} -{{{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}}} -{{{{- end }}}} -"# - ); +*/}} +{{- define "chart.fullname" -}} +{{- $name := default .Chart.Name $.Values.nameOverride }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +"#.to_string(); fs::write(templates_dir.join("_helpers.tpl"), helpers_tpl)?; // Create templates/service.yaml diff --git a/harmony/src/modules/helm/command.rs b/harmony/src/modules/helm/command.rs index 98198de..175f8f5 100644 --- a/harmony/src/modules/helm/command.rs +++ b/harmony/src/modules/helm/command.rs @@ -107,9 +107,10 @@ impl HelmCommandExecutor { pub fn run_command(mut self, mut args: Vec) -> Result { if let Some(d) = self.debug - && d { - args.push("--debug".to_string()); - } + && d + { + args.push("--debug".to_string()); + } let path = if let Some(p) = self.path { p @@ -233,24 +234,28 @@ impl HelmChart { } if let Some(crd) = self.include_crds - && crd { - args.push("--include-crds".to_string()); - } + && crd + { + args.push("--include-crds".to_string()); + } if let Some(st) = self.skip_tests - && st { - args.push("--skip-tests".to_string()); - } + && st + { + args.push("--skip-tests".to_string()); + } if let Some(sh) = self.skip_hooks - && sh { - args.push("--no-hooks".to_string()); - } + && sh + { + args.push("--no-hooks".to_string()); + } if let Some(d) = self.debug - && d { - args.push("--debug".to_string()); - } + && d + { + args.push("--debug".to_string()); + } args } diff --git a/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs b/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs index 2b38ca4..be9ccc0 100644 --- a/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs +++ b/harmony/src/modules/monitoring/kube_prometheus/crd/rhob_monitoring_stack.rs @@ -1,4 +1,3 @@ - use kube::CustomResource; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; diff --git a/harmony/src/modules/okd/bootstrap_02_bootstrap.rs b/harmony/src/modules/okd/bootstrap_02_bootstrap.rs index 2699b9f..6696c8b 100644 --- a/harmony/src/modules/okd/bootstrap_02_bootstrap.rs +++ b/harmony/src/modules/okd/bootstrap_02_bootstrap.rs @@ -104,7 +104,9 @@ impl OKDSetup02BootstrapInterpret { InterpretError::new(format!("Failed to create okd installation directory : {e}")) })?; if !exit_status.success() { - return Err(InterpretError::new("Failed to create okd installation directory".to_string())); + return Err(InterpretError::new( + "Failed to create okd installation directory".to_string(), + )); } else { info!( "Created OKD installation directory {}", diff --git a/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs b/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs index 79ff3ad..7474e53 100644 --- a/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs +++ b/harmony/src/modules/storage/ceph/ceph_osd_replacement_score.rs @@ -183,12 +183,13 @@ impl CephRemoveOsdInterpret { if let Some(deployment) = dep && let Some(status) = deployment.status - && status.replicas.unwrap_or(1) == 0 && status.ready_replicas.unwrap_or(1) == 0 - { - return Ok(Outcome::success( - "Deployment successfully scaled down.".to_string(), - )); - } + && status.replicas.unwrap_or(1) == 0 + && status.ready_replicas.unwrap_or(1) == 0 + { + return Ok(Outcome::success( + "Deployment successfully scaled down.".to_string(), + )); + } if start.elapsed() > timeout { return Err(InterpretError::new(format!( -- 2.39.5 From 687f11b2617b592f3f97aefe6718bc179ad69f69 Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Thu, 2 Oct 2025 16:53:25 -0400 Subject: [PATCH 3/6] commit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ccdae7..213f404 100644 --- a/README.md +++ b/README.md @@ -159,3 +159,4 @@ See [LICENSE](LICENSE) for the full text. --- _Made with ❤️ & 🦀 by the NationTech and the Harmony community_ + -- 2.39.5 From d53d040bac175ded2429b844458f15a43902716c Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Thu, 2 Oct 2025 16:56:17 -0400 Subject: [PATCH 4/6] commit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 213f404..4ccdae7 100644 --- a/README.md +++ b/README.md @@ -159,4 +159,3 @@ See [LICENSE](LICENSE) for the full text. --- _Made with ❤️ & 🦀 by the NationTech and the Harmony community_ - -- 2.39.5 From 8baf75a4fdf2c3ff277cd67dfb00c93569150017 Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Thu, 2 Oct 2025 16:59:08 -0400 Subject: [PATCH 5/6] commit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ccdae7..213f404 100644 --- a/README.md +++ b/README.md @@ -159,3 +159,4 @@ See [LICENSE](LICENSE) for the full text. --- _Made with ❤️ & 🦀 by the NationTech and the Harmony community_ + -- 2.39.5 From 6e53397a584587d1578cda3343058cc9601aa2c4 Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Thu, 2 Oct 2025 17:11:02 -0400 Subject: [PATCH 6/6] commit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 213f404..4ccdae7 100644 --- a/README.md +++ b/README.md @@ -159,4 +159,3 @@ See [LICENSE](LICENSE) for the full text. --- _Made with ❤️ & 🦀 by the NationTech and the Harmony community_ - -- 2.39.5