MicroStack has support for externally contributed plugins.
External plugins are managed via their software repositories, where a single repository can potentially contain multiple plugins.
Note: This feature is currently only supported in channel 2023.1/edge
of the openstack snap.
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