// Remove removes a plugin from memory, plugindb and disk. func (ps *PluginStore) Remove(p *v2.Plugin) { ps.Lock() delete(ps.plugins, p.GetID()) delete(ps.nameToID, p.Name()) ps.updatePluginDB() p.RemoveFromDisk() ps.Unlock() }
func (pm *Manager) disable(p *v2.Plugin) error { if !p.IsEnabled() { return fmt.Errorf("plugin %s is already disabled", p.Name()) } if err := p.RestartManager.Cancel(); err != nil { logrus.Error(err) } if err := pm.containerdClient.Signal(p.GetID(), int(syscall.SIGKILL)); err != nil { logrus.Error(err) } if err := p.RemoveFromDisk(); err != nil { logrus.Error(err) } pm.pluginStore.SetState(p, false) return nil }