Skip to content
Snippets Groups Projects
Select Git revision
  • 4b46083ecf71d1b6215c630fb611811dde78cd3a
  • master default protected
2 results

install.txt

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    install.txt 2.24 KiB
    = 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.
    
    == Theory of operation ==
    
    irkerhook.py creates JSON notification requests and ships them to
    irkerd's listener socket.  irkerd run as a daemon in order to maintain
    all the client state required to post multiple notifications while generating
    minimum of join/leave messages (which, from the point of view of
    humans watching irkerd's output, are mere spam).
    
    See the security.txt document for a detailed discussion of security
    and DoS vulnerabilities related to irker.
    
    == Installing irkerd ==
    
    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.
    
    For higher performance, also install the eventlet library from
    <http://pypi.python.org/pypi/eventlet/>.  This merges in a cooperative
    threading implementation that is faster and has much lower space
    overhead than system threads, making irkerd more resistant to
    potential DoS attacks.
    
    The file org.catb.irkerd.plist is a Mac OS/X plist that can be
    installed to launch irkerd as a boot-time service on that system.
    
    == Installing irkerhook.py ==
    
    Under git, a call to irkerhook.py should be installed in the update 
    hook script of your repo.  Under Subversion, the call goes in your
    repo's post-commit script. Under Mercurial there are two different
    ways to install it. See the irkerhook manual page for details.
    
    == Testing ==
    
    To verify that your repo produces well-formed JSON notifications,
    you can run irkerhook.py in the repo directory using the -n switch,
    which emits JSON to standard output rather than attempting to ship
    to an irkerd instance.
    
    Then, start irkerd and call irkerhook.py while watching the freenode
    #commits channel.
    
    If you need help, there's a project chat channel at 
    
       irc://chat.freenode.net/#irker