kubernetes/kops · error

found multiple matching assets for expr: %q

Error message

found multiple matching assets for expr: %q

What it means

FindMatch's regexp matched more than one registered asset, so the requested asset cannot be uniquely resolved; the store contains colliding asset paths.

Source

Thrown at upup/pkg/fi/assetstore.go:136

}

func (a *AssetStore) FindMatch(expr *regexp.Regexp) (name string, res Resource, err error) {
	matches := a.FindMatches(expr)

	switch len(matches) {
	case 0:
		return "", nil, fmt.Errorf("found no matching assets for expr: %q", expr.String())
	case 1:
		var n string
		var r Resource
		for k, v := range matches {
			klog.Infof("Found single matching asset for expr %q: %q", expr.String(), k)
			n = k
			r = v
		}
		return n, r, nil
	default:
		return "", nil, fmt.Errorf("found multiple matching assets for expr: %q", expr.String())
	}
}

func (a *AssetStore) Find(key string, assetPath string) (Resource, error) {
	var matches []*asset
	for _, asset := range a.assets {
		if asset.Key != key {
			continue
		}

		if assetPath != "" {
			if !strings.HasSuffix(asset.AssetPath, assetPath) {
				continue
			}
		}

		matches = append(matches, asset)
	}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Tighten the asset expression to disambiguate between the matching assets
  2. Remove or rename the duplicate asset paths in the bundled assets
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at upup/pkg/fi/assetstore.go:136 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/6cfd062fb88e26de. Report an issue: GitHub.