org.kill-bill.billing.plugin.ruby:kpm-plugin

Kill Bill KPM plugin


License
Apache-2.0

Documentation

killbill-kpm-plugin

Plugin to enable plugin management at runtime.

Release builds are available on Maven Central with coordinates org.kill-bill.billing.plugin.ruby:kpm-plugin.

Kill Bill compatibility

KPM plugin version Kill Bill version
0.0.y 0.16.z
1.x.y 0.18.z
1.2.y 0.19.z
1.3.y 0.20.z

Usage

The plugin also offers private APIs:

Lookup plugins

All plugins:

curl -v \
     -u admin:password \
     http://127.0.0.1:8080/plugins/killbill-kpm/plugins

Specific plugin:

curl -v \
     -u admin:password \
     http://127.0.0.1:8080/plugins/killbill-kpm/plugins?name=stripe

Plugin Management

Note that in a multi-nodes deployment, these commands would have to be run on each node. We also provide Kill Bill apis to manage plugins that work across multi-nodes installation, but they do not allow uploading a plugin binary (e.g: jarfile), so those commands are still very useful in the context of doing plugin development.

Upload a plugin:

curl -v \
     -X POST \
     -u admin:password \
     -H 'Content-Type: application/json' \
     -d @/path/to/myplugin.jar \
     'http://127.0.0.1:8080/plugins/killbill-kpm/plugins?filename=myplugin.jar&key=myplugin&version=0.2.5'

Uninstall a plugin

curl -v \
     -X DELETE \
     -u admin:password \
     'http://127.0.0.1:8080/plugins/killbill-kpm/plugins?key=myplugin&version=0.2.5'

Restart a plugin

curl -v \
     -X PUT \
     -u admin:password \
     'http://127.0.0.1:8080/plugins/killbill-kpm/plugins?key=myplugin&version=0.2.5'