diff --git a/src/api.ts b/src/api.ts index fbed064..5225b2d 100644 --- a/src/api.ts +++ b/src/api.ts @@ -137,6 +137,7 @@ export interface VmOsImage { flavour: string; version: string; release_date: string; + default_username?: string; } export interface UserSshKey { diff --git a/src/pages/vm.tsx b/src/pages/vm.tsx index c590d54..0447d8f 100644 --- a/src/pages/vm.tsx +++ b/src/pages/vm.tsx @@ -72,6 +72,14 @@ export default function VmPage() { return () => clearInterval(t); }, []); + function bestHost() { + if (!state) return; + if (state.ip_assignments.length > 0) { + const ip = state.ip_assignments.at(0)!; + return ip.forward_dns ? ip.forward_dns : ip.ip.split("/")[0]; + } + } + if (!state) { return
+ ssh {state.image.default_username}@{bestHost()} +