Skip to content
Snippets Groups Projects
install.txt 2.02 KiB
Newer Older
= Forge installation instructions =

irker and irkerhook.py are intended to be installed on forge sites
such as SourceForge, GitHub, Gitorious, Gna, and Savannah.  This
file explains the theory of operation, how to install the code,
and how to test it.

Eric S. Raymond's avatar
Eric S. Raymond committed
== Installing irker ==

irker needs to run constantly, watching for TCP and UDP traffic on
port 6659.  Install it accordingly.

You should *not* make irker visible from outside the site firewall, as
it can be used to spam IRC channels while masking the source address.

You will need to have Jason Coombs's irc library where Python can see
it.  See <http://pypi.python.org/pypi/irc/>; use version 3.0, not the
older code from SourceForge.

== Installing irkerhook.py ==

irkerhook.py should be called from the post-commit hook of each 
repository.  See its header comment for detailed installation 
instructions.

Eric S. Raymond's avatar
Eric S. Raymond committed
You should set the server and (for Subversion) repository variables
from the command line in your post-commit hook.  The server variable
should be set to the inside-the-firewall host running your irker
instance.

A git invocation line should look something like this:

Eric S. Raymond's avatar
Eric S. Raymond committed
/usr/local/bin/irkerhook.py server=internal.foobar.net

Each project will be able to set its own channel URLs, provided it
has access to its git config file.

A Subversion invocation should look something like this:

REPOSITORY=$1
REV=$2
irkerhook.py repository=$REPOSITORY commit=$REV server=internal.foobar.net

Eric S. Raymond's avatar
Eric S. Raymond committed
Note that unless you supply additional overrides of project= and
channels= in the hook, the basename of the repository will be used as
the project name and will also be used as the IRC channel name on
freenode.  This is not a limitation of irker.irkerhook, but a
result of the absence of a git-config equivalent that the hook can
mine stuff out of.
Eric S. Raymond's avatar
Eric S. Raymond committed
Go to a project repo and call irkerhook.py as indicated above while
watching the freenode #commits channel.
 
== Security considerations ==

See the security.txt document for a detailed discussion of security
and DoS vulnerabilities related to irker.