crowdsecurity/crowdsec · error
only one 'since' parameters is required, not many
Error message
only one 'since' parameters is required, not many
What it means
DSN validation in docker ConfigureByDSN: the since query parameter (lower bound of docker logs --since) is repeated. Exactly one value is accepted since it maps to a single containerLogsOptions.Since.
Source
Thrown at pkg/acquisition/modules/docker/config.go:262
for k, v := range parameters {
switch k {
case "log_level":
if len(v) != 1 {
return errors.New("only one 'log_level' parameters is required, not many")
}
lvl, err := log.ParseLevel(v[0])
if err != nil {
return fmt.Errorf("unknown level %s: %w", v[0], err)
}
d.logger.Logger.SetLevel(lvl)
case "until":
if len(v) != 1 {
return errors.New("only one 'until' parameters is required, not many")
}
d.containerLogsOptions.Until = v[0]
case "since":
if len(v) != 1 {
return errors.New("only one 'since' parameters is required, not many")
}
d.containerLogsOptions.Since = v[0]
case "follow_stdout":
if len(v) != 1 {
return errors.New("only one 'follow_stdout' parameters is required, not many")
}
followStdout, err := strconv.ParseBool(v[0])
if err != nil {
return fmt.Errorf("parsing 'follow_stdout' parameters: %s", err)
}
d.Config.FollowStdout = followStdout
d.containerLogsOptions.ShowStdout = followStdout
case "follow_stderr":
if len(v) != 1 {
return errors.New("only one 'follow_stderr' parameters is required, not many")
}
followStdErr, err := strconv.ParseBool(v[0])
if err != nil {View on GitHub (pinned to 909b515798)
Solutions
- Provide since=... exactly once
- Use ISO timestamps or docker-accepted durations like since=24h
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/acquisition/modules/docker/config.go:262 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of crowdsecurity/crowdsec@909b515798 (2026-09-06).
Data as JSON: /api/errors/7e9f4ca5739a5f03.
Report an issue: GitHub.