Feed Replication (v6 and Earlier)
  • 22 Mar 2023
  • 2 Minutes to read
  • Dark
    Light
  • PDF

Feed Replication (v6 and Earlier)

  • Dark
    Light
  • PDF

Article Summary

The ProGet v2022 replication feature has an updated user experience and is available as a preview feature in ProGet v6.0.11+. The concepts are mostly the same as in previous versions, and this documentation will clarify the differences.

In ProGet v6 and earlier, feed replication is configured on the feed management page for each feed individually and requires the Manage Feed permission. A feed can be configured for incoming replication requests, outgoing replication requests, or both in advanced scenarios.

Source URL:

The source URL is the endpoint displayed by the feeds configured for outbound replication and must be specified in the inbound replication configuration.

Sync Tokens:

Configuring a feed for incoming replication requires adding/generating a sync token, which must be specified along with the source URL when configuring outgoing replication. The sync token should be treated as a secret as it allows outgoing replication to connect to the feed.

Outgoing Replication

An outgoing replication feed is a ProGet feed configured to connect to incoming replication feed in another ProGet instance. Outgoing replication feeds are able to:

  • Pull - the local feed brings in changes (e.g., newly pushed packages, deleted packages, etc.) from a replication server feed
  • Push - the local feed passes changes to an incoming replication feed
  • Mirror - the local feed both pushes and pulls changes to AND from an incoming replication feed

Options:

  • Disabled - the feed will not query any incoming replication feeds for changes
  • Apply only external changes to local feed (pull only) - the feed will query an incoming replication feed for changes and pull only changes without affecting the incoming replication feed
  • Apply local changes only to external feed (push-only)- the feed queries an incoming replication feed for changes and only pushes them without affecting the local feed
  • Mirror external feed - the feed queries an incoming replication feed for changes, applies the changes locally, and then pushes any local changes to the incoming replication feed so that the feeds in both are identical

Note: Prior to ProGet v5.2, the equivalent setting for a replication client was "Replicate from external feed".

Incoming Replication

An incoming replication feed is a ProGet feed configured to allow outgoing replication feeds to connect to it and respond with a feed status. Once the feed status has been processed by the outgoing replication feed, packages can be downloaded, installed, or deleted from the incoming replication feed, depending on the configuration.

Options:

  • Disabled - outgoing replication feeds are not allowed to connect to the feed
  • Allow external feeds to replicate from this feed (read-only) - outgoing replication feeds are allowed to connect to the feed, pull changes, but not push back changes
  • Local feeds may be modified by external feeds (read/write access)- outgoing replication feeds may connect to, pull changes from, and push changes to the feed

Note: Prior to ProGet v5.2, the appropriate setting for a replication server was "Allow other feeds to replicate with it".

Valid Configurations

The following table describes the possible configurations (outgoing replication configuration per column, incoming replication configuration per row):

DisabledPull-onlyPush-onlyMirror
Disabled-InvalidInvalidInvalid
Read-only-ValidInvalidWarning
Read/Write-ValidValidValid

Invalid configurations are logged from the outgoing replication feed in the appropriate execution logs and from the incoming replication feed in Diagnostic Center.


Was this article helpful?