sshkeeper/docs/roadmap/v0.2.0.md

110 lines
3.0 KiB
Markdown

## Status
✅ Completed — released as v0.2.0.
Routes, tunnels and cleaner TUI.
sshkeeper v0.2.0 focuses on real-world SSH workflows where servers are accessed through bastions, jump chains and port forwards, while keeping the TUI simple and discoverable.
## Delivered features
### 1. Cleaner TUI action model
- Replace always-visible hotkey overload with a compact action bar.
- Keep only primary actions visible:
- Connect
- Add
- Edit
- Search
- Templates
- Forwards
- Select
- Help
- Quit
- Move secondary shortcuts to the help screen.
- Add a contextual action menu for less frequent actions:
- Delete
- Test
- Tags
- Import/export
- Vault actions
- TUI action menu entries are wired:
- route opens the server edit form focused on route hops
- import refreshes the list after importing from `~/.ssh/config`
- export and vault password change leave the alt-screen and run in the normal terminal
- vault lock locks the vault in the current process
### 2. Route / ProxyJump UX
- Rename raw `ProxyJump` handling in the UI to `Route`.
- Support three route modes:
- Direct
- Via jump host
- Via chain
- Allow selecting jump hosts from existing sshkeeper profiles.
- Allow entering raw jump hosts manually.
- Display route summary in the server list:
- `direct → target`
- `bastion → target`
- `bastion → dmz-gw → target`
- Keep full technical ProxyJump value visible in server details.
### 3. Port forwarding manager
- Add per-server forwarding management screen.
- Support:
- Local forwarding
- Remote forwarding
- Dynamic SOCKS forwarding
- Show human-readable forwarding table:
- type
- listen address/port
- target address/port
- Show generated OpenSSH preview for each forward.
- Add `ExitOnForwardFailure` option.
- Support normal SSH session with forwards.
- Support forward-only mode using `ssh -N`.
### 4. CLI support for routes and forwards
- Add commands:
- `sshkeeper forward list <alias>`
- `sshkeeper forward add <alias> ...`
- `sshkeeper forward delete <alias> <id>`
- `sshkeeper tunnel <alias>`
- `sshkeeper tunnel <alias> --forward-only`
- `sshkeeper tunnel <alias> --background`
- `sshkeeper tunnel list`
- `sshkeeper tunnel stop <id>`
- `sshkeeper tunnel stop-all`
- `sshkeeper route show <alias>`
- `sshkeeper route set <alias> ...`
- `sshkeeper route clear <alias>`
Background tunnels are tracked by PID and run with `ssh -N`. They currently
support key and SSH-agent auth; password/key-passphrase auth remains foreground
only so the PTY prompt handler can provide the secret safely.
### 5. Search improvements
- Extend search to notes, tags, proxy/jump route and forward ports.
- Make search useful for real admin memory:
- host names
- aliases
- groups
- tags
- notes
- bastion names
- exposed local ports
### 6. README update
- Add a section explaining that sshkeeper is not Ansible.
- Add examples for:
- jump host
- jump chain
- local port forward
- dynamic SOCKS proxy
- forward-only session
- Add screenshots for route, forwarding and tunnel screens.