Plugins: Move plugin installing + uninstalling logic from CLI to plugins package (#33274)

* move guts from cli to server

* renaming + refactoring

* add pluginsDir arg

* arg fixes

* add support for repo URL override

* add funcs to interface

* use pluginID consistently

* swap args

* pass mandatory grafanaVersion field

* introduce logger interface

* create central logger for CLI

* add infra log wrapper

* re-add log initer step

* remove unused logger

* add checks for uninstalling

* improve debug blue

* make sure to close file

* fix linter issues

* remove space

* improve newline usage

* refactor packaging

* improve logger API

* fix interface func names

* close file and reformat zipslip catch

* handle G305 linter warning

* add helpful debug log
This commit is contained in:
Will Browne
2021-04-26 16:13:40 +02:00
committed by GitHub
parent d0239ac958
commit 8e6205c107
13 changed files with 874 additions and 16 deletions
+64
View File
@@ -0,0 +1,64 @@
package manager
import (
"fmt"
"github.com/grafana/grafana/pkg/infra/log"
)
type InfraLogWrapper struct {
l log.Logger
debugMode bool
}
func New(name string, debugMode bool) (l *InfraLogWrapper) {
return &InfraLogWrapper{
debugMode: debugMode,
l: log.New(name),
}
}
func (l *InfraLogWrapper) Successf(format string, args ...interface{}) {
l.l.Info(fmt.Sprintf(format, args...))
}
func (l *InfraLogWrapper) Failuref(format string, args ...interface{}) {
l.l.Error(fmt.Sprintf(format, args...))
}
func (l *InfraLogWrapper) Info(args ...interface{}) {
l.l.Info(fmt.Sprint(args...))
}
func (l *InfraLogWrapper) Infof(format string, args ...interface{}) {
l.l.Info(fmt.Sprintf(format, args...))
}
func (l *InfraLogWrapper) Debug(args ...interface{}) {
if l.debugMode {
l.l.Debug(fmt.Sprint(args...))
}
}
func (l *InfraLogWrapper) Debugf(format string, args ...interface{}) {
if l.debugMode {
l.l.Debug(fmt.Sprintf(format, args...))
}
}
func (l *InfraLogWrapper) Warn(args ...interface{}) {
l.l.Warn(fmt.Sprint(args...))
}
func (l *InfraLogWrapper) Warnf(format string, args ...interface{}) {
l.l.Warn(fmt.Sprintf(format, args...))
}
func (l *InfraLogWrapper) Error(args ...interface{}) {
l.l.Error(fmt.Sprint(args...))
}
func (l *InfraLogWrapper) Errorf(format string, args ...interface{}) {
l.l.Error(fmt.Sprintf(format, args...))
}