Managing external plugins

MicroStack has support for externally contributed plugins.

External plugins are managed via their software repositories, where a single repository can potentially contain multiple plugins.

Add a repository

Add a repository with the repo add command. The name you give to it will be associated with a repository URL and a Git branch. All subsequent repository management commands will make use of that name.

To add a repository:

sunbeam repo add --name <repo-name> --repo <github url> --branch <git branch>

For example:

sunbeam repo add --name test --repo https://github.com/hemanthnakkina/sunbeam-plugins --branch main

Output for the above command:

External plugin repo test added.

Update a repository

Update a previously added repository with the repo update command:

sunbeam repo update --name <repo-name>

For example:

sunbeam repo update --name test

Output for the above command:

External plugin repo test updated.

Remove a repository

Remove a repository with the repo remove command:

sunbeam repo remove --name <repo-name>

For example:

sunbeam repo remove --name test

Output for the above command:

External plugin repo test removed.

List repositories

Current repositories can be listed with the repo list command. Its syntax is:

sunbeam repo list [--plugins] [--include-core] --format <table|yaml>

Option definitions:

  • --plugins: include the plugin names
  • --include-core: include the core plugins
  • --format: display the output in tabular or YAML format

Sample output in table format with all options enabled.

List of repos:

Name      | Repo path                                              | Repo Branch
--------- | -----------------------------------------------------  | ----------------
test      | https://github.com/hemanthnakkina/sunbeam-plugins      | main

Core plugins:

Name      | Description
--------- | ----------------------------------------
pro       | Ubuntu pro plugin
repo      | External Plugin repo management
vault     | Vault plugin
heat      | Plugin for OpenStack Heat
cos       | COS Plugin

Plugins in repo test:

Name      | Description
--------- | ----------------------------------------
telemetry | Telemetry plugin