Skip to main content

Kong Python Plugin Server

Project description

kong-python-pluginserver

PyPI version

Plugin server for Python language support in Kong plugin.

Requires Kong >= 2.0.0.

Install the plugin server

pip3 install kong-pluginserver
# Replace the go-pluginserver with python plugin server
cp /usr/local/bin/kong-pluginserver /usr/local/bin/go-pluginserver

Configure Kong

Add the following line into kong.conf:

plugins=bundled,py-hello,py-image
go_plugins_dir=/your/path/to/python/plugins/dir

For example, to test examples, clone kong-python-pluginserver to /dir1/kong-python-pluginserver and set go_plugins_dir to /dir1/kong-python-pluginserver/examples

Enable the plugin

Same step as it's a Lua plugin.

Notes

  • All PDK API supported by Go Plugin Server is supported.
  • The plugin server is implemented by gevent module for now, thus only one CPU core will be used. If your plugin is CPU-hungry, consider run the plugin instance in a seperate process and implement a piping IPC.
  • Currently you can't run Go plugins and Python plugins at the same time, as Kong only accepts one plugin server socket.

TODO

  • Process per instance
  • Tests
  • Hot reload

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kong-pluginserver, version 0.12
Filename, size File type Python version Upload date Hashes
Filename, size kong_pluginserver-0.12-py2-none-any.whl (10.8 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size kong_pluginserver-0.12-py3-none-any.whl (10.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size kong_pluginserver-0.12.tar.gz (8.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page