Add SSH source support with dialstdio and UI components
- Implement SSH dial via stdio for remote connections - Add sources API and storage layer for managing connection sources - Add SourcePanel and SshFields web components for SSH configuration - Update app structure to support source-based connections - Update handlers and server for new sources endpoint Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -120,6 +120,35 @@ export interface SourceResponse {
|
||||
options: Options
|
||||
}
|
||||
|
||||
/** How a source daemon is reached. 'local' is the built-in, unremovable one. */
|
||||
export type SourceKind = 'local' | 'docker' | 'ssh'
|
||||
|
||||
export interface Source {
|
||||
id: string
|
||||
name: string
|
||||
kind: SourceKind
|
||||
/** Daemon address for the 'docker' kind, e.g. tcp://10.0.0.5:2375. */
|
||||
dockerHost?: string
|
||||
/** Remote host for the 'ssh' kind; the same shape as a target connection. */
|
||||
ssh?: Connection
|
||||
}
|
||||
|
||||
export interface SourceStatus {
|
||||
id: string
|
||||
name: string
|
||||
kind: SourceKind
|
||||
endpoint: string
|
||||
dockerVersion?: string
|
||||
connected: boolean
|
||||
error?: string
|
||||
}
|
||||
|
||||
export interface SourcesResponse {
|
||||
sources: Source[]
|
||||
selected: string
|
||||
current: SourceStatus | null
|
||||
}
|
||||
|
||||
export type AuthMethod = 'password' | 'key' | 'agent'
|
||||
|
||||
export interface Connection {
|
||||
@@ -253,6 +282,7 @@ export interface Health {
|
||||
dockerHost: string
|
||||
dockerVersion?: string
|
||||
dockerError?: string
|
||||
source?: SourceStatus
|
||||
packageDir: string
|
||||
dataDir: string
|
||||
knownHosts: string
|
||||
|
||||
Reference in New Issue
Block a user