Meshery offers Providers as a point of extensibility. With a built-in Local Provider (named “None”), Meshery Remote Providers are designed to be pluggable. Remote Providers offer points of extension to users / integrators to deliver enhanced functionality, using Meshery as a platform.

A Meshery provider can be selected through the UI at the ‘/provider’ endpoint which added the ability to enforce the selection of a specific provider through an environment variable allowing the enforcement of a provider through the meshconfig.

The CLI command `mesheryctl system provider` would enable users to enforce a specific provider for a Meshery deployment without having to manually change the meshconfig or set an environment variable.

What Meshery System Provider Enables:

  1. Enforcing a provider for a Meshery deployment
  2. Perform the following actions with providers
    1. view current provider
    2. list available providers
    3. set provider to be enforced
    4. set provider to be enforced and apply changes
    5. reset provider to default

Subcommands with the specific functions:

mesheryctl system provider [view|list|set [provider]|switch [provider] prvider reset] Copy to clipboard

This command will enforces provider used by Meshery mesheryctl system provider

FAQs

What is the difference between the ‘switch’ and ‘set’ commands ?

  • The ‘set’ command sets the provider of the context in focus in the meshconfig. The change will be reflected only when Meshery is redeployed.
  • The ‘switch’ command sets the provider of the context in focus in the meshconfig and asks for permission to redeploy Meshery immediately.
  • The reason for having both a ‘set’ and a ‘switch’ is to maintain consistency with the `mesheryctl system channel` which has both a ‘set’ and a ‘switch’ with the above functionality.

What is the ‘reset’ command for ?

The ‘reset’ command can be used to reset the provider value of context in focus in the meshconfig to the default after having used the ‘set’ or ‘switch’ commands. The change will be reflected only when Meshery is redeployed. Currently the default provider field is empty i.e. no provider is enforced by default.

mesheryctl system provider reset. If you don’t have mesheryctl installed, you can install it by following the instructions in the Meshery documentation.

Why does the ‘set’ command have a ‘–-force’ flag ?

The set command uses the '/api/providers’ endpoint of the Meshery server to verify whether a valid provider is being set. If the endpoint is inaccessible due to the Meshery server not running or the provider passed to the command is invalid, then the provider is not set in the meshconfig. To override this behavior the ‘--force’ flag can be used.