InedoSDK Documentation

Hosting a Private Extensions Feed

  • Last Modified: 2019-07-18

Typical usage of an Inedo product does not require additional configuration to connect with the Inedo Den that serves extensions for our products. What you may not realize is that extensions are served using a Universal Feed.

Because of this, Inedo product administrators can host their own "extension gallery" simply by creating a Universal Feed within ProGet, optionally adding a connector to the Inedo Den https://inedo.com/den/feed, and updating the Extensions.UpdateFeedUrl setting in the Inedo product as desired.

Why Host a Private Extensions Feed?

There are a few benefits to hosting your own extension gallery:

  • People in your own organization could create and upload extensions to it
  • Extensions in target products could still be updated even without an internet connection
  • Inedo extensions could be curated by allowing only "approved" packages
  • Multiple extension feeds could be combined in a single one with multiple connectors

Creating the Private Feed

To create a private extensions feed in ProGet, select Feeds > Create New Feed, enter whatever feed name you would like, we used CustomExtensions, and click Create:

Creating Private Feed

Adding a Connector to the Inedo Den

Once the feed is created, we will add a connector. From the Manage Feed page, select Feed Connectors > Add Connector > Create Connector to establish a connection to the Inedo Den:

Add Connector to Den

Click Save on the following screen to associate the newly created connector to inedo.com with the CustomExtensions feed.

At this point, we can see the extension packages on the feed page:

CustomExtensions Feed

Configuring an Inedo Product to use the Private Feed

To point to the custom extension feed, we must set the Extensions.UpdateFeedUrl advanced configuration value to the endpoint URL of the feed:

Endpoint URL

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.

Generated from commit 34059de8 on master