This project is an event generator based on Star Trek Universe. The purpose is generating events to study RabbitMQ functionnalities.
Install ruby 2.4.1. Install RabbitMQ on your network or your computer (you can use docker image: https://hub.docker.com/_/rabbitmq/ ). I recommend the management plugin system in order to be able to view through a webpage what's going on on your RabbitMQ instance.
docker run -d --hostname my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3-management
Login/password: guest/guest
Once installed, don't forget to modify client's host field ('hostname:' while instanciating bunny client) with the IP of your RabbitMQ instance.
In folder USS_discovery, uss_discovery.rb is the event generator, external_USS_logging.rb is the general logging system (just using queue), uss_recovery_stats.rb use the direct exchange (with temporary queue) and uss_shield_status_logging.rb uses topic type exchange with temporary queue. Finally, earth_starbase.rb is an example of client for Remote Procedure Call (see RPC in ruby)
In docker/tls
folder, you'll find a custom Docker image builder for enabling TLS communication in RabbitMQ.
For TLS, bunny factory use the name of current folder as milestone to get files absolute path (please do a PR if you know
better way), which means that if this there is more than one rabbitMQ_test
folder in folder path, TLS certificates and key
fetching won't work for clients. Same thing if you renamed current folder to something else; to fix this, modify bunny_factory.rb
.