Story #5091

Updated by bmbouter about 2 years ago

h3. Problem

To allow remote storage and serving of Pulp content it would be great if an exporter would rsync content to a remote location.

h3. Design

In Pulp3 an 'exporter' can send content out of a Pulp system. An exporter named RsyncExporter RsyncDistributor should be created that takes the most important option that rsync accepts. Additionally the RsyncExporter RsyncDistributor takes either a 'repository' or 'repository_version' but not both. If 'repository' it will publish the latest repository_version.

TBD: which fields specifically?

h3. Implementation

Internally it will write the entire repository to a temporary area on-disk and then shell out to rsync. Other ports of rsync-like functionality to Python I don't believe contain the optimization and stability of rsync itself.

h3. On Demand Content

This feature does not work for on-demand content because the content must be present locally for rsync to ship it to the remote system.