mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -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:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user