Making an API Extension
See the new plugin guide here: plugin-dev
Walkthroughs
Get the sample code
Get the sample code
Read the api docs for information about how plugins work
Buiding & Running
Typically, plugins are placed into the plugins
directory. These will be included in backups.
Copy the API sample
cp -R ../api_sample_plugin my_plugin
cd my_plugin
docker compose build
export SUPERDIR=/home/spr/super/ #path where super is
docker compose up
API Calls
The plugin can export API extensions over a unix socket to the API. Configuration can be set by updating
configs/base/api.json
and adding a new entry to the Plugins
list
{
"Name": "my_plugin",
"URI": "my_plugin"",
"UnixPath": "/state/plugins/my_plugin/socket",
"Enabled": true,
"Plus": false,
"GitURL": "",
"ComposeFilePath": ""
},
or by updating the UI
Configuring the plugin to auto-start
In an upcoming release, this mechanism will be streamlined for advanced users.
For now, SPR does not allow arbitrary containers to be configured for auto-start from the UI alone.
Update the configs/base/custom_compose_paths.json
to add the plugin. It is expected
to be relative from the super/
directory, for example plugins/my_plugin/docker-compose.yml
SPRBus notes
SPRBus is our event bus where the API can send events. The sample includes commented code for how to use it.