Versions in this module Expand all Collapse all v0 v0.0.4 Jun 29, 2023 Changes in this version + var ErrAlreadyUpdated = errors.New("already up-to-date") + type AddRepository struct + func NewAddRepository(config AddRepositoryConfig) *AddRepository + func (a AddRepository) Execute() error + type AddRepositoryConfig struct + Alias string + Branch plumbing.ReferenceName + SourcesList storage.Storage[storage.SourceInfo] + URL string + type Executor interface + Execute func(Workflow) error + type Install struct + func NewInstall(config InstallConfig) *Install + func (i Install) Execute() error + type InstallConfig struct + Fs afero.Fs + InstalledVMs storage.Storage[storage.InstallInfo] + Installer Installer + Name string + Organization string + Plugin string + PluginPath string + Repo string + TmpPath string + VMStorage storage.Storage[storage.Definition[types.VM]] + type Installer interface + Decompress func(source string, dest string) error + Download func(url string, path string) error + Install func(workingDir string, args ...string) error + type MockExecutor struct + func NewMockExecutor(ctrl *gomock.Controller) *MockExecutor + func (m *MockExecutor) EXPECT() *MockExecutorMockRecorder + func (m *MockExecutor) Execute(arg0 Workflow) error + type MockExecutorMockRecorder struct + func (mr *MockExecutorMockRecorder) Execute(arg0 interface{}) *gomock.Call + type MockInstaller struct + func NewMockInstaller(ctrl *gomock.Controller) *MockInstaller + func (m *MockInstaller) Decompress(source, dest string) error + func (m *MockInstaller) Download(url, path string) error + func (m *MockInstaller) EXPECT() *MockInstallerMockRecorder + func (m *MockInstaller) Install(workingDir string, args ...string) error + type MockInstallerMockRecorder struct + func (mr *MockInstallerMockRecorder) Decompress(source, dest interface{}) *gomock.Call + func (mr *MockInstallerMockRecorder) Download(url, path interface{}) *gomock.Call + func (mr *MockInstallerMockRecorder) Install(workingDir interface{}, args ...interface{}) *gomock.Call + type Uninstall struct + func NewUninstall(config UninstallConfig) *Uninstall + func (u Uninstall) Execute() error + type UninstallConfig struct + Fs afero.Fs + InstalledVMs storage.Storage[storage.InstallInfo] + Name string + Plugin string + PluginPath string + RepoAlias string + VMStorage storage.Storage[storage.Definition[types.VM]] + type Update struct + func NewUpdate(config UpdateConfig) *Update + func (u Update) Execute() error + type UpdateConfig struct + Auth http.BasicAuth + DB database.Database + Executor Executor + Fs afero.Fs + GitFactory git.Factory + InstalledVMs storage.Storage[storage.InstallInfo] + Installer Installer + PluginPath string + Registry storage.Storage[storage.RepoList] + RepoFactory storage.RepositoryFactory + RepositoriesPath string + SourcesList storage.Storage[storage.SourceInfo] + TmpPath string + type UpdateRepository struct + func NewUpdateRepository(config UpdateRepositoryConfig) *UpdateRepository + func (u *UpdateRepository) Execute() error + type UpdateRepositoryConfig struct + AliasBytes []byte + Fs afero.Fs + LatestCommit plumbing.Hash + PreviousCommit plumbing.Hash + Registry storage.Storage[storage.RepoList] + RepoName string + Repository storage.Repository + RepositoryPath string + SourceInfo storage.SourceInfo + SourcesList storage.Storage[storage.SourceInfo] + type Upgrade struct + func NewUpgrade(config UpgradeConfig) *Upgrade + func (u *Upgrade) Execute() error + type UpgradeConfig struct + Executor Executor + Fs afero.Fs + InstalledVMs storage.Storage[storage.InstallInfo] + Installer Installer + PluginPath string + Registry storage.Storage[storage.RepoList] + RepoFactory storage.RepositoryFactory + SourcesList storage.Storage[storage.SourceInfo] + TmpPath string + type UpgradeVM struct + func NewUpgradeVM(config UpgradeVMConfig) *UpgradeVM + func (u *UpgradeVM) Execute() error + type UpgradeVMConfig struct + Executor Executor + Fs afero.Fs + FullVMName string + InstalledVMs storage.Storage[storage.InstallInfo] + Installer Installer + PluginPath string + RepoFactory storage.RepositoryFactory + TmpPath string + type VMInstaller struct + func NewVMInstaller(config VMInstallerConfig) *VMInstaller + func (t VMInstaller) Decompress(source string, dest string) error + func (t VMInstaller) Install(workingDir string, args ...string) error + type VMInstallerConfig struct + Fs afero.Fs + URLClient url.Client + type Workflow interface + Execute func() error