Torquebox CLI
The command-line app for making Torquebox even louder.
Usage
tb [action] [options]
Actions that you can perform are rack
and add
, which can be described
below.
Add component with tb add
Add a component to your torquebox.yml. Torquebox provides a number of features that make writing Rack and Rails-based applications a breeze, such as messaging features, background services, cron-like tasks, and service pooling.
Types of components can be:
-
application
- Application types -
web
- WEb configuration settings -
ruby
- version of ruby you want to set, including compilation options -
environment
- add and remove environment variables for the runtime of your JRuby App -
queue
- manipulate queues (create, rename, remove) -
topic
- create a topic -
messaing
- set up handlers for your queues/topics -
task
- create a task with a concurrency setting -
job
- create an external job, including various settings around it (job class, description, crontab) -
service
- Create a long-running service that runs in the background -
auth
- configure your authorization settings -
pooling
- Runtime pooling options
For help with any component you want to add, you can get help by typing tb add help [component]
, and you'll get some help.
Create baseline Torquebox-Rack app with tb rack
Generate a Rack-based application. A normal Rack-based Torquebox application only needs a few files, which this generator helps fill out for you:
-
project_name
folder -
project_name/config.ru
- Your Rackup file -
project_name/lib
directory -
project_name/app.rb
base application file that starts Rack -
project_name/Rakefile
with Torquebox specific rake tasks -
project_name/torquebox.yml
- Your Torquebox config file -
project_name/Gemfile
if you decide to use it as a Gem
More Help
If you are unfamiliar with the layout of the torquebox.yml
file or don't know
what all this gobbledygook means, you can always reference the torquebox documentation, from
which much of this application is based off of.
http://torquebox.org/documentation/
Why
Torquebox is a really awesome project and I was interested in doing something with it. Since there didn't appear to be any project-generator-type thing in place, I decided to make one. This is as much an experiment with Thor as it is an interest in providing Torquebox a command-line application to spin up TB apps quickly.
Obviously, if you find bugs, report them, throw a pull request my way, and feel free to critique the hell out of this. This is my first project in the Ruby space, and I'm more interested in making this a good app, even if it's not entirely useful to anybody.
Note:
I have no tests at all for this. I'm interested in trying to test it, but I'm not entirely sure how I would test a command-line app when much of it's functionality is wrapped in Thor (which I trust to do its job) tasks and such.
To Do
I don't have an interest in adding too many more features, but I have a small list of things I'd like to include to fill it out a bit:
- wrap rake tasks
- include the rails template generator provided by the Torquebox team