kubernetes/kops · error
error parsing config: %s
Error message
error parsing config: %s
What it means
After the editor round-trip, RunEditCluster decodes the edited bytes with the kops codecs; this fires when the edited YAML/JSON no longer parses into a known kops object. The edited temp file is preserved and the error is surfaced in the next edit round's header.
Source
Thrown at cmd/kops/edit_cluster.go:204
if bytes.Equal(stripComments(raw), stripComments(edited)) {
try.RemoveFile(file)
fmt.Fprintln(out, "Edit cancelled: no changes made.")
return nil
}
lines, err := hasLines(bytes.NewBuffer(edited))
if err != nil {
return preservedFile(err, file, out)
}
if !lines {
try.RemoveFile(file)
fmt.Fprintln(out, "Edit cancelled: saved file was empty.")
return nil
}
newObj, _, err := kopscodecs.Decode(edited, nil)
if err != nil {
return preservedFile(fmt.Errorf("error parsing config: %s", err), file, out)
}
newCluster, ok := newObj.(*api.Cluster)
if !ok {
results = editResults{
file: file,
}
results.header.addError(fmt.Sprintf("object was not of expected type: %T", newObj))
containsError = true
continue
}
extraFields, err := edit.HasExtraFields(string(edited))
if err != nil {
results = editResults{
file: file,
}
results.header.addError(fmt.Sprintf("error checking for extra fields: %v", err))View on GitHub (pinned to 4c8573c808)
Solutions
- Fix the YAML syntax or apiVersion/kind in the preserved edit file
- Ensure the document is a valid Cluster object
- Avoid changing apiVersion/kind when editing
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cmd/kops/edit_cluster.go:204 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/1d30143cdb4ba36f.
Report an issue: GitHub.