diff --git a/examples/try_rust_webapp/src/main.rs b/examples/try_rust_webapp/src/main.rs index 26a1958..f51a9fa 100644 --- a/examples/try_rust_webapp/src/main.rs +++ b/examples/try_rust_webapp/src/main.rs @@ -18,7 +18,7 @@ async fn main() { name: "harmony-example-tryrust".to_string(), project_root: PathBuf::from("./tryrust.org"), framework: Some(RustWebFramework::Leptos), - service_port: 8080, + service_port: 3000, }); let discord_receiver = DiscordWebhook { diff --git a/harmony/src/domain/interpret/mod.rs b/harmony/src/domain/interpret/mod.rs index 17afa86..d555d9e 100644 --- a/harmony/src/domain/interpret/mod.rs +++ b/harmony/src/domain/interpret/mod.rs @@ -88,10 +88,10 @@ pub struct Outcome { } impl Outcome { - pub fn noop() -> Self { + pub fn noop(message: String) -> Self { Self { status: InterpretStatus::NOOP, - message: String::new(), + message, details: vec![], } } diff --git a/harmony/src/modules/monitoring/application_monitoring/application_monitoring_score.rs b/harmony/src/modules/monitoring/application_monitoring/application_monitoring_score.rs index f4707a8..8246d15 100644 --- a/harmony/src/modules/monitoring/application_monitoring/application_monitoring_score.rs +++ b/harmony/src/modules/monitoring/application_monitoring/application_monitoring_score.rs @@ -68,7 +68,9 @@ impl> Interpret PreparationOutcome::Success { details: _ } => { Ok(Outcome::success("Prometheus installed".into())) } - PreparationOutcome::Noop => Ok(Outcome::noop()), + PreparationOutcome::Noop => { + Ok(Outcome::noop("Prometheus installation skipped".into())) + } }, Err(err) => Err(InterpretError::from(err)), } 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 17e42c3..5f5127f 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 @@ -70,7 +70,9 @@ impl> Interpret PreparationOutcome::Success { details: _ } => { Ok(Outcome::success("Prometheus installed".into())) } - PreparationOutcome::Noop => Ok(Outcome::noop()), + PreparationOutcome::Noop => { + Ok(Outcome::noop("Prometheus installation skipped".into())) + } }, Err(err) => Err(InterpretError::from(err)), } diff --git a/harmony/src/modules/monitoring/ntfy/ntfy.rs b/harmony/src/modules/monitoring/ntfy/ntfy.rs index 87ed580..4ed342b 100644 --- a/harmony/src/modules/monitoring/ntfy/ntfy.rs +++ b/harmony/src/modules/monitoring/ntfy/ntfy.rs @@ -113,7 +113,13 @@ impl Interpret f .await?; info!("user added"); - Ok(Outcome::success("Ntfy installed".to_string())) + Ok(Outcome::success_with_details( + "Ntfy installed".to_string(), + vec![format!( + "Ntfy ({}): http://{}", + self.score.namespace, self.score.host + )], + )) } fn get_name(&self) -> InterpretName { diff --git a/harmony_cli/src/cli_reporter.rs b/harmony_cli/src/cli_reporter.rs index da43a8a..83570b6 100644 --- a/harmony_cli/src/cli_reporter.rs +++ b/harmony_cli/src/cli_reporter.rs @@ -1,7 +1,8 @@ use std::sync::Mutex; use harmony::instrumentation::{self, HarmonyEvent}; -use log::info; + +use crate::theme; pub fn init() { let details: Mutex> = Mutex::new(vec![]); @@ -21,11 +22,14 @@ pub fn init() { if outcome.status == harmony::interpret::InterpretStatus::SUCCESS { details.extend(outcome.details.clone()); } - } else if let HarmonyEvent::HarmonyFinished = event { - info!("Here's a summary of what happened:"); + } else if let HarmonyEvent::HarmonyFinished = event + && !details.is_empty() + { + println!("\n{} All done! What's next for you:", theme::EMOJI_SUMMARY); for detail in details.iter() { - println!("{detail}"); + println!("- {detail}"); } + println!(); } } }); diff --git a/harmony_cli/src/theme.rs b/harmony_cli/src/theme.rs index 66eee45..f9368f5 100644 --- a/harmony_cli/src/theme.rs +++ b/harmony_cli/src/theme.rs @@ -9,6 +9,7 @@ pub static EMOJI_ERROR: Emoji<'_, '_> = Emoji("⚠️", ""); pub static EMOJI_DEPLOY: Emoji<'_, '_> = Emoji("🚀", ""); pub static EMOJI_TOPOLOGY: Emoji<'_, '_> = Emoji("📦", ""); pub static EMOJI_SCORE: Emoji<'_, '_> = Emoji("🎶", ""); +pub static EMOJI_SUMMARY: Emoji<'_, '_> = Emoji("🚀", ""); lazy_static! { pub static ref SECTION_STYLE: ProgressStyle = ProgressStyle::default_spinner()