All checks were successful
		
		
	
	Run Check Script / check (pull_request) Successful in -4s
				
			- Added functionality to generate a Helm chart for the application. - Implemented chart packaging and pushing to an OCI registry. - Utilized `helm package` and `helm push` commands. - Included configurable registry URL and project name. - Added tests to verify chart generation and packaging. - Improved error handling and logging.
		
			
				
	
	
		
			89 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| #[cfg(feature = "ssr")]
 | |
| #[actix_web::main]
 | |
| async fn main() -> std::io::Result<()> {
 | |
|     use actix_files::Files;
 | |
|     use actix_web::*;
 | |
|     use leptos::prelude::*;
 | |
|     use leptos::config::get_configuration;
 | |
|     use leptos_meta::MetaTags;
 | |
|     use leptos_actix::{generate_route_list, LeptosRoutes};
 | |
|     use harmony_example_rust_webapp::app::*;
 | |
| 
 | |
|     let conf = get_configuration(None).unwrap();
 | |
|     let addr = conf.leptos_options.site_addr;
 | |
| 
 | |
|     HttpServer::new(move || {
 | |
|         // Generate the list of routes in your Leptos App
 | |
|         let routes = generate_route_list(App);
 | |
|         let leptos_options = &conf.leptos_options;
 | |
|         let site_root = leptos_options.site_root.clone().to_string();
 | |
| 
 | |
|         println!("listening on http://{}", &addr);
 | |
| 
 | |
|         App::new()
 | |
|             // serve JS/WASM/CSS from `pkg`
 | |
|             .service(Files::new("/pkg", format!("{site_root}/pkg")))
 | |
|             // serve other assets from the `assets` directory
 | |
|             .service(Files::new("/assets", &site_root))
 | |
|             // serve the favicon from /favicon.ico
 | |
|             .service(favicon)
 | |
|             .leptos_routes(routes, {
 | |
|                 let leptos_options = leptos_options.clone();
 | |
|                 move || {
 | |
|                     view! {
 | |
|                         <!DOCTYPE html>
 | |
|                         <html lang="en">
 | |
|                             <head>
 | |
|                                 <meta charset="utf-8"/>
 | |
|                                 <meta name="viewport" content="width=device-width, initial-scale=1"/>
 | |
|                                 <AutoReload options=leptos_options.clone() />
 | |
|                                 <HydrationScripts options=leptos_options.clone()/>
 | |
|                                 <MetaTags/>
 | |
|                             </head>
 | |
|                             <body>
 | |
|                                 <App/>
 | |
|                             </body>
 | |
|                         </html>
 | |
|                     }
 | |
|                 }
 | |
|             })
 | |
|             .app_data(web::Data::new(leptos_options.to_owned()))
 | |
|         //.wrap(middleware::Compress::default())
 | |
|     })
 | |
|     .bind(&addr)?
 | |
|     .run()
 | |
|     .await
 | |
| }
 | |
| 
 | |
| #[cfg(feature = "ssr")]
 | |
| #[actix_web::get("favicon.ico")]
 | |
| async fn favicon(
 | |
|     leptos_options: actix_web::web::Data<leptos::config::LeptosOptions>,
 | |
| ) -> actix_web::Result<actix_files::NamedFile> {
 | |
|     let leptos_options = leptos_options.into_inner();
 | |
|     let site_root = &leptos_options.site_root;
 | |
|     Ok(actix_files::NamedFile::open(format!(
 | |
|         "{site_root}/favicon.ico"
 | |
|     ))?)
 | |
| }
 | |
| 
 | |
| #[cfg(not(any(feature = "ssr", feature = "csr")))]
 | |
| pub fn main() {
 | |
|     // no client-side main function
 | |
|     // unless we want this to work with e.g., Trunk for pure client-side testing
 | |
|     // see lib.rs for hydration function instead
 | |
|     // see optional feature `csr` instead
 | |
| }
 | |
| 
 | |
| #[cfg(all(not(feature = "ssr"), feature = "csr"))]
 | |
| pub fn main() {
 | |
|     // a client-side main function is required for using `trunk serve`
 | |
|     // prefer using `cargo leptos serve` instead
 | |
|     // to run: `trunk serve --open --features csr`
 | |
|     use harmony_example_rust_webapp::app::*;
 | |
| 
 | |
|     console_error_panic_hook::set_once();
 | |
| 
 | |
|     leptos::mount_to_body(App);
 | |
| }
 |