Search documentation
karat

+

K

Mirrored Artifact Registries

It is unlikely that you will need to use Mirrored Registries, except under specific circumstances. Review this section carefully to ensure correct usage.

Apollo supports the ability to define Mirrored Registries, which tell Apollo that an Artifact Registry that is defined "mirrors" another registry. Any time Apollo needs to pull a container from the Mirrored Registry, it will instead pull the container from the defined Artifact Registry.

Setting the same Mirrored Registry on multiple Artifact Registries is allowed, but this is undefined behavior. A single Artifact Registry will be chosen from the overlapping Artifact Registries.

Example use case

Consider the following scenario to understand the use case for Mirrored Registries:

  • You have an internal OCI registry accessible only from within your organization's network, say internal.registry.com. This hosts all your container images that get deployed to your own infrastructure via a Helm chart.
  • This Helm chart explicitly sets internal.registry.com as the registry from which to pull images.
  • You do not want to expose this internal registry to Apollo, so you create another OCI registry external.registry.com. This external registry is exposed to Apollo, and contains the Helm chart and necessary container images for Apollo to deploy to your Environments.
  • You create a Product in Apollo that uses the Helm chart external.registry.com/charts/foo/bar:1.0.0.

In this scenario, you would want to create the following Artifact Registry:

Example Mirrored Artifact Registry, with the URL being external.registry.com and the Mirrored Registry being internal.registry.com

Now, your Helm chart external.registry.com/charts/foo/bar:1.0.0 will be pulled from the external.registry.com OCI registry. When you install this Helm chart that references the container image internal.registry.com/foo/bar:1.0.0 into an Environment, Apollo will instead pull the image from the external.registry.com Artifact Registry.