Search documentation
karat

+

K

Export and Import

Core concepts

  • Source Hub: An Apollo Hub that transfers Product catalog data, images, and configurations to a Target Hub. Source Hubs can also act as a Target Hub.
  • Target Hub: An Apollo Hub that receives Product catalog data, images, and configurations from a Source Hub. Target Hubs can also act as Source Hubs.
  • Bundle: The compressed package of new updates for a Target Hub.
  • Export Pipeline: A collection of resources to export from a Source Hub.

Overview

Apollo provides a seamless way to deploy software in environments that lack network access or connectivity to your source Apollo Hub. By managing the source of truth for software catalog, and configurations in a Source Hub accessible to most users, it eliminates the need to solely rely on users with access to the Target Hub. This allows developers, operators, and other Apollo users to have a unified view for configuring, managing, and monitoring deployment of software across various network boundaries.

To achieve this, designate a Target Hub from another Apollo Hub, which will act as the Source Hub. The Source Hub will serve as the source of truth for some or all Product Release information for the Target Hub.

Changes are initially made in the Source Hub, which is configured to be the source of truth, and then transferred to the Target Hub. For instance, a Release should first be created in the Source Hub.

Export Pipelines

An Export Pipeline in Apollo defines a collection of resources to export from a Source Hub as a Bundle. The Export Pipeline defines how frequently Bundles should be built and also allows for manual builds.

Export Pipelines provide flexibility in choosing what data to export from a Source Hub. For example, you can create an Export Pipeline to support specific incident response teams, where you only export Releases and associated resources required for remediation. You can also set up Export Pipelines that export all new updates since previous builds based on a Module.

Bundles built from Export Pipelines can be imported to any Apollo Hub. In the example above, you can export a Bundle from the incident response Export Pipeline and import it to all Target Hubs that are affected by the incident.

Learn more about creating Export Pipelines.

Bundle contents

In the Source Hub, Apollo builds a package, called a "Bundle". You can define a Bundle's contents by configuring an Export Pipeline with one or more data selection rules. A Bundle can contain:

  • Product Releases in the Source Hub's Product catalog. This also includes Product Release metadata, such as which Release Channels they belong to, whether they are part of a Module, or whether they have been recalled.
  • The minimal set of images necessary to upgrade Entities in the Target Hub to the latest Release versions on the appropriate Release Channels.

Learn more about exporting and importing Bundles.

Architecture

The following diagram outlines the Bundle transfer process from a Source Hub to a Target Hub.

Diagram that depicts the Bundle transfer process between the source Apollo Hub and the Target Hub.

From the Source Hub:

  1. The export process is triggered either manually or by an Export Pipeline schedule.
  2. Apollo retrieves information on which Releases need to be updated based on the data selection rules for the Export Pipeline.
  3. If Apollo has access to your artifact store, it uses this information to pull the correct artifacts from your artifact store, and additionally compress the artifacts so that the resulting Bundle is as small as possible. If Apollo does not have access to your artifact store, only metadata will be bundled, and it becomes your organization's responsibility to ensure that the images are delivered to the Target Hub's artifact store.
  4. Apollo then packages up everything in a Bundle that you can export.

From the Target Hub:

  1. Import the Bundle to the Target Hub using the proper transfer process for the environment.
  2. Apollo uses the difference between new and existing Release metadata to reassemble the Release images and publish them to the artifact store located in the Target Hub's environment.

Once this process is completed, the Target Hub will proceed to issue Plans for upgrades, Release recalls, configuration changes, and all other maintenance actions after all the relevant constraints have been met.