grafana/k6 · error
parsing %q, needs =
Error message
parsing %q, needs =
What it means
A line in the secrets file passed to the 'file' secret source (K6_SECRET_SOURCE=file:<path>) does not contain an '=' separator, so key and value cannot be split. The whole extension initialization aborts on the first malformed line.
Source
Thrown at internal/secretsource/file/file.go:32
secretsource.RegisterExtension("file", func(params secretsource.Params) (secretsource.Source, error) {
fss := &fileSecretSource{}
err := fss.parseArg(params.ConfigArgument)
if err != nil {
return nil, err
}
f, err := params.FS.Open(fss.filename)
if err != nil {
return nil, err
}
scanner := bufio.NewScanner(f)
fss.internal = make(map[string]string)
for scanner.Scan() {
line := scanner.Text()
k, v, ok := strings.Cut(line, "=")
if !ok {
return nil, fmt.Errorf("parsing %q, needs =", line)
}
fss.internal[k] = v
}
return fss, nil
})
}
func (fss *fileSecretSource) parseArg(config string) error {
list := strings.Split(config, ",")
if len(list) >= 1 {
for _, kv := range list {
k, v, ok := strings.Cut(kv, "=")
if !ok {
fss.filename = kv
continue
}
switch k {View on GitHub (pinned to 01ffac6f24)
Solutions
- Add '=' to every line, e.g. MY_SECRET=value
- Remove blank or malformed lines from the secrets file
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/secretsource/file/file.go:32 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of grafana/k6@01ffac6f24 (2026-08-18).
Data as JSON: /api/errors/06a149d5cd5fd394.
Report an issue: GitHub.