---
# System prepended metadata

title: Imgpkg with relative links

---

# Imgpkg with relative links

Today imgpkg works with absolute image references. For example, this would be a valid bundle:

```mermaid
flowchart LR;
repository("my/repo@sha256:repo")
bundle1("my/package@sha256:abc")
bundle2("gcr.io/other/package@sha256:cba")
app1("my/app@sha256:bca")
app2("ecs.io/other/app@sha256:acb")

repository-->bundle1
repository-->bundle2
bundle1-->app1
bundle2-->app2
```

When an `imgpkg copy` to `private.repo/repo` is done, it would result in:

```mermaid
flowchart LR;
repository("private.repo/repo@sha256:repo")
bundle1("private.repo/repo@sha256:abc")
bundle2("private.repo/repo@sha256:cba")
app1("private.repo/repo@sha256:bca")
app2("private.repo/repo@sha256:acb")
il1("private.repo/repo:sha256-repo.image-locations.imgpkg")
il2("private.repo/repo:sha256-abc.image-locations.imgpkg")
il3("private.repo/repo:sha256-cba.image-locations.imgpkg")

repository-->bundle1
repository-->bundle2
bundle1-->app1
bundle2-->app2
repository-->il1
bundle1-->il2
bundle2-->il3
```

All of the imgpkg bundles now come with an additional `image-locations` image, which serve to tell imgpkg that this bundle's images have been relocated