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:
@@ -174,10 +174,10 @@ func createRequest(repoUrl string, subPaths ...string) (*http.Request, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
req.Header.Set("grafana-version", grafanaVersion)
|
||||
req.Header.Set("grafana-version", GrafanaVersion)
|
||||
req.Header.Set("grafana-os", runtime.GOOS)
|
||||
req.Header.Set("grafana-arch", runtime.GOARCH)
|
||||
req.Header.Set("User-Agent", "grafana "+grafanaVersion)
|
||||
req.Header.Set("User-Agent", "grafana "+GrafanaVersion)
|
||||
|
||||
return req, err
|
||||
}
|
||||
|
||||
@@ -18,8 +18,9 @@ var (
|
||||
IoHelper models.IoUtil = IoUtilImp{}
|
||||
HttpClient http.Client
|
||||
HttpClientNoTimeout http.Client
|
||||
grafanaVersion string
|
||||
GrafanaVersion string
|
||||
ErrNotFoundError = errors.New("404 not found error")
|
||||
Logger *logger.CLILogger
|
||||
)
|
||||
|
||||
type BadRequestError struct {
|
||||
@@ -34,11 +35,12 @@ func (e *BadRequestError) Error() string {
|
||||
return e.Status
|
||||
}
|
||||
|
||||
func Init(version string, skipTLSVerify bool) {
|
||||
grafanaVersion = version
|
||||
func Init(version string, skipTLSVerify bool, debugMode bool) {
|
||||
GrafanaVersion = version
|
||||
|
||||
HttpClient = makeHttpClient(skipTLSVerify, 10*time.Second)
|
||||
HttpClientNoTimeout = makeHttpClient(skipTLSVerify, 0)
|
||||
Logger = logger.New(debugMode)
|
||||
}
|
||||
|
||||
func makeHttpClient(skipTLSVerify bool, timeout time.Duration) http.Client {
|
||||
@@ -113,5 +115,6 @@ func RemoveInstalledPlugin(pluginPath, pluginName string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
logger.Debugf("Removing directory %v\n", pluginDir)
|
||||
return IoHelper.RemoveAll(pluginDir)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user