in pkg/discovery/content/provider/provider.go [106:126]
func provideRef(ctx context.Context, l zerolog.Logger, containerdStore containerd.Store, router routing.Router, ref containerd.Reference) (int, error) {
keys := []string{}
keys = append(keys, ref.Digest().String())
if ref.Tag() != "" {
keys = append(keys, ref.String())
}
dgsts, err := containerdStore.All(ctx, ref)
if err != nil {
l.Error().Err(err).Str("image", ref.Name()).Str("digest", ref.Digest().String()).Msg("could not get digests for image")
} else {
keys = append(keys, dgsts...)
}
err = router.Provide(ctx, keys)
if err != nil {
return 0, fmt.Errorf("could not advertise image %v: %w", ref, err)
}
return len(keys), nil
}