Show the VM's SSH host key fingerprint - #101
Merged
Merged
Conversation
Signed-off-by: v0l <kieran@harkin.me>
Signed-off-by: v0l <kieran@harkin.me>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #100.
host_ssh_keys(lnvps_api_common/src/model.rs:293,ApiVmStatus) landed in api#154 (LNVPS/api#324) — merged 2026-07-29, never wired up here. Right now a customer's terminal prompts "authenticity of host X can't be established" on first connect with nothing to check it against, which defeats host-key verification.src/api.ts—VmInstance.host_ssh_keys: Array<VmSshHostKey>(key_type/public_key/fingerprint_sha256), required per the contract (always an array, empty until the scan succeeds).src/pages/vm.tsx— the fingerprint(s) render inside the existing "Access" card, right under thessh user@hostline, guarded on the array being non-empty so nothing shows before the scan completes.select-alllike the SSH command above it, so it's copy-pasteable.No design decision beyond that — one line under the command that's already there, same card, same styling as the rest of the page.
bun test51 pass,tsc --noEmitclean, build clean at b8f34a0. Translated to all 10 locales; caught and fixed one bad character the pass introduced (a CJK full-width period landed in the Turkish string).Not curl-verified like the SEO pages —
/vm/:idis behind login, no crawlability concern, and there's no component-render harness in this repo to exercise it live. Verified by type-check + reading the diff against the existing "Access" card's pattern.