Skip to main content

Managing Providers

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 logical 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
Launch a Provider

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-compliant 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 and click Find Host and Cosmonic will hold an auction among all hosts and return 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 side.

info

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.