Skip to content

Example for running TorqueBox and Immutant on Red Hat OpenShift Express

Notifications You must be signed in to change notification settings

projectodd/polyglot-openshift-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

THIS IS OBSOLETE

This example is mostly obsolete. Better examples are found here:

But they don't support running both Ruby and Clojure apps simultaneously on a single OpenShift "gear" without a lot of tweakage.

TorqueBox and Immutant on OpenShift Express

This git repository is an example of how to get Ruby applications on top of TorqueBox and Clojure applications on top of Immutant up and running on OpenShift Express. The .openshift directory contains the necessary build action_hook to download TorqueBox and Immutant AS7 modules and their prerequisites, while the ruby and clojure directories contain sample Ruby and Clojure applications.

Running on OpenShift

Create an account at http://openshift.redhat.com/

Create a jbossas-7 application (using any application name you want)

rhc app create -a polyglot -t jbossas-7

Add this upstream polyglot repository

cd polyglot
git remote add upstream -m master git://github.com/projectodd/polyglot-openshift-example.git
git pull -s recursive -X theirs upstream master

Then push the repo upstream

git push

That's it! Now you have simple Ruby and Clojure applications running on top of TorqueBox and Immutant in OpenShift. The first deploy takes a bit longer as the necessary libraries are downloaded to your OpenShift instance, so grab a cup of coffee and after a minute or two test that your Ruby application deployed correctly by going to

http://polyglot-$yourdomain.rhcloud.com/ruby/

Verify you see a "Hello from Ruby!" page served. Test that your Clojure application deployed correctly by going to

http://polyglot-$yourdomain.rhcloud.com/clojure/

Verify you see a "Hello from Clojure!" message. If both of those worked, try messaging between Ruby and Clojure by using the below URLs:

http://polyglot-$yourdomain.rhcloud.com/ruby/ping
http://polyglot-$yourdomain.rhcloud.com/clojure/pong

http://polyglot-$yourdomain.rhcloud.com/clojure/ping
http://polyglot-$yourdomain.rhcloud.com/ruby/pong

The "/ruby/ping" URL publishes a message to a queue that "/clojure/pong" receives from. Similarly, "/clojure/ping" publishes a message to a different queue that "/ruby/pong" receives from.

Note that the sample Java application shipped with the jbossas-7 cartridge still works and is accessible via

http://polyglot-$yourdomain.rhcloud.com/

Congratulations! You're up and running with Ruby and Clojure on OpenShift.

Deploying Additional Applications

You can deploy multiple Ruby and/or Clojure applications by creating more top-level directories for each application and ensuring each Ruby application has a torquebox.yml or config/torquebox.yml file and each Clojure application has a project.clj or immutant.clj file. The build script will automatically deploy the additional applications on the next git push. Make sure to specify a web context in your torquebox.yml or *.clj for your new application that doesn't conflict with the other applications.

About

Example for running TorqueBox and Immutant on Red Hat OpenShift Express

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published