ProGet Documentation

Connectors in ProGet

Connectors allow ProGet feeds to include packages from an external source, whether it is another ProGet feed or any other implementer of the package API for the feed type.

For example, a NuGet feed may include a connector to the official repository at nuget.org, which will make all of nuget.org's packages available from that feed. A connector can even refer to another feed within the same instance of ProGet; this is sometimes useful for limiting access.

ProGet will periodically check the health of each connector and report on the approximate number of packages in the external source.

Connectors Health

Note: Packages accessed through connectors will appear as if they are ordinary packages contained on the ProGet server to most 3rd party tools. Within the ProGet web interface, connector packages are displayed with a small overlay icon to indicate that they are external. A connector package can be pulled to ProGet, which will cause the package to be downloaded and stored on the ProGet server.

Connector Caching

ProGet provides two types of connector caching: packages and metadata.

Package Caching is configured at the feed level, and when enabled, saves a copy of every connector package that is downloaded in the associated feed. The package will still appear as a connector package in the UI, but it will be available even if the external package source is unreachable. Package caching is enabled by default and is included in all editions of ProGet.

Metadata Caching is configured at the connector level, and stores responses of recently-used queries to the connector's source. For example, a tool may query a ProGet feed for the latest version of a package, so ProGet must then query each of the feed's connectors for the latest versions. With metadata caching enabled, this can significantly increase performance, at the cost of potentially stale queries. Metadata caching requires ProGet Basic or Enterprise.

Connector Filters

Connector filters allow for simple wildcard include/exclude lists to be applied to all connector packages. Filters always refer to the package's unique name/ID, and multiple filters may be entered one-per-line. A filter starting with a ! is an exclude filter, while all others are include filters.

Connectors Health

Note: Filter lists should be kept simple to avoid performance issues. To maintain a set of curated packages, consider using Package Promotion with multiple feeds instead.