kubernetes/kops · error
error rendering SSH public key: %w
Error message
error rendering SSH public key: %w
What it means
Thrown in RenderScw while materializing the expected PublicKey resource into a string before creating the Scaleway SSH key. fi.ResourceAsString failed, meaning the resource backing the PublicKey field could not be loaded (missing secret, unreadable file, or failed fetch) — the failure is in reading the resource, not in talking to Scaleway.
Source
Thrown at upup/pkg/fi/cloudup/scalewaytasks/sshkey.go:129
func (*SSHKey) RenderScw(t *scaleway.ScwAPITarget, actual, expected, changes *SSHKey) error {
if actual != nil {
klog.Infof("Scaleway does not support changes to ssh keys for the moment")
return nil
}
name := fi.ValueOf(expected.Name)
if name == "" {
return fi.RequiredField("Name")
}
klog.V(2).Infof("Creating keypair with name: %q", name)
keyArgs := &iam.CreateSSHKeyRequest{
Name: name,
}
if expected.PublicKey != nil {
d, err := fi.ResourceAsString(*expected.PublicKey)
if err != nil {
return fmt.Errorf("error rendering SSH public key: %w", err)
}
keyArgs.PublicKey = d
}
key, err := t.Cloud.IamService().CreateSSHKey(keyArgs)
if err != nil {
return fmt.Errorf("error creating SSH keypair: %w", err)
}
expected.KeyPairFingerPrint = new(key.Fingerprint)
klog.V(2).Infof("Created a new SSH keypair, id=%q fingerprint=%q", key.ID, key.Fingerprint)
return nil
}
type terraformSSHKey struct {
Name *string `cty:"name"`
PublicKey *string `cty:"public_key"`
}View on GitHub (pinned to 4c8573c808)
Solutions
- Check that the resource referenced by expected.PublicKey (file, secret, or generated keypair) exists and is readable
- If the key comes from a secret, verify the secret was created in an earlier task and its dependency is declared
- Inspect the underlying error to see whether it is an auth/path problem on the resource source
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/scalewaytasks/sshkey.go:129 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/28161c1097d1547d.
Report an issue: GitHub.