mirror of
https://github.com/grafana/grafana.git
synced 2024-11-23 01:16:31 -06:00
grafana-cli: Add ability to read password from stdin to reset admin password (#26016)
* grafana-cli: Add ability to read password from stdin to reset admin password Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com> Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
parent
66a00ee5c9
commit
3720c25638
@ -111,6 +111,13 @@ var adminCommands = []*cli.Command{
|
||||
Name: "reset-admin-password",
|
||||
Usage: "reset-admin-password <new password>",
|
||||
Action: runDbCommand(resetPasswordCommand),
|
||||
Flags: []cli.Flag{
|
||||
&cli.BoolFlag{
|
||||
Name: "password-from-stdin",
|
||||
Usage: "Read the password from stdin",
|
||||
Value: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "data-migration",
|
||||
|
@ -1,7 +1,9 @@
|
||||
package commands
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/fatih/color"
|
||||
"github.com/grafana/grafana/pkg/bus"
|
||||
@ -16,7 +18,22 @@ import (
|
||||
const AdminUserId = 1
|
||||
|
||||
func resetPasswordCommand(c utils.CommandLine, sqlStore *sqlstore.SqlStore) error {
|
||||
newPassword := c.Args().First()
|
||||
newPassword := ""
|
||||
|
||||
if c.Bool("password-from-stdin") {
|
||||
logger.Infof("New Password: ")
|
||||
|
||||
scanner := bufio.NewScanner(os.Stdin)
|
||||
if ok := scanner.Scan(); !ok {
|
||||
if err := scanner.Err(); err != nil {
|
||||
return fmt.Errorf("can't read password from stdin: %w", err)
|
||||
}
|
||||
return fmt.Errorf("can't read password from stdin")
|
||||
}
|
||||
newPassword = scanner.Text()
|
||||
} else {
|
||||
newPassword = c.Args().First()
|
||||
}
|
||||
|
||||
password := models.Password(newPassword)
|
||||
if password.IsWeak() {
|
||||
|
Loading…
Reference in New Issue
Block a user