This document explores how image relocation should work when bundles are stored in docker/OCI repositories. But first, let's take a look at a simple example of image relocation where the bundle is not stored in a repository. If you aren't familiar with image relocation, read duffle's guide.
Sometimes a bundle "knows" about some (“original”) image references. For example, a bundle may contain kubernetes resource files (i.e. YAML) referring to specific images. After image relocation, typically to a private registry, the invocation image needs to be able to substitute the relocated image references for the original image references.
Let's take a simple example. Suppose bundle A declares a single image in addition to an invocation image: