feat: agent keeps SSH file sessions and runs file operations on the host by commands
This commit is contained in:
1 parent
f5d6bd30e8
commit
2859e69abe
4 files changed
+607
No files matched your search
@@ -167,6 +167,11 @@ const (
|
||||
TaskDBAdd = "db.add" // add a row
|
||||
TaskDBDel = "db.del" // delete rows by their keys
|
||||
TaskDBSQL = "db.sql" // run a statement typed in the panel
|
||||
TaskSSHFSOpen = "sshfs.open" // connect to an SSH host for a file pane; result {id, home}
|
||||
TaskSSHFSClose = "sshfs.close" // drop that connection
|
||||
TaskSSHFSOp = "sshfs.op" // a file operation on the host: list, read, write, mkdir, delete, deltree, move, copy, stat, chmod
|
||||
TaskSSHFSSend = "sshfs.send" // a file of the host to the browser in pieces (FSXferArgs with Conn)
|
||||
TaskSSHFSPut = "sshfs.put" // a file from the browser to the host in pieces
|
||||
TaskFSShipOut = "fs.ship.out" // pack a file or folder and send it to another machine
|
||||
TaskFSShipIn = "fs.ship.in" // unpack what another machine sends
|
||||
)
|
||||
@@ -186,6 +191,18 @@ type FSXferArgs struct {
|
||||
Xfer string `json:"xfer"`
|
||||
Size int64 `json:"size"`
|
||||
Chunk int `json:"chunk"`
|
||||
// Conn is the SSH file connection the file is on (sshfs.send, sshfs.put).
|
||||
Conn string `json:"conn,omitempty"`
|
||||
}
|
||||
|
||||
// SSHFSArgs are the arguments of the sshfs.* tasks: the connection (Conn), or
|
||||
// where to connect (SSH, for open); for an operation its name (Op) and its
|
||||
// arguments (Args) in the shapes of the fs.* tasks.
|
||||
type SSHFSArgs struct {
|
||||
Conn string `json:"conn,omitempty"`
|
||||
SSH *SSHTarget `json:"ssh,omitempty"`
|
||||
Op string `json:"op,omitempty"`
|
||||
Args json.RawMessage `json:"args,omitempty"`
|
||||
}
|
||||
|
||||
// TaskEnvelope is what the agent fetches for a task id.
|
||||
|
||||
Reference in new issue
Block a user