kubernetes/kops · error

reading encryption config from stdin: %v

Error message

reading encryption config from stdin: %v

What it means

RunCreateSecretEncryptionConfig reads the encryption configuration from stdin (path '-') via ConsumeStdin; this wraps that read failing - stdin closed/empty or an I/O error. The cluster and secret store client were already resolved.

Source

Thrown at cmd/kops/create_secret_encryptionconfig.go:106

	cluster, err := GetCluster(ctx, f, options.ClusterName)
	if err != nil {
		return err
	}

	clientset, err := f.KopsClient()
	if err != nil {
		return err
	}

	secretStore, err := clientset.SecretStore(cluster)
	if err != nil {
		return err
	}
	var data []byte
	if options.EncryptionConfigPath == "-" {
		data, err = ConsumeStdin()
		if err != nil {
			return fmt.Errorf("reading encryption config from stdin: %v", err)
		}
	} else {
		data, err = os.ReadFile(options.EncryptionConfigPath)
		if err != nil {
			return fmt.Errorf("reading encryption config %v: %v", options.EncryptionConfigPath, err)
		}
	}

	var parsedData map[string]interface{}
	err = kops.ParseRawYaml(data, &parsedData)
	if err != nil {
		return fmt.Errorf("unable to parse YAML %v: %v", options.EncryptionConfigPath, err)
	}

	secret := &fi.Secret{
		Data: data,
	}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Pipe a valid encryption provider config into the command via stdin
  2. Ensure stdin is not closed or incorrectly redirected
  3. Use a file path instead of '-' if not piping
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at cmd/kops/create_secret_encryptionconfig.go:106 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/4e95b8de1e56bb69. Report an issue: GitHub.