Plugins: Add managed instance installation resources (#76767)
* Plugins: Add configs to allow managed install * Expose methods to use with cloud plugin installer * Change plugins installer bind to OSS
This commit is contained in:
@@ -204,6 +204,7 @@ type FakePluginRepo struct {
|
||||
GetPluginArchiveFunc func(_ context.Context, pluginID, version string, _ repo.CompatOpts) (*repo.PluginArchive, error)
|
||||
GetPluginArchiveByURLFunc func(_ context.Context, archiveURL string, _ repo.CompatOpts) (*repo.PluginArchive, error)
|
||||
GetPluginArchiveInfoFunc func(_ context.Context, pluginID, version string, _ repo.CompatOpts) (*repo.PluginArchiveInfo, error)
|
||||
PluginVersionFunc func(pluginID, version string, compatOpts repo.CompatOpts) (repo.VersionData, error)
|
||||
}
|
||||
|
||||
// GetPluginArchive fetches the requested plugin archive.
|
||||
@@ -232,6 +233,13 @@ func (r *FakePluginRepo) GetPluginArchiveInfo(ctx context.Context, pluginID, ver
|
||||
return &repo.PluginArchiveInfo{}, nil
|
||||
}
|
||||
|
||||
func (r *FakePluginRepo) PluginVersion(pluginID, version string, compatOpts repo.CompatOpts) (repo.VersionData, error) {
|
||||
if r.PluginVersionFunc != nil {
|
||||
return r.PluginVersionFunc(pluginID, version, compatOpts)
|
||||
}
|
||||
return repo.VersionData{}, nil
|
||||
}
|
||||
|
||||
type FakePluginStorage struct {
|
||||
ExtractFunc func(_ context.Context, pluginID string, dirNameFunc storage.DirNameGeneratorFunc, z *zip.ReadCloser) (*storage.ExtractedPluginArchive, error)
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ func New(pluginRegistry registry.Service, pluginLoader loader.Service, pluginRep
|
||||
}
|
||||
|
||||
func (m *PluginInstaller) Add(ctx context.Context, pluginID, version string, opts plugins.CompatOpts) error {
|
||||
compatOpts, err := repoCompatOpts(opts)
|
||||
compatOpts, err := RepoCompatOpts(opts)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -169,7 +169,7 @@ func (m *PluginInstaller) plugin(ctx context.Context, pluginID string) (*plugins
|
||||
return p, true
|
||||
}
|
||||
|
||||
func repoCompatOpts(opts plugins.CompatOpts) (repo.CompatOpts, error) {
|
||||
func RepoCompatOpts(opts plugins.CompatOpts) (repo.CompatOpts, error) {
|
||||
os := opts.OS()
|
||||
arch := opts.Arch()
|
||||
if len(os) == 0 || len(arch) == 0 {
|
||||
|
||||
Reference in New Issue
Block a user