INNER CODE UNIT · Go
makePlaybook
umputun/spot · cmd/spot/main.go:344
func makePlaybook(opts options, inventory string) (*config.PlayBook, []string, error) {
var manualSecrets []string
// makeSecretProvider creates secret provider based on options
makeSecretProvider := func(sopts SecretsProvider) (config.SecretsProvider, error) {
switch sopts.Provider {
case "none":
return &secrets.NoOpProvider{}, nil
case "spot":
key := sopts.Key
// if key is not provided via flag or env, prompt for it
if key == "" {
promptedKey, err := readPasswordFromStdin("Enter secrets key: ")
if err != nil {
return nil, fmt.Errorf("failed to read secrets key: %w", err)
}
key = promptedKey
manualSecrets = append(manualSecrets, key) // add to secrets for masking
}