diff --git a/.openshift/action_hooks/build b/.openshift/action_hooks/build new file mode 100755 index 0000000..c0df17b --- /dev/null +++ b/.openshift/action_hooks/build @@ -0,0 +1,5 @@ +#!/bin/bash +# This is a simple build script and will be executed on your CI system if +# available. Otherwise it will execute while your application is stopped +# before the deploy step. This script gets executed directly, so it +# could be python, php, ruby, etc. \ No newline at end of file diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy new file mode 100755 index 0000000..ed5eb99 --- /dev/null +++ b/.openshift/action_hooks/deploy @@ -0,0 +1,5 @@ +#!/bin/bash +# This deploy hook gets executed after dependencies are resolved and the +# build hook has been run but before the application has been started back +# up again. This script gets executed directly, so it could be python, php, +# ruby, etc. \ No newline at end of file diff --git a/.openshift/action_hooks/post_deploy b/.openshift/action_hooks/post_deploy new file mode 100755 index 0000000..a57d1f5 --- /dev/null +++ b/.openshift/action_hooks/post_deploy @@ -0,0 +1,4 @@ +#!/bin/bash +# This is a simple post deploy hook executed after your application +# is deployed and started. This script gets executed directly, so +# it could be python, php, ruby, etc. \ No newline at end of file diff --git a/.openshift/markers/README b/.openshift/markers/README new file mode 100644 index 0000000..314705c --- /dev/null +++ b/.openshift/markers/README @@ -0,0 +1,8 @@ +Markers +=========== + +Adding marker files to this directory will have the following effects: + +force_clean_build - Previous output from bundle install --deployment will be + removed and all gems will be reinstalled according to the current + Gemfile/Gemfile.lock. \ No newline at end of file diff --git a/README b/README new file mode 100644 index 0000000..dba42d2 --- /dev/null +++ b/README @@ -0,0 +1,56 @@ +Feel free to change or remove this file, it is informational only. + +Repo layout +=========== +tmp/ - Temporary storage +public/ - Content (images, css, etc. available to the public) +config.ru - This file is used by Rack-based servers to start the application. +../data - For persistent data +.openshift/action_hooks/build - Script that gets run every git push as part of the build process (on the CI system if available) +.openshift/action_hooks/deploy - Script that gets run every git push after build but before the app is restarted +.openshift/action_hooks/post_deploy - Script that gets run every git push after the app is restarted + + +Environment Variables +===================== + +OpenShift Express provides several environment variables to reference for ease +of use. The following list are some common variables but far from exhaustive: + + ENV['OPENSHIFT_APP_NAME'] - Application name + ENV['OPENSHIFT_APP_DIR'] - Application dir + ENV['OPENSHIFT_DATA_DIR'] - For persistent storage (between pushes) + ENV['OPENSHIFT_TMP_DIR'] - Temp storage (unmodified files deleted after 10 days) + +When embedding a database using rhc-ctl-app, you can reference environment +variables for username, host and password: + + ENV['OPENSHIFT_DB_HOST'] - DB host + ENV['OPENSHIFT_DB_PORT'] - DB Port + ENV['OPENSHIFT_DB_USERNAME'] - DB Username + ENV['OPENSHIFT_DB_PASSWORD'] - DB Password + +To get a full list of environment variables, simply add a line in your +.openshift/action_hooks/build script that says "export" and push. + + +Notes about layout +================== +Every time you push, everything in your remote application path gets recreated +please store long term items (like an sqlite database) in ../data which will +persist between pushes of your repo. + + +Rails 3.0 +=========== + +Option 1) (Recommended) Git push your application Gemfile/Gemfile.lock. This will +cause the remote OpenShift node to run bundle install --deployment to download and +install your dependencies. Each subsequent git push will use the previously +downloaded dependencies as a starting point, so additional downloads will be a delta. + +Option 2) Git add your .bundle and vendor/bundle directories after running +'bundle install --deployment' locally. Be sure to exclude any gems that have native +code or ensure they can run on RHEL x86_64. + + diff --git a/config.ru b/config.ru new file mode 100644 index 0000000..a62a9cd --- /dev/null +++ b/config.ru @@ -0,0 +1,317 @@ +require 'rack/lobster' + +map '/health' do + health = proc do |env| + [200, { "Content-Type" => "text/html" }, ["1"]] + end + run health +end + +map '/lobster' do + run Rack::Lobster.new +end + +map '/' do + welcome = proc do |env| + [200, { "Content-Type" => "text/html" }, [" + + + + + Welcome to OpenShift + + + + \"OpenShift +

+ Welcome to OpenShift +

+

+ Place your application here +

+

+ In order to commit to your new project, go to your projects git repo (created with the rhc-create-app command). Make your changes, then run: +

+
+    git commit -a -m 'Some commit message'
+    git push
+  
+

+ Then reload this page. +

+ +

+ What's next? +

+ + + +"]] + end + run welcome +end diff --git a/public/.gitkeep b/public/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tmp/.gitkeep b/tmp/.gitkeep new file mode 100644 index 0000000..e69de29