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
- Tighten the asset expression to disambiguate between the matching assets
- 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.