Skip to content

feat: add SSH integration and noVNC console access#76

Merged
larkly merged 2 commits intomainfrom
worktree-expressive-discovering-grove
Mar 29, 2026
Merged

feat: add SSH integration and noVNC console access#76
larkly merged 2 commits intomainfrom
worktree-expressive-discovering-grove

Conversation

@larkly
Copy link
Copy Markdown
Owner

@larkly larkly commented Mar 29, 2026

Summary

  • SSH launch (x): prompts for username, discovers key from ~/.ssh/, prefers floating IP → IPv6 → IPv4, suspends TUI via tea.ExecProcess and resumes on exit
  • Copy SSH command (c): copies ssh [-i keypath] USER@ip to clipboard for manual use
  • noVNC console URL (V): fetches remote console URL via Nova API, shows modal with Enter (open browser) / c (copy) / Esc (close)
  • All three work from both server list and server detail views
  • Help overlay updated with new keybindings

Closes #27, closes #50

Test plan

  • go build ./... and go vet ./... pass
  • From server list, press x → SSH prompt shows server name, IP, key → enter username → SSH session launches → TUI resumes
  • From server list, press c → status bar shows copied SSH command
  • From server list, press V → console URL modal appears → Enter opens browser, c copies
  • All three work from server detail view
  • No IP available → status bar shows error
  • Console URL API failure → status bar shows error
  • Help overlay (?) shows x, c, V in Server List and Server Detail sections

larkly added 2 commits March 29, 2026 01:18
Add keybindings for SSH into server (x), copy SSH command (c), and
fetch noVNC console URL (V). SSH prompts for username, prefers floating
IP then IPv6 then IPv4, and discovers key files from ~/.ssh/. Console
URL is shown in a modal with options to open in browser or copy.

Closes #27, closes #50
Main added clone (c) and cross-resource navigation (v/g/N).
Remapped copy SSH command from c to y (vim yank convention)
to avoid conflict with clone.
@larkly larkly merged commit 3dd2ae5 into main Mar 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Console access (noVNC) SSH integration

1 participant