grafana/k6 · error

missing or invalid config: %w

Error message

missing or invalid config: %w

What it means

Constructing the URL secret source failed at its configuration step: getConfig could not build the config from the argument string, config file, or environment. New wraps the cause as a missing/invalid config sentinel-style message.

Source

Thrown at internal/secretsource/url/url.go:136

	}

	if cfg.RetryBackoff.Valid {
		result.RetryBackoff = cfg.RetryBackoff
	}

	return result
}

//nolint:gochecknoinits // This is how k6 secret source registration works.
func init() {
	secretsource.RegisterExtension("url", New)
}

// New creates a URL secret source. Exported for direct use by the cloud source.
func New(params secretsource.Params) (secretsource.Source, error) {
	config, err := getConfig(params.ConfigArgument, params.FS, params.Environment)
	if err != nil {
		return nil, fmt.Errorf("missing or invalid config: %w", err)
	}

	return &urlSecrets{
		config: config,
		httpClient: &http.Client{
			Timeout: time.Duration(config.Timeout.Duration),
		},
		limiter: newLimiter(int(config.RequestsPerMinuteLimit.Int64), int(config.RequestsBurst.Int64)),
		logger:  params.Logger,
	}, nil
}

type urlSecrets struct {
	config     extConfig
	httpClient *http.Client
	limiter    limiter
	logger     logrus.FieldLogger
}

View on GitHub (pinned to 01ffac6f24)

Solutions

  1. Inspect the wrapped error for the exact config problem
  2. Ensure the url secret source argument uses key=value pairs and includes a valid urlTemplate with {key}
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at internal/secretsource/url/url.go:136 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/c3085b30b5a52b56. Report an issue: GitHub.