kubernetes/kops · error

use 'kops get keypairs' instead

Error message

use 'kops get keypairs' instead

What it means

RunGetSecrets rejects the type 'keypair' because keypair management moved to dedicated `kops get keypairs` / keystore commands. The legacy `kops get secrets --type keypair` path is no longer supported.

Source

Thrown at cmd/kops/get_secrets.go:108

		for _, item := range items {
			if nameSet.Has(item) {
				matches = append(matches, item)
			}
		}
		items = matches
	}

	return items, nil
}

func RunGetSecrets(ctx context.Context, f *util.Factory, out io.Writer, options *GetSecretsOptions) error {
	switch strings.ToLower(options.Type) {
	case "", "secret":
	// OK
	case "sshpublickey":
		return fmt.Errorf("use 'kops get sshpublickey' instead")
	case "keypair":
		return fmt.Errorf("use 'kops get keypairs' instead")
	default:
		return fmt.Errorf("unknown secret type %q", options.Type)
	}

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

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

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Run `kops get keypairs` instead of `kops get secrets --type keypair`
  2. Update automation scripts to use the dedicated keypairs subcommand

Example fix

// before
kops get secrets --type keypair

// after
kops get keypairs
Defensive patterns

Strategy: validation

Validate before calling

if [ "$SECRET_TYPE" = "keypair" ]; then
  echo "use 'kops get keypairs' instead"; exit 1
fi

Prevention

When it happens

Trigger: Running `kops get secrets --type keypair` (case-insensitive match).

Common situations: Older scripts or documentation from kops versions where keypairs were stored as secrets; users looking to rotate cluster CA or service-account keys via the secrets interface.

Related errors


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