diff --git a/pkg/registry/apis/provisioning/jobs/sync/worker.go b/pkg/registry/apis/provisioning/jobs/sync/worker.go index beaf67848c0..3128e397bd9 100644 --- a/pkg/registry/apis/provisioning/jobs/sync/worker.go +++ b/pkg/registry/apis/provisioning/jobs/sync/worker.go @@ -379,8 +379,12 @@ func (r *syncJob) deleteObject(ctx context.Context, path string, ref string) job return result } - // Find the referenced file - objName, _ := resources.NamesFromHashedRepoPath(r.repository.Config().Name, path) + objName := obj.GetName() + if objName == "" { + // Find the referenced file + objName, _ = resources.NamesFromHashedRepoPath(r.repository.Config().Name, path) + } + result.Name = objName result.Resource = gvk.Kind result.Group = gvk.Group diff --git a/pkg/registry/apis/provisioning/resources/parser.go b/pkg/registry/apis/provisioning/resources/parser.go index 52147acddec..201ea39f0d3 100644 --- a/pkg/registry/apis/provisioning/resources/parser.go +++ b/pkg/registry/apis/provisioning/resources/parser.go @@ -161,7 +161,9 @@ func (r *Parser) Parse(ctx context.Context, info *repository.FileInfo, validate }) objName, folderName := NamesFromHashedRepoPath(cfg.Name, info.Path) - obj.SetName(objName) + if obj.GetName() == "" { + obj.SetName(objName) // use the name saved in config + } obj.SetUID("") // clear identifiers obj.SetResourceVersion("") // clear identifiers parsed.Meta.SetFolder(folderName)