getsops/sops · error
Binary files are not structured and extracting a single valu
Error message
Binary files are not structured and extracting a single value is not possible
What it means
Error "Binary files are not structured and extracting a single value is not possible" thrown in getsops/sops.
Source
Thrown at stores/json/store.go:96
return nil, fmt.Errorf("%w: there must be exactly one tree branch", BinaryStoreEmitPlainError)
}
// JSON stores a single object per file
for _, item := range in[0] {
if item.Key == "data" {
if value, ok := item.Value.(string); ok {
return []byte(value), nil
} else {
return nil, fmt.Errorf("%w: 'data' key in tree does not have a string value", BinaryStoreEmitPlainError)
}
}
}
return nil, fmt.Errorf("%w: no binary data found in tree", BinaryStoreEmitPlainError)
}
// EmitValue extracts a value from a generic interface{} object representing a structured set
// of binary files
func (store BinaryStore) EmitValue(v interface{}) ([]byte, error) {
return nil, fmt.Errorf("Binary files are not structured and extracting a single value is not possible")
}
// EmitExample returns the example's plaintext json file bytes
func (store BinaryStore) EmitExample() []byte {
return []byte("Welcome to SOPS! Edit this file as you please!")
}
func (store Store) sliceFromJSONDecoder(dec *json.Decoder) ([]interface{}, error) {
var slice []interface{}
for {
t, err := dec.Token()
if err != nil {
return slice, err
}
if delim, ok := t.(json.Delim); ok && delim.String() == "]" {
return slice, nil
} else if ok && delim.String() == "{" {
item, err := store.treeBranchFromJSONDecoder(dec)View on GitHub (pinned to 13442bb981)
When it happens
Trigger: Thrown at stores/json/store.go:96 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of getsops/sops@13442bb981 (2026-09-01).
Data as JSON: /api/errors/0535dd3304499b42.
Report an issue: GitHub.