25 lines
683 B
Go
25 lines
683 B
Go
package deployment
|
|
|
|
import "context"
|
|
|
|
type CommandResult struct {
|
|
Output []byte
|
|
ExitCode int
|
|
}
|
|
|
|
type Client interface {
|
|
Lock(ctx context.Context, path string) error
|
|
Unlock(ctx context.Context, path string) error
|
|
MkdirAll(ctx context.Context, path string) error
|
|
Exists(ctx context.Context, path string) (bool, error)
|
|
Upload(ctx context.Context, path string, data []byte, mode uint32) error
|
|
Rename(ctx context.Context, source, target string) error
|
|
Remove(ctx context.Context, path string) error
|
|
Run(ctx context.Context, command []string) (CommandResult, error)
|
|
Close() error
|
|
}
|
|
|
|
type ClientFactory interface {
|
|
Connect(ctx context.Context, server Server) (Client, error)
|
|
}
|