public
Description: The goal of Trixx is to build an administration and monitoring tool for RabbitMQ.
Homepage: leftrightfold.com
Clone URL: git://github.com/aaronfeng/trixx.git
trixx /
name age message
file .gitignore Thu Jul 16 17:44:30 -0700 2009 ignoring the trixx-web log files [aaronfeng]
file LICENSE Tue May 19 08:11:59 -0700 2009 init commit [aaronfeng]
file README Sun Jul 19 17:13:04 -0700 2009 added POST vhost [aaronfeng]
file build.xml Thu Jul 16 17:41:50 -0700 2009 updated the build file to run trixx-web from root [aaronfeng]
directory contrib/ Tue May 19 08:11:59 -0700 2009 init commit [aaronfeng]
directory src/ Mon Oct 26 07:50:49 -0700 2009 added change-password [aaronfeng]
directory test/ Fri May 29 11:35:36 -0700 2009 fixed execute function with trixx, which caused... [aaronfeng]
directory trixx-web/ Fri Jul 31 18:24:11 -0700 2009 removed unused files [aaronfeng]
README
"Yo rabbit, Trixx are for hackers"

The goal of Trixx is to build an administration and monitoring tool for RabbitMQ.
Trixx consists of 3 componments: Trixx web, Trixx service, and Trixx Erlang.

Trixx Erlang is used to communicate with Erlang nodes to extract RabbitMQ information.  
Trixx service returns RabbitMQ information as JSON.  Trixx web consumes JSON and renders 
the administration interface.

Features of Trixx:

* All the features of rabbitmqctl + more via a web interface
* User authentication
* More coming soon

Since Trixx directly communicates with Erlang nodes, it requires JInterface.  Trixx
is using Erlang 6.5 at the time of this writing.

Building
--------------------------------------------------------------------------------
To build from source:

  ant fetch-deps compile-rabbit-server jar

Note that we've included a specific version of RabbitMQ at this time. Erlang must be 
installed so it can be built.  RabbitMQ will be built by the compile-rabbit-server target.  
To compile rabbit server Python 2.5 or greater must be installed along with simplejson.py.

Then in separate terminals, first run the rabbit server:

  ant run-rabbit

Then the trixx server:

  ant run-trixx

Open your browser to any of the following urls to incoming JSON:

   GET    http://localhost:8080/exchanges/:vhost         - :vhost is optional, default to "/"  
   POST   http://localhost:8080/exchanges                - params: user, password, name, type, vhost, durable
   GET    http://localhost:8080/queues/:vhost
   POST   http://localhost:8080/queues                   - params: user, password, name, vhost, durable
   GET    http://localhost:8080/bindings/:vhost
   GET    http://localhost:8080/vhosts
   POST   http://localhost:8080/vhosts                   - params: name
   GET    http://localhost:8080/connections
   GET    http://localhost:8080/users/:user/permissions  - :user is the rabbit user name

   GET    http://localhost:8080/users
   PUT    http://localhost:8080/users                    - params: name, vhost, config_permission
                                                                   write_permission, read_permission
   POST   http://localhost:8080/users                    - params: name, password, vhost, config_permission
                                                                   write_permission, read_permission
   DELETE http://localhost:8080/users/:user

   GET    http://localhost:8080/rabbit/status  
   PUT    http://localhost:8080/rabbit/start
   PUT    http://localhost:8080/rabbit/stop
   PUT    http://localhost:8080/rabbit/reset

   POST   http://localhost:8080/sessions/authenticate    - parmas: name, password

To run the Ruby Web Management Console:

  ant run-www

Navigate to http://localhost:3000/ and login with RabbitMQ user/password.

Dependencies
--------------------------------------------------------------------------------

We are making an effort to ensure that Trixx and its dependencies are java 1.5
compatible.  If you are working on Trixx and would like to submit changes back
to the core repository, please ensure that your code is 1.5 compatible.


Contact
--------------------------------------------------------------------------------
If you have any questions/problems/suggestions with Trixx I can be contacted 
in the following ways:

Email: aaron.feng.blog@gmail.com
Twitter: aaronfeng
Blog: leftrightfold.com