A tool for creating pluggable web-processes for deployment

deployment, packaging
pip install plug==0.1.3



Plug is a tool to automate packaging and installation of Python daemons including Python dependencies in the package. It grew out of my use of Supervisor and the problems of managing large numbers of processe.


Use pip!

pip install plug

Creating a Plug

To create a plug you create a config file with minimal information then run

plug create {package_name}

The config file looks something like:

[server1] command=bin/python -m SimpleHTTPServer 8001 user=plug_user

You will be left with a plug:


Installing a Plug

Once you put this on your system you can run

plug install {package_name}.server1.plug

This will create a new virtualenv in /srv/plug ready to be setup as a daemon. To have runit start the process you run:

plug setup {package_name}.server1.plug

Optionally with the argument --number to setup multiple daemons from that package. The number causes multiple links to be created in /etc/sv and /etc/srv.

Uninstalling a Plug

To uninstall the plug use the uninstall command

plug uninstall {package_name}.server1.plug

This will also remove the links for runit.

Other Commands

Other commands included are list and status which will list all plugs installed and the runit status of each daemon instance.