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

Function index

guest-agent/src/http_routes.rs:32–82  ·  view source on GitHub ↗
(state: &State<AppState>)

Source from the content-addressed store, hash-verified

30
31#[get("/")]
32async fn index(state: &State<AppState>) -> Result<RawHtml<String>, String> {
33 let public_logs = state.config().app_compose.public_logs;
34 let public_sysinfo = state.config().app_compose.public_sysinfo;
35 let public_tcbinfo = state.config().app_compose.public_tcbinfo;
36 let context = CallContext::builder().state(&**state).build();
37 let handler = ExternalRpcHandler::construct(context.clone())
38 .map_err(|e| format!("Failed to construct RPC handler: {}", e))?;
39 let AppInfo {
40 app_name,
41 app_id,
42 instance_id,
43 device_id,
44 mr_aggregated: _,
45 os_image_hash: _,
46 key_provider_info,
47 compose_hash: _,
48 tcb_info,
49 app_cert: _,
50 vm_config: _,
51 cloud_vendor,
52 cloud_product,
53 } = handler
54 .info()
55 .await
56 .map_err(|e| format!("Failed to get worker info: {}", e))?;
57
58 let handler = GuestApiHandler::construct(context)
59 .map_err(|e| format!("Failed to construct RPC handler: {}", e))?;
60 let system_info = handler.sys_info().await.unwrap_or_default();
61
62 let containers = list_containers().await.unwrap_or_default().containers;
63 let model = crate::models::Dashboard {
64 app_name,
65 app_id,
66 instance_id,
67 device_id,
68 key_provider_info,
69 tcb_info,
70 containers,
71 system_info,
72 public_sysinfo,
73 public_logs,
74 public_tcbinfo,
75 cloud_vendor,
76 cloud_product,
77 };
78 match model.render() {
79 Ok(html) => Ok(RawHtml(html)),
80 Err(err) => Err(format!("Failed to render template: {}", err)),
81 }
82}
83
84// Returns metrics about the guest in prometheus format if public_sysinfo is enabled
85#[get("/metrics")]

Callers

nothing calls this directly

Calls 7

list_containersFunction · 0.85
cloneMethod · 0.80
renderMethod · 0.80
configMethod · 0.45
buildMethod · 0.45
infoMethod · 0.45
sys_infoMethod · 0.45

Tested by

no test coverage detected