Versions in this module Expand all Collapse all v1 v1.0.19 Feb 22, 2026 Changes in this version type SSHClientConfig + AuthValue string v1.0.18 Feb 15, 2026 v1.0.17 Feb 1, 2026 Changes in this version type Executor + func (e *Executor) SetSSHClient(sshClient SSHClient) + type JumpHostConfig struct + Addr string + KeyPath string + Port int + User string type Plugin + func (p *Plugin) SetSSHClient(sshClient SSHClient) type SSHClientConfig + JumpHost JumpHostConfig v1.0.16 Jan 2, 2026 v1.0.15 Dec 22, 2025 Changes in this version + func GetCommandDescription(cmd string) string + type CommandInfo struct + Command string + Description string v1.0.14 Dec 7, 2025 v1.0.13 Nov 29, 2025 v1.0.12 Nov 25, 2025 v1.0.11 Nov 21, 2025 v1.0.10 Nov 14, 2025 v1.0.9 Nov 12, 2025 Changes in this version + type APIClientAdapter struct + func NewAPIClientAdapter(client *api.Client) *APIClientAdapter + func (a *APIClientAdapter) ExecuteGuestAgentCommand(ctx context.Context, vm VM, command []string, timeout time.Duration) (stdout, stderr string, exitCode int, err error) + type AllowedCommands struct + Container []string + Host []string + VM []string + VMLinux []string + VMWindows []string + type CommandTemplate struct + Parameters []string + Template string + func ParseTemplate(cmd string) CommandTemplate + func (t *CommandTemplate) FillTemplate(values map[string]string) (string, error) + type Config struct + AllowedCommands AllowedCommands + Enabled bool + MaxOutputSize int + Timeout time.Duration + func DefaultConfig() Config + func (c *Config) Validate() error + type ExecutionResult struct + Command string + Duration time.Duration + Error error + ExitCode int + Output string + Truncated bool + type Executor struct + func NewExecutor(config Config, sshClient SSHClient, apiClient ProxmoxAPIClient) *Executor + func (e *Executor) ExecuteContainerCommand(ctx context.Context, host string, containerID int, command string) ExecutionResult + func (e *Executor) ExecuteHostCommand(ctx context.Context, host, command string) ExecutionResult + func (e *Executor) ExecuteTemplatedCommand(ctx context.Context, targetType TargetType, host string, templateCmd string, ...) ExecutionResult + func (e *Executor) ExecuteTemplatedContainerCommand(ctx context.Context, host string, containerID int, templateCmd string, ...) ExecutionResult + func (e *Executor) ExecuteTemplatedVMCommand(ctx context.Context, vm VM, templateCmd string, params map[string]string) ExecutionResult + func (e *Executor) ExecuteVMCommand(ctx context.Context, vm VM, command string) ExecutionResult + func (e *Executor) GetAllowedCommands(targetType TargetType) []string + func (e *Executor) GetAllowedVMCommands(vm VM) []string + type MockSSHClient struct + ExecuteContainerFunc func(ctx context.Context, host string, containerID int, command string) (string, error) + ExecuteFunc func(ctx context.Context, host, command string) (string, error) + func (m *MockSSHClient) ExecuteCommand(ctx context.Context, host, command string) (string, error) + func (m *MockSSHClient) ExecuteContainerCommand(ctx context.Context, host string, containerID int, command string) (string, error) + type OSFamily string + const OSFamilyLinux + const OSFamilyUnknown + const OSFamilyWindows + type Plugin struct + func NewPlugin(config Config, sshClient SSHClient, apiClient ProxmoxAPIClient, app UIApp) (*Plugin, error) + func (p *Plugin) Enabled() bool + func (p *Plugin) ExecuteHostCommand(ctx context.Context, host, command string) ExecutionResult + func (p *Plugin) GetAllowedHostCommands() []string + func (p *Plugin) Name() string + func (p *Plugin) ShowContainerCommandMenu(node string, vmid int, onClose func()) + func (p *Plugin) ShowHostCommandMenu(host string, onClose func()) + func (p *Plugin) ShowVMCommandMenu(vm VM, onClose func()) + type ProxmoxAPIClient interface + ExecuteGuestAgentCommand func(ctx context.Context, vm VM, command []string, timeout time.Duration) (stdout, stderr string, exitCode int, err error) + type SSHClient interface + ExecuteCommand func(ctx context.Context, host, command string) (output string, err error) + ExecuteContainerCommand func(ctx context.Context, host string, containerID int, command string) (output string, err error) + type SSHClientConfig struct + KeyPath string + Password string + Port int + Timeout time.Duration + Username string + type SSHClientImpl struct + func NewSSHClient(config SSHClientConfig) *SSHClientImpl + func (c *SSHClientImpl) ExecuteCommand(ctx context.Context, host, command string) (string, error) + func (c *SSHClientImpl) ExecuteContainerCommand(ctx context.Context, host string, containerID int, command string) (string, error) + type TargetType string + const TargetContainer + const TargetHost + const TargetVM + type UIApp interface + Pages func() *tview.Pages + QueueUpdateDraw func(func()) *tview.Application + SetFocus func(p tview.Primitive) *tview.Application + type UIManager struct + func NewUIManager(app UIApp, executor *Executor) *UIManager + func (u *UIManager) ShowCommandMenu(targetType TargetType, target string, onClose func()) + func (u *UIManager) ShowErrorModal(title, message string, onClose func()) + func (u *UIManager) ShowResultModal(result ExecutionResult, onClose func()) + func (u *UIManager) ShowVMCommandMenu(vm VM, onClose func()) + type VM struct + AgentEnabled bool + AgentRunning bool + ID int + Node string + OSType string + Status string + Type string + type Validator struct + func NewValidator(config Config) *Validator + func (v *Validator) GetAllowedCommands(targetType TargetType) []string + func (v *Validator) GetAllowedVMCommands(vm VM) []string + func (v *Validator) ValidateCommand(targetType TargetType, command string) error + func (v *Validator) ValidateVMCommand(vm VM, command string) error