kubernetes/kops · error
found no matching assets for expr: %q
Error message
found no matching assets for expr: %q
What it means
AssetStore.FindMatch ran the regexp over every registered asset and got zero hits — the requested asset was never added to the store (wrong key in the spec, or the file is missing from the kops binary/image assets).
Source
Thrown at upup/pkg/fi/assetstore.go:125
matches := make(map[string]Resource)
klog.Infof("Matching assets for %q:", expr.String())
for _, a := range a.assets {
if expr.MatchString(a.AssetPath) {
klog.Infof(" %s", a.AssetPath)
matches[a.Key] = &assetResource{Asset: a}
}
}
return matches
}
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 {View on GitHub (pinned to 4c8573c808)
Solutions
- Check the asset expression/key against the files actually bundled with your kops build
- Rebuild or reinstall kOps so the expected asset files are embedded
- Fix the referencing spec field so it names an asset that exists
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at upup/pkg/fi/assetstore.go:125 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/cb506416921e3de6.
Report an issue: GitHub.