grafana/k6 · error
status code %d: %w
Error message
status code %d: %w
What it means
urlSecrets.Get requires HTTP 200 from the secret server; any other status wraps errFailedToGetSecret with the actual status code here. The response body will not be used as a secret and the failure may be retried until attempts are exhausted.
Source
Thrown at internal/secretsource/url/url.go:194
req, err := http.NewRequestWithContext(ctx, us.config.Method.String, url, nil)
if err != nil {
return fmt.Errorf("failed to create request: %w", err), true
}
// Add headers
for k, v := range us.config.Headers {
req.Header.Set(k, v)
}
response, err := us.httpClient.Do(req) //nolint:gosec
if err != nil {
// Network errors are retryable
return fmt.Errorf("failed to get secret: %w", err), true
}
defer func() { _ = response.Body.Close() }()
if response.StatusCode != http.StatusOK {
statusErr := fmt.Errorf("status code %d: %w", response.StatusCode, errFailedToGetSecret)
// Retry on server errors (5xx) and rate limiting (429)
// Don't retry on client errors (4xx except 429)
retryable := response.StatusCode >= 500 || response.StatusCode == http.StatusTooManyRequests
return statusErr, retryable
}
// Extract secret value from response
extractedSecret, err := extractSecretFromResponse(response.Body, us.config.ResponsePath.String)
if err != nil {
// Extraction errors are not retryable (indicates config issue)
return fmt.Errorf("failed to extract secret: %w", err), false
}
secret = extractedSecret
return nil, false
})
if err != nil {View on GitHub (pinned to 01ffac6f24)
Solutions
- For 401/403, fix the Authorization header or token configuration
- For 404, verify the secret key and URL template are correct
- For 429/5xx the source retries automatically — check service health and rate limits
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at internal/secretsource/url/url.go:194 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/ad01c38b49c3bbc3.
Report an issue: GitHub.