= 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. == 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 ; 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. 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: /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 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. == Testing == 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.