feat: bootstrap console administrator
This commit is contained in:
@@ -258,6 +258,11 @@ func runBootstrap(args []string) error {
|
||||
flags.StringVar(&in.Environment, "environment", "", "environment name")
|
||||
flags.StringVar(&in.Queue, "queue", "", "initial queue name")
|
||||
flags.StringVar(&output, "output", "", "new private credentials JSON file")
|
||||
var consoleUsername, consoleDisplayName, consolePassword string
|
||||
var consolePasswordStdin bool
|
||||
flags.StringVar(&consoleUsername, "console-username", "", "optional first console administrator username")
|
||||
flags.StringVar(&consoleDisplayName, "console-display-name", "", "optional console administrator display name")
|
||||
flags.BoolVar(&consolePasswordStdin, "console-password-stdin", false, "read the first console administrator password from stdin")
|
||||
flags.BoolVar(&in.WorkerAccess, "worker-access", false, "also grant Worker connect and consume actions for development")
|
||||
flags.BoolVar(&in.ScheduleAccess, "schedule-access", false, "also grant schedule read and manage actions for development")
|
||||
flags.BoolVar(&in.EventAccess, "event-access", false, "also grant result subscription read, manage and consume actions")
|
||||
@@ -274,6 +279,20 @@ func runBootstrap(args []string) error {
|
||||
if flags.NArg() != 0 || output == "" {
|
||||
return errors.New("--output and named resource arguments are required")
|
||||
}
|
||||
if consolePasswordStdin {
|
||||
raw, err := io.ReadAll(io.LimitReader(os.Stdin, 1025))
|
||||
if err != nil {
|
||||
return errors.New("console administrator password could not be read")
|
||||
}
|
||||
consolePassword = strings.TrimRight(string(raw), "\r\n")
|
||||
}
|
||||
if consoleUsername == "" && (consolePasswordStdin || consoleDisplayName != "") {
|
||||
return errors.New("--console-username is required with console administrator options")
|
||||
}
|
||||
if consoleUsername != "" && !consolePasswordStdin {
|
||||
return errors.New("--console-password-stdin is required when creating the first console administrator")
|
||||
}
|
||||
in.ConsoleUsername, in.ConsoleDisplayName, in.ConsolePassword = consoleUsername, consoleDisplayName, consolePassword
|
||||
cfg, err := config.Load()
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user