MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / run_onboard_service

Function run_onboard_service

kms/src/main.rs:42–78  ·  view source on GitHub ↗
(kms_config: KmsConfig, figment: Figment)

Source from the content-addressed store, hash-verified

40}
41
42async fn run_onboard_service(kms_config: KmsConfig, figment: Figment) -> Result<()> {
43 use onboard_service::{OnboardHandler, OnboardState};
44
45 #[rocket::get("/")]
46 async fn index() -> RawHtml<&'static str> {
47 RawHtml(include_str!("www/onboard.html"))
48 }
49 #[rocket::get("/finish")]
50 fn finish(shutdown: Shutdown) -> &'static str {
51 shutdown.notify();
52 "OK"
53 }
54
55 if !kms_config.onboard.auto_bootstrap_domain.is_empty() {
56 onboard_service::bootstrap_keys(&kms_config).await?;
57 return Ok(());
58 }
59
60 let state = OnboardState::new(kms_config);
61 let figment = figment
62 .clone()
63 .merge(Serialized::defaults(figment.find_value("core.onboard")?));
64
65 // Remove section tls
66
67 let _ = rocket::custom(figment)
68 .mount("/", rocket::routes![index, finish])
69 .mount(
70 "/prpc",
71 ra_rpc::prpc_routes!(OnboardState, OnboardHandler, trim: "Onboard."),
72 )
73 .manage(state)
74 .launch()
75 .await
76 .map_err(|err| anyhow!(err.to_string()))?;
77 Ok(())
78}
79
80#[rocket::get("/metrics")]
81fn metrics(state: &State<KmsState>) -> RawText<String> {

Callers 1

mainFunction · 0.85

Calls 3

bootstrap_keysFunction · 0.85
cloneMethod · 0.80
is_emptyMethod · 0.45

Tested by

no test coverage detected