forked from NationTech/harmony
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
use harmony::{
 | 
						|
    inventory::Inventory,
 | 
						|
    modules::{
 | 
						|
        application::{
 | 
						|
            ApplicationScore, RustWebFramework, RustWebapp,
 | 
						|
            features::{PackagingDeployment, rhob_monitoring::Monitoring},
 | 
						|
        },
 | 
						|
        monitoring::alert_channel::discord_alert_channel::DiscordWebhook,
 | 
						|
    },
 | 
						|
    topology::K8sAnywhereTopology,
 | 
						|
};
 | 
						|
use harmony_macros::hurl;
 | 
						|
use std::{path::PathBuf, sync::Arc};
 | 
						|
 | 
						|
#[tokio::main]
 | 
						|
async fn main() {
 | 
						|
    let application = Arc::new(RustWebapp {
 | 
						|
        name: "tryrust".to_string(),
 | 
						|
        project_root: PathBuf::from(".."),
 | 
						|
        framework: Some(RustWebFramework::Leptos),
 | 
						|
        service_port: 8080,
 | 
						|
    });
 | 
						|
 | 
						|
    let discord_webhook = DiscordWebhook {
 | 
						|
        name: "harmony_demo".to_string(),
 | 
						|
        url: hurl!("http://not_a_url.com"),
 | 
						|
    };
 | 
						|
 | 
						|
    let app = ApplicationScore {
 | 
						|
        features: vec![
 | 
						|
            Box::new(PackagingDeployment {
 | 
						|
                application: application.clone(),
 | 
						|
            }),
 | 
						|
            Box::new(Monitoring {
 | 
						|
                application: application.clone(),
 | 
						|
                alert_receiver: vec![Box::new(discord_webhook)],
 | 
						|
            }),
 | 
						|
        ],
 | 
						|
        application,
 | 
						|
    };
 | 
						|
 | 
						|
    harmony_cli::run(
 | 
						|
        Inventory::autoload(),
 | 
						|
        K8sAnywhereTopology::from_env(),
 | 
						|
        vec![Box::new(app)],
 | 
						|
        None,
 | 
						|
    )
 | 
						|
    .await
 | 
						|
    .unwrap();
 | 
						|
}
 |