Managing capability providers is nearly as easy as managing actors. The only real difference is that capability providers often make demands on their hosts, and so you may find yourself performing more host auctions when scheduling providers than actors.
Launching a Provider
Launching a provider is quite easy. On the logic view, simply click the
Provider+ button in the tool palette on the top left of the canvas. You will be asked to fill out a dialog box like the one below:
|Launch Provider Dialog|
The first thing you need to supply is the OCI reference URL. This is the publicly-accessible URL of the artifact as stored in a registry such as GitHub or Azure. In the example above, we're going to launch the wormhole-compatible web server provider from the OCI reference
cosmonic.azurecr.io/httpserver_wormhole:0.3.0. Note that this particular provider only works within Cosmonic infrastructure.
For a list of fully supported open source providers, check out this GitHub repository.
Selecting a Host
Selecting a target host for a capability provider involves the same auction process as actors. Supply a list of required key-value pairs, click Find Host and Cosmonic will hold an auction among all hosts, returning to you a list of only those hosts that meet your criteria. Since you can control the labels for every host you start, and the labels you use for auctions, you have nearly unlimited flexibility when using this feature.
Terminating a Provider
Terminating a provider is quite easy. Simply select the capability provider element on the constellation canvas and click the
Terminate Provider button in the details panel that appears on the right-hand side.
The link definitions for this capability provider will not be removed. Link definitions exist as first-class citizens, cached and replicated throughout a constellation. When the provider starts the next time, it will automatically provision whatever resources are necessary to support the existing link definitions.