diff --git a/docs/sources/plugins/installation.md b/docs/sources/plugins/installation.md index d3a8013ce2b..7a4ed1889f9 100644 --- a/docs/sources/plugins/installation.md +++ b/docs/sources/plugins/installation.md @@ -17,30 +17,30 @@ On Linux systems the grafana-cli will assume that the grafana plugin directory i List available plugins ``` -grafana-cli list-remote +grafana-cli plugins list-remote ``` Install a plugin type ``` -grafana-cli install +grafana-cli plugins install ``` List installed plugins ``` -grafana-cli ls +grafana-cli plugins ls ``` Upgrade all installed plugins ``` -grafana-cli upgrade-all +grafana-cli plugins upgrade-all ``` Upgrade one plugin ``` -grafana-cli upgrade +grafana-cli plugins upgrade ``` Remove one plugin ``` -grafana-cli remove +grafana-cli plugins remove ``` diff --git a/pkg/cmd/grafana-cli/commands/commands.go b/pkg/cmd/grafana-cli/commands/commands.go index f1b36c90ef2..55a0e2660ec 100644 --- a/pkg/cmd/grafana-cli/commands/commands.go +++ b/pkg/cmd/grafana-cli/commands/commands.go @@ -22,7 +22,7 @@ func runCommand(command func(commandLine CommandLine) error) func(context *cli.C } } -var Commands = []cli.Command{ +var pluginCommands = []cli.Command{ { Name: "install", Usage: "install ", @@ -49,3 +49,11 @@ var Commands = []cli.Command{ Action: runCommand(removeCommand), }, } + +var Commands = []cli.Command{ + { + Name: "plugins", + Usage: "Manage plugins for grafana", + Subcommands: pluginCommands, + }, +} diff --git a/pkg/cmd/grafana-cli/main.go b/pkg/cmd/grafana-cli/main.go index b277714fe9b..2b3b94f1751 100644 --- a/pkg/cmd/grafana-cli/main.go +++ b/pkg/cmd/grafana-cli/main.go @@ -12,10 +12,6 @@ import ( var version = "master" func getGrafanaPluginPath() string { - if os.Getenv("GF_PLUGIN_DIR") != "" { - return os.Getenv("GF_PLUGIN_DIR") - } - os := runtime.GOOS if os == "windows" { return "C:\\opt\\grafana\\plugins" @@ -34,14 +30,16 @@ func main() { app.Version = version app.Flags = []cli.Flag{ cli.StringFlag{ - Name: "path", - Usage: "path to the grafana installation", - Value: getGrafanaPluginPath(), + Name: "path", + Usage: "path to the grafana installation", + Value: getGrafanaPluginPath(), + EnvVar: "GF_PLUGIN_DIR", }, cli.StringFlag{ - Name: "repo", - Usage: "url to the plugin repository", - Value: "https://grafana-net.raintank.io/api/plugins", + Name: "repo", + Usage: "url to the plugin repository", + Value: "https://grafana-net.raintank.io/api/plugins", + EnvVar: "GF_PLUGIN_REPO", }, cli.BoolFlag{ Name: "debug, d", diff --git a/public/app/core/services/backend_srv.js b/public/app/core/services/backend_srv.js index 6d0d112ba26..ff3784ab45e 100644 --- a/public/app/core/services/backend_srv.js +++ b/public/app/core/services/backend_srv.js @@ -105,6 +105,13 @@ function (angular, _, coreModule, config) { }); } + //populate error obj on Internal Error + if (_.isString(err.data) && err.status === 500) { + err.data = { + error: err.statusText + }; + } + // for Prometheus if (!err.data.message && _.isString(err.data.error)) { err.data.message = err.data.error;