From 811144161e69306e3a7babcc3ac4f44ee18f999f Mon Sep 17 00:00:00 2001 From: Template builder Date: Fri, 7 Sep 2012 17:09:46 -0400 Subject: [PATCH 1/2] Creating template --- .openshift/action_hooks/build | 5 + .openshift/action_hooks/deploy | 5 + .openshift/action_hooks/post_deploy | 4 + .openshift/action_hooks/post_start_nodejs-0.6 | 14 ++ .openshift/action_hooks/post_stop_nodejs-0.6 | 14 ++ .openshift/action_hooks/pre_build | 5 + .openshift/action_hooks/pre_start_nodejs-0.6 | 14 ++ .openshift/action_hooks/pre_stop_nodejs-0.6 | 14 ++ .openshift/cron/README.cron | 22 +++ .openshift/cron/daily/.gitignore | 0 .openshift/cron/hourly/.gitignore | 0 .openshift/cron/minutely/.gitignore | 0 .openshift/cron/monthly/.gitignore | 0 .openshift/cron/weekly/README | 16 ++ .openshift/cron/weekly/chrono.dat | 1 + .openshift/cron/weekly/chronograph | 3 + .openshift/cron/weekly/jobs.allow | 12 ++ .openshift/cron/weekly/jobs.deny | 7 + .openshift/markers/README | 7 + README | 67 ++++++++ deplist.txt | 13 ++ index.html | 156 ++++++++++++++++++ node_modules/read.me | 8 + npm_global_module_list | 21 +++ package.json | 34 ++++ server.js | 69 ++++++++ 26 files changed, 511 insertions(+) create mode 100755 .openshift/action_hooks/build create mode 100755 .openshift/action_hooks/deploy create mode 100755 .openshift/action_hooks/post_deploy create mode 100755 .openshift/action_hooks/post_start_nodejs-0.6 create mode 100755 .openshift/action_hooks/post_stop_nodejs-0.6 create mode 100755 .openshift/action_hooks/pre_build create mode 100755 .openshift/action_hooks/pre_start_nodejs-0.6 create mode 100755 .openshift/action_hooks/pre_stop_nodejs-0.6 create mode 100644 .openshift/cron/README.cron create mode 100644 .openshift/cron/daily/.gitignore create mode 100644 .openshift/cron/hourly/.gitignore create mode 100644 .openshift/cron/minutely/.gitignore create mode 100644 .openshift/cron/monthly/.gitignore create mode 100644 .openshift/cron/weekly/README create mode 100644 .openshift/cron/weekly/chrono.dat create mode 100755 .openshift/cron/weekly/chronograph create mode 100644 .openshift/cron/weekly/jobs.allow create mode 100644 .openshift/cron/weekly/jobs.deny create mode 100644 .openshift/markers/README create mode 100644 README create mode 100644 deplist.txt create mode 100644 index.html create mode 100644 node_modules/read.me create mode 100644 npm_global_module_list create mode 100644 package.json create mode 100755 server.js diff --git a/.openshift/action_hooks/build b/.openshift/action_hooks/build new file mode 100755 index 0000000..4f5dfda --- /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. diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy new file mode 100755 index 0000000..acd8ac0 --- /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. diff --git a/.openshift/action_hooks/post_deploy b/.openshift/action_hooks/post_deploy new file mode 100755 index 0000000..eabd36a --- /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. diff --git a/.openshift/action_hooks/post_start_nodejs-0.6 b/.openshift/action_hooks/post_start_nodejs-0.6 new file mode 100755 index 0000000..ff0debd --- /dev/null +++ b/.openshift/action_hooks/post_start_nodejs-0.6 @@ -0,0 +1,14 @@ +#!/bin/bash + +# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* +# immediately before (re)starting or stopping the specified cartridge. +# They are able to make any desired environment variable changes as +# well as other adjustments to the application environment. + +# The post_start_cartridge and post_stop_cartridge hooks are executed +# immediately after (re)starting or stopping the specified cartridge. + +# Exercise caution when adding commands to these hooks. They can +# prevent your application from stopping cleanly or starting at all. +# Application start and stop is subject to different timeouts +# throughout the system. diff --git a/.openshift/action_hooks/post_stop_nodejs-0.6 b/.openshift/action_hooks/post_stop_nodejs-0.6 new file mode 100755 index 0000000..ff0debd --- /dev/null +++ b/.openshift/action_hooks/post_stop_nodejs-0.6 @@ -0,0 +1,14 @@ +#!/bin/bash + +# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* +# immediately before (re)starting or stopping the specified cartridge. +# They are able to make any desired environment variable changes as +# well as other adjustments to the application environment. + +# The post_start_cartridge and post_stop_cartridge hooks are executed +# immediately after (re)starting or stopping the specified cartridge. + +# Exercise caution when adding commands to these hooks. They can +# prevent your application from stopping cleanly or starting at all. +# Application start and stop is subject to different timeouts +# throughout the system. diff --git a/.openshift/action_hooks/pre_build b/.openshift/action_hooks/pre_build new file mode 100755 index 0000000..7325159 --- /dev/null +++ b/.openshift/action_hooks/pre_build @@ -0,0 +1,5 @@ +#!/bin/bash +# This is a simple script and will be executed on your CI system if +# available. Otherwise it will execute while your application is stopped +# before the build step. This script gets executed directly, so it +# could be python, php, ruby, etc. diff --git a/.openshift/action_hooks/pre_start_nodejs-0.6 b/.openshift/action_hooks/pre_start_nodejs-0.6 new file mode 100755 index 0000000..ff0debd --- /dev/null +++ b/.openshift/action_hooks/pre_start_nodejs-0.6 @@ -0,0 +1,14 @@ +#!/bin/bash + +# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* +# immediately before (re)starting or stopping the specified cartridge. +# They are able to make any desired environment variable changes as +# well as other adjustments to the application environment. + +# The post_start_cartridge and post_stop_cartridge hooks are executed +# immediately after (re)starting or stopping the specified cartridge. + +# Exercise caution when adding commands to these hooks. They can +# prevent your application from stopping cleanly or starting at all. +# Application start and stop is subject to different timeouts +# throughout the system. diff --git a/.openshift/action_hooks/pre_stop_nodejs-0.6 b/.openshift/action_hooks/pre_stop_nodejs-0.6 new file mode 100755 index 0000000..ff0debd --- /dev/null +++ b/.openshift/action_hooks/pre_stop_nodejs-0.6 @@ -0,0 +1,14 @@ +#!/bin/bash + +# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* +# immediately before (re)starting or stopping the specified cartridge. +# They are able to make any desired environment variable changes as +# well as other adjustments to the application environment. + +# The post_start_cartridge and post_stop_cartridge hooks are executed +# immediately after (re)starting or stopping the specified cartridge. + +# Exercise caution when adding commands to these hooks. They can +# prevent your application from stopping cleanly or starting at all. +# Application start and stop is subject to different timeouts +# throughout the system. diff --git a/.openshift/cron/README.cron b/.openshift/cron/README.cron new file mode 100644 index 0000000..aad9138 --- /dev/null +++ b/.openshift/cron/README.cron @@ -0,0 +1,22 @@ +Run scripts or jobs on a periodic basis +======================================= +Any scripts or jobs added to the minutely, hourly, daily, weekly or monthly +directories will be run on a scheduled basis (frequency is as indicated by the +name of the directory) using run-parts. + +run-parts ignores any files that are hidden or dotfiles (.*) or backup +files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} + +The presence of two specially named files jobs.deny and jobs.allow controls +how run-parts executes your scripts/jobs. + jobs.deny ===> Prevents specific scripts or jobs from being executed. + jobs.allow ===> Only execute the named scripts or jobs (all other/non-named + scripts that exist in this directory are ignored). + +The principles of jobs.deny and jobs.allow are the same as those of cron.deny +and cron.allow and are described in detail at: + http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-Automating_System_Tasks.html#s2-autotasks-cron-access + +See: man crontab or above link for more details and see the the weekly/ + directory for an example. + diff --git a/.openshift/cron/daily/.gitignore b/.openshift/cron/daily/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/.openshift/cron/hourly/.gitignore b/.openshift/cron/hourly/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/.openshift/cron/minutely/.gitignore b/.openshift/cron/minutely/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/.openshift/cron/monthly/.gitignore b/.openshift/cron/monthly/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/.openshift/cron/weekly/README b/.openshift/cron/weekly/README new file mode 100644 index 0000000..7c3e659 --- /dev/null +++ b/.openshift/cron/weekly/README @@ -0,0 +1,16 @@ +Run scripts or jobs on a weekly basis +===================================== +Any scripts or jobs added to this directory will be run on a scheduled basis +(weekly) using run-parts. + +run-parts ignores any files that are hidden or dotfiles (.*) or backup +files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} and handles +the files named jobs.deny and jobs.allow specially. + +In this specific example, the chronograph script is the only script or job file +executed on a weekly basis (due to white-listing it in jobs.allow). And the +README and chrono.dat file are ignored either as a result of being black-listed +in jobs.deny or because they are NOT white-listed in the jobs.allow file. + +For more details, please see ../README.cron file. + diff --git a/.openshift/cron/weekly/chrono.dat b/.openshift/cron/weekly/chrono.dat new file mode 100644 index 0000000..fc4abb8 --- /dev/null +++ b/.openshift/cron/weekly/chrono.dat @@ -0,0 +1 @@ +Time And Relative D...n In Execution (Open)Shift! diff --git a/.openshift/cron/weekly/chronograph b/.openshift/cron/weekly/chronograph new file mode 100755 index 0000000..61de949 --- /dev/null +++ b/.openshift/cron/weekly/chronograph @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "`date`: `cat $(dirname \"$0\")/chrono.dat`" diff --git a/.openshift/cron/weekly/jobs.allow b/.openshift/cron/weekly/jobs.allow new file mode 100644 index 0000000..8d32abc --- /dev/null +++ b/.openshift/cron/weekly/jobs.allow @@ -0,0 +1,12 @@ +# +# Script or job files listed in here (one entry per line) will be +# executed on a weekly-basis. +# +# Example: The chronograph script will be executed weekly but the README +# and chrono.dat files in this directory will be ignored. +# +# The README file is actually ignored due to the entry in the +# jobs.deny which is checked before jobs.allow (this file). +# +chronograph + diff --git a/.openshift/cron/weekly/jobs.deny b/.openshift/cron/weekly/jobs.deny new file mode 100644 index 0000000..73c9450 --- /dev/null +++ b/.openshift/cron/weekly/jobs.deny @@ -0,0 +1,7 @@ +# +# Any script or job files listed in here (one entry per line) will NOT be +# executed (read as ignored by run-parts). +# + +README + diff --git a/.openshift/markers/README b/.openshift/markers/README new file mode 100644 index 0000000..9b83420 --- /dev/null +++ b/.openshift/markers/README @@ -0,0 +1,7 @@ +Markers +=========== + +Adding marker files to this directory will have the following effects: + +force_clean_build - Will remove any previously installed npm modules and + re-install all the required modules from scratch diff --git a/README b/README new file mode 100644 index 0000000..fc4efe3 --- /dev/null +++ b/README @@ -0,0 +1,67 @@ +Feel free to change or remove this file, it is informational only. + +Repo layout +=========== +node_modules/ - Any Node modules packaged with the app +deplist.txt - Deprecated. +package.json - npm package descriptor. +.openshift/ - Location for openshift specific files +.openshift/action_hooks/pre_build - Script that gets run every git push before + the build +.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 + +Notes about layout +================== +Please leave the node_modules and .openshift directories but feel free to +create additional directories if needed. + +Note: Every time you push, everything in your remote repo dir gets recreated + please store long term items (like an sqlite database) in the OpenShift + data directory, which will persist between pushes of your repo. + The OpenShift data directory is accessible relative to the remote repo + directory (../data) or via an environment variable OPENSHIFT_DATA_DIR. + + +Environment Variables +===================== +OpenShift provides several environment variables to reference for ease +of use. The following list are some common variables but far from exhaustive: + process.env.OPENSHIFT_GEAR_NAME - Application name + process.env.OPENSHIFT_GEAR_DIR - Application dir + process.env.OPENSHIFT_DATA_DIR - For persistent storage (between pushes) + process.env.OPENSHIFT_TMP_DIR - Temp storage (unmodified files deleted after 10 days) + +When embedding a database using 'rhc app cartridge add', you can reference environment +variables for username, host and password: + process.env.OPENSHIFT_DB_HOST - DB Host + process.env.OPENSHIFT_DB_PORT - DB Port + process.env.OPENSHIFT_DB_USERNAME - DB Username + process.env.OPENSHIFT_DB_PASSWORD - DB Password + +When embedding a NoSQL database using 'rhc app cartridge add', you can reference environment +variables for username, host and password: + process.env.OPENSHIFT_NOSQL_DB_HOST - NoSQL DB Host + process.env.OPENSHIFT_NOSQL_DB_PORT - NoSQL DB Port + process.env.OPENSHIFT_NOSQL_DB_USERNAME - NoSQL DB Username + process.env.OPENSHIFT_NOSQL_DB_PASSWORD - NoSQL 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. + + +deplist.txt +=========== +A list of node modules to install, line by line on the server. This will happen +when the user does a git push. + + +Additional information +====================== +Link to additional information will be here, when we have it :) + diff --git a/deplist.txt b/deplist.txt new file mode 100644 index 0000000..c6dc5df --- /dev/null +++ b/deplist.txt @@ -0,0 +1,13 @@ +# +# *************************************************************************** +# +# Note: This file has been deprecated and exists for backward compatibility. +# Please use package.json to add dependencies to the Node modules +# your application requires. +# +# *************************************************************************** +# + +# +# For a list of globally installed modules - see file: npm_global_module_list. +# diff --git a/index.html b/index.html new file mode 100644 index 0000000..66b40fa --- /dev/null +++ b/index.html @@ -0,0 +1,156 @@ + + + + + + Welcome to OpenShift + + + + + OpenShift logo +
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 app create command). Make your changes, then run: +

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

+ Then reload this page. +

+ +

+ What's next? +

+ + + diff --git a/node_modules/read.me b/node_modules/read.me new file mode 100644 index 0000000..075305b --- /dev/null +++ b/node_modules/read.me @@ -0,0 +1,8 @@ + +This directory allows you to package any Node modules (that your application +depends on) along with your application. + +If you just wish to install module(s) from the npm registry (npmjs.org), you +can specify the module name(s) and optionally version in your application's +dependency list file (../deplist.txt). + diff --git a/npm_global_module_list b/npm_global_module_list new file mode 100644 index 0000000..c2cadfd --- /dev/null +++ b/npm_global_module_list @@ -0,0 +1,21 @@ +# +# This file contains a list of globally installed and available npm modules. +# + +# DB drivers. +mongodb +mysql +pg + +# Other modules (including frameworks, middleware etc). +async +connect +express +formidable +generic-pool +hashish +mime +mkdirp +node-static +qs +traverse diff --git a/package.json b/package.json new file mode 100644 index 0000000..03b1957 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "OpenShift-Sample-App", + "version": "1.0.0", + "description": "OpenShift Sample Application", + "keywords": [ + "OpenShift", + "Node.js", + "application", + "openshift" + ], + "author": { + "name": "OpenShift", + "email": "ramr@example.org", + "url": "http://openshift.redhat.com/" + }, + "homepage": "http://openshift.redhat.com/", + "repository": { + "type": "git", + "url": "https://gitub.com/openshift/crankcase" + }, + + "engines": { + "node": ">= 0.6.0", + "npm": ">= 1.0.0" + }, + + "dependencies": { + }, + "devDependencies": {}, + "bundleDependencies": [], + + "private": true, + "main": "server.js" +} diff --git a/server.js b/server.js new file mode 100755 index 0000000..4cb43ab --- /dev/null +++ b/server.js @@ -0,0 +1,69 @@ +#!/bin/env node +// OpenShift sample Node application + +var express = require('express'); +var fs = require('fs'); + +// Local cache for static content [fixed and loaded at startup] +var zcache = { 'index.html': '' }; +zcache['index.html'] = fs.readFileSync('./index.html'); // Cache index.html + +// Create "express" server. +var app = express.createServer(); + + +/* ===================================================================== */ +/* Setup route handlers. */ +/* ===================================================================== */ + +// Handler for GET /health +app.get('/health', function(req, res){ + res.send('1'); +}); + +// Handler for GET /asciimo +app.get('/asciimo', function(req, res){ + var link="https://a248.e.akamai.net/assets.github.com/img/d84f00f173afcf3bc81b4fad855e39838b23d8ff/687474703a2f2f696d6775722e636f6d2f6b6d626a422e706e67"; + res.send(""); +}); + +// Handler for GET / +app.get('/', function(req, res){ + res.send(zcache['index.html'], {'Content-Type': 'text/html'}); +}); + + +// Get the environment variables we need. +var ipaddr = process.env.OPENSHIFT_INTERNAL_IP; +var port = process.env.OPENSHIFT_INTERNAL_PORT || 8080; + +if (typeof ipaddr === "undefined") { + console.warn('No OPENSHIFT_INTERNAL_IP environment variable'); +} + +// terminator === the termination handler. +function terminator(sig) { + if (typeof sig === "string") { + console.log('%s: Received %s - terminating Node server ...', + Date(Date.now()), sig); + process.exit(1); + } + console.log('%s: Node server stopped.', Date(Date.now()) ); +} + +// Process on exit and signals. +process.on('exit', function() { terminator(); }); + +// Removed 'SIGPIPE' from the list - bugz 852598. +['SIGHUP', 'SIGINT', 'SIGQUIT', 'SIGILL', 'SIGTRAP', 'SIGABRT', 'SIGBUS', + 'SIGFPE', 'SIGUSR1', 'SIGSEGV', 'SIGUSR2', 'SIGTERM' +].forEach(function(element, index, array) { + process.on(element, function() { terminator(element); }); +}); + +// And start the app on that interface (and port). +app.listen(port, ipaddr, function() { + console.log('%s: Node server started on %s:%d ...', Date(Date.now() ), + ipaddr, port); +}); + From ce6db7a123fe5c66438a892b5a882ec2cf5d43ce Mon Sep 17 00:00:00 2001 From: Radek Date: Fri, 21 Sep 2012 17:31:16 +0100 Subject: [PATCH 2/2] cleanup --- .openshift/action_hooks/build | 5 - .openshift/action_hooks/deploy | 5 - .openshift/action_hooks/post_deploy | 4 - .openshift/action_hooks/post_start_nodejs-0.6 | 14 -- .openshift/action_hooks/post_stop_nodejs-0.6 | 14 -- .openshift/action_hooks/pre_build | 5 - .openshift/action_hooks/pre_start_nodejs-0.6 | 14 -- .openshift/action_hooks/pre_stop_nodejs-0.6 | 14 -- .openshift/cron/README.cron | 22 --- .openshift/cron/daily/.gitignore | 0 .openshift/cron/hourly/.gitignore | 0 .openshift/cron/minutely/.gitignore | 0 .openshift/cron/monthly/.gitignore | 0 .openshift/cron/weekly/README | 16 -- .openshift/cron/weekly/chrono.dat | 1 - .openshift/cron/weekly/chronograph | 3 - .openshift/cron/weekly/jobs.allow | 12 -- .openshift/cron/weekly/jobs.deny | 7 - .openshift/markers/README | 7 - README | 67 -------- deplist.txt | 13 -- index.html | 156 ------------------ node_modules/read.me | 8 - npm_global_module_list | 21 --- package.json | 34 ---- server.js | 69 -------- 26 files changed, 511 deletions(-) delete mode 100755 .openshift/action_hooks/build delete mode 100755 .openshift/action_hooks/deploy delete mode 100755 .openshift/action_hooks/post_deploy delete mode 100755 .openshift/action_hooks/post_start_nodejs-0.6 delete mode 100755 .openshift/action_hooks/post_stop_nodejs-0.6 delete mode 100755 .openshift/action_hooks/pre_build delete mode 100755 .openshift/action_hooks/pre_start_nodejs-0.6 delete mode 100755 .openshift/action_hooks/pre_stop_nodejs-0.6 delete mode 100644 .openshift/cron/README.cron delete mode 100644 .openshift/cron/daily/.gitignore delete mode 100644 .openshift/cron/hourly/.gitignore delete mode 100644 .openshift/cron/minutely/.gitignore delete mode 100644 .openshift/cron/monthly/.gitignore delete mode 100644 .openshift/cron/weekly/README delete mode 100644 .openshift/cron/weekly/chrono.dat delete mode 100755 .openshift/cron/weekly/chronograph delete mode 100644 .openshift/cron/weekly/jobs.allow delete mode 100644 .openshift/cron/weekly/jobs.deny delete mode 100644 .openshift/markers/README delete mode 100644 README delete mode 100644 deplist.txt delete mode 100644 index.html delete mode 100644 node_modules/read.me delete mode 100644 npm_global_module_list delete mode 100644 package.json delete mode 100755 server.js diff --git a/.openshift/action_hooks/build b/.openshift/action_hooks/build deleted file mode 100755 index 4f5dfda..0000000 --- a/.openshift/action_hooks/build +++ /dev/null @@ -1,5 +0,0 @@ -#!/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. diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy deleted file mode 100755 index acd8ac0..0000000 --- a/.openshift/action_hooks/deploy +++ /dev/null @@ -1,5 +0,0 @@ -#!/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. diff --git a/.openshift/action_hooks/post_deploy b/.openshift/action_hooks/post_deploy deleted file mode 100755 index eabd36a..0000000 --- a/.openshift/action_hooks/post_deploy +++ /dev/null @@ -1,4 +0,0 @@ -#!/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. diff --git a/.openshift/action_hooks/post_start_nodejs-0.6 b/.openshift/action_hooks/post_start_nodejs-0.6 deleted file mode 100755 index ff0debd..0000000 --- a/.openshift/action_hooks/post_start_nodejs-0.6 +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* -# immediately before (re)starting or stopping the specified cartridge. -# They are able to make any desired environment variable changes as -# well as other adjustments to the application environment. - -# The post_start_cartridge and post_stop_cartridge hooks are executed -# immediately after (re)starting or stopping the specified cartridge. - -# Exercise caution when adding commands to these hooks. They can -# prevent your application from stopping cleanly or starting at all. -# Application start and stop is subject to different timeouts -# throughout the system. diff --git a/.openshift/action_hooks/post_stop_nodejs-0.6 b/.openshift/action_hooks/post_stop_nodejs-0.6 deleted file mode 100755 index ff0debd..0000000 --- a/.openshift/action_hooks/post_stop_nodejs-0.6 +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* -# immediately before (re)starting or stopping the specified cartridge. -# They are able to make any desired environment variable changes as -# well as other adjustments to the application environment. - -# The post_start_cartridge and post_stop_cartridge hooks are executed -# immediately after (re)starting or stopping the specified cartridge. - -# Exercise caution when adding commands to these hooks. They can -# prevent your application from stopping cleanly or starting at all. -# Application start and stop is subject to different timeouts -# throughout the system. diff --git a/.openshift/action_hooks/pre_build b/.openshift/action_hooks/pre_build deleted file mode 100755 index 7325159..0000000 --- a/.openshift/action_hooks/pre_build +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -# This is a simple script and will be executed on your CI system if -# available. Otherwise it will execute while your application is stopped -# before the build step. This script gets executed directly, so it -# could be python, php, ruby, etc. diff --git a/.openshift/action_hooks/pre_start_nodejs-0.6 b/.openshift/action_hooks/pre_start_nodejs-0.6 deleted file mode 100755 index ff0debd..0000000 --- a/.openshift/action_hooks/pre_start_nodejs-0.6 +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* -# immediately before (re)starting or stopping the specified cartridge. -# They are able to make any desired environment variable changes as -# well as other adjustments to the application environment. - -# The post_start_cartridge and post_stop_cartridge hooks are executed -# immediately after (re)starting or stopping the specified cartridge. - -# Exercise caution when adding commands to these hooks. They can -# prevent your application from stopping cleanly or starting at all. -# Application start and stop is subject to different timeouts -# throughout the system. diff --git a/.openshift/action_hooks/pre_stop_nodejs-0.6 b/.openshift/action_hooks/pre_stop_nodejs-0.6 deleted file mode 100755 index ff0debd..0000000 --- a/.openshift/action_hooks/pre_stop_nodejs-0.6 +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -# The pre_start_cartridge and pre_stop_cartridge hooks are *SOURCED* -# immediately before (re)starting or stopping the specified cartridge. -# They are able to make any desired environment variable changes as -# well as other adjustments to the application environment. - -# The post_start_cartridge and post_stop_cartridge hooks are executed -# immediately after (re)starting or stopping the specified cartridge. - -# Exercise caution when adding commands to these hooks. They can -# prevent your application from stopping cleanly or starting at all. -# Application start and stop is subject to different timeouts -# throughout the system. diff --git a/.openshift/cron/README.cron b/.openshift/cron/README.cron deleted file mode 100644 index aad9138..0000000 --- a/.openshift/cron/README.cron +++ /dev/null @@ -1,22 +0,0 @@ -Run scripts or jobs on a periodic basis -======================================= -Any scripts or jobs added to the minutely, hourly, daily, weekly or monthly -directories will be run on a scheduled basis (frequency is as indicated by the -name of the directory) using run-parts. - -run-parts ignores any files that are hidden or dotfiles (.*) or backup -files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} - -The presence of two specially named files jobs.deny and jobs.allow controls -how run-parts executes your scripts/jobs. - jobs.deny ===> Prevents specific scripts or jobs from being executed. - jobs.allow ===> Only execute the named scripts or jobs (all other/non-named - scripts that exist in this directory are ignored). - -The principles of jobs.deny and jobs.allow are the same as those of cron.deny -and cron.allow and are described in detail at: - http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-Automating_System_Tasks.html#s2-autotasks-cron-access - -See: man crontab or above link for more details and see the the weekly/ - directory for an example. - diff --git a/.openshift/cron/daily/.gitignore b/.openshift/cron/daily/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/.openshift/cron/hourly/.gitignore b/.openshift/cron/hourly/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/.openshift/cron/minutely/.gitignore b/.openshift/cron/minutely/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/.openshift/cron/monthly/.gitignore b/.openshift/cron/monthly/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/.openshift/cron/weekly/README b/.openshift/cron/weekly/README deleted file mode 100644 index 7c3e659..0000000 --- a/.openshift/cron/weekly/README +++ /dev/null @@ -1,16 +0,0 @@ -Run scripts or jobs on a weekly basis -===================================== -Any scripts or jobs added to this directory will be run on a scheduled basis -(weekly) using run-parts. - -run-parts ignores any files that are hidden or dotfiles (.*) or backup -files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} and handles -the files named jobs.deny and jobs.allow specially. - -In this specific example, the chronograph script is the only script or job file -executed on a weekly basis (due to white-listing it in jobs.allow). And the -README and chrono.dat file are ignored either as a result of being black-listed -in jobs.deny or because they are NOT white-listed in the jobs.allow file. - -For more details, please see ../README.cron file. - diff --git a/.openshift/cron/weekly/chrono.dat b/.openshift/cron/weekly/chrono.dat deleted file mode 100644 index fc4abb8..0000000 --- a/.openshift/cron/weekly/chrono.dat +++ /dev/null @@ -1 +0,0 @@ -Time And Relative D...n In Execution (Open)Shift! diff --git a/.openshift/cron/weekly/chronograph b/.openshift/cron/weekly/chronograph deleted file mode 100755 index 61de949..0000000 --- a/.openshift/cron/weekly/chronograph +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -echo "`date`: `cat $(dirname \"$0\")/chrono.dat`" diff --git a/.openshift/cron/weekly/jobs.allow b/.openshift/cron/weekly/jobs.allow deleted file mode 100644 index 8d32abc..0000000 --- a/.openshift/cron/weekly/jobs.allow +++ /dev/null @@ -1,12 +0,0 @@ -# -# Script or job files listed in here (one entry per line) will be -# executed on a weekly-basis. -# -# Example: The chronograph script will be executed weekly but the README -# and chrono.dat files in this directory will be ignored. -# -# The README file is actually ignored due to the entry in the -# jobs.deny which is checked before jobs.allow (this file). -# -chronograph - diff --git a/.openshift/cron/weekly/jobs.deny b/.openshift/cron/weekly/jobs.deny deleted file mode 100644 index 73c9450..0000000 --- a/.openshift/cron/weekly/jobs.deny +++ /dev/null @@ -1,7 +0,0 @@ -# -# Any script or job files listed in here (one entry per line) will NOT be -# executed (read as ignored by run-parts). -# - -README - diff --git a/.openshift/markers/README b/.openshift/markers/README deleted file mode 100644 index 9b83420..0000000 --- a/.openshift/markers/README +++ /dev/null @@ -1,7 +0,0 @@ -Markers -=========== - -Adding marker files to this directory will have the following effects: - -force_clean_build - Will remove any previously installed npm modules and - re-install all the required modules from scratch diff --git a/README b/README deleted file mode 100644 index fc4efe3..0000000 --- a/README +++ /dev/null @@ -1,67 +0,0 @@ -Feel free to change or remove this file, it is informational only. - -Repo layout -=========== -node_modules/ - Any Node modules packaged with the app -deplist.txt - Deprecated. -package.json - npm package descriptor. -.openshift/ - Location for openshift specific files -.openshift/action_hooks/pre_build - Script that gets run every git push before - the build -.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 - -Notes about layout -================== -Please leave the node_modules and .openshift directories but feel free to -create additional directories if needed. - -Note: Every time you push, everything in your remote repo dir gets recreated - please store long term items (like an sqlite database) in the OpenShift - data directory, which will persist between pushes of your repo. - The OpenShift data directory is accessible relative to the remote repo - directory (../data) or via an environment variable OPENSHIFT_DATA_DIR. - - -Environment Variables -===================== -OpenShift provides several environment variables to reference for ease -of use. The following list are some common variables but far from exhaustive: - process.env.OPENSHIFT_GEAR_NAME - Application name - process.env.OPENSHIFT_GEAR_DIR - Application dir - process.env.OPENSHIFT_DATA_DIR - For persistent storage (between pushes) - process.env.OPENSHIFT_TMP_DIR - Temp storage (unmodified files deleted after 10 days) - -When embedding a database using 'rhc app cartridge add', you can reference environment -variables for username, host and password: - process.env.OPENSHIFT_DB_HOST - DB Host - process.env.OPENSHIFT_DB_PORT - DB Port - process.env.OPENSHIFT_DB_USERNAME - DB Username - process.env.OPENSHIFT_DB_PASSWORD - DB Password - -When embedding a NoSQL database using 'rhc app cartridge add', you can reference environment -variables for username, host and password: - process.env.OPENSHIFT_NOSQL_DB_HOST - NoSQL DB Host - process.env.OPENSHIFT_NOSQL_DB_PORT - NoSQL DB Port - process.env.OPENSHIFT_NOSQL_DB_USERNAME - NoSQL DB Username - process.env.OPENSHIFT_NOSQL_DB_PASSWORD - NoSQL 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. - - -deplist.txt -=========== -A list of node modules to install, line by line on the server. This will happen -when the user does a git push. - - -Additional information -====================== -Link to additional information will be here, when we have it :) - diff --git a/deplist.txt b/deplist.txt deleted file mode 100644 index c6dc5df..0000000 --- a/deplist.txt +++ /dev/null @@ -1,13 +0,0 @@ -# -# *************************************************************************** -# -# Note: This file has been deprecated and exists for backward compatibility. -# Please use package.json to add dependencies to the Node modules -# your application requires. -# -# *************************************************************************** -# - -# -# For a list of globally installed modules - see file: npm_global_module_list. -# diff --git a/index.html b/index.html deleted file mode 100644 index 66b40fa..0000000 --- a/index.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - Welcome to OpenShift - - - - - OpenShift logo -
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 app create command). Make your changes, then run: -

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

- Then reload this page. -

- -

- What's next? -

- - - diff --git a/node_modules/read.me b/node_modules/read.me deleted file mode 100644 index 075305b..0000000 --- a/node_modules/read.me +++ /dev/null @@ -1,8 +0,0 @@ - -This directory allows you to package any Node modules (that your application -depends on) along with your application. - -If you just wish to install module(s) from the npm registry (npmjs.org), you -can specify the module name(s) and optionally version in your application's -dependency list file (../deplist.txt). - diff --git a/npm_global_module_list b/npm_global_module_list deleted file mode 100644 index c2cadfd..0000000 --- a/npm_global_module_list +++ /dev/null @@ -1,21 +0,0 @@ -# -# This file contains a list of globally installed and available npm modules. -# - -# DB drivers. -mongodb -mysql -pg - -# Other modules (including frameworks, middleware etc). -async -connect -express -formidable -generic-pool -hashish -mime -mkdirp -node-static -qs -traverse diff --git a/package.json b/package.json deleted file mode 100644 index 03b1957..0000000 --- a/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "OpenShift-Sample-App", - "version": "1.0.0", - "description": "OpenShift Sample Application", - "keywords": [ - "OpenShift", - "Node.js", - "application", - "openshift" - ], - "author": { - "name": "OpenShift", - "email": "ramr@example.org", - "url": "http://openshift.redhat.com/" - }, - "homepage": "http://openshift.redhat.com/", - "repository": { - "type": "git", - "url": "https://gitub.com/openshift/crankcase" - }, - - "engines": { - "node": ">= 0.6.0", - "npm": ">= 1.0.0" - }, - - "dependencies": { - }, - "devDependencies": {}, - "bundleDependencies": [], - - "private": true, - "main": "server.js" -} diff --git a/server.js b/server.js deleted file mode 100755 index 4cb43ab..0000000 --- a/server.js +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/env node -// OpenShift sample Node application - -var express = require('express'); -var fs = require('fs'); - -// Local cache for static content [fixed and loaded at startup] -var zcache = { 'index.html': '' }; -zcache['index.html'] = fs.readFileSync('./index.html'); // Cache index.html - -// Create "express" server. -var app = express.createServer(); - - -/* ===================================================================== */ -/* Setup route handlers. */ -/* ===================================================================== */ - -// Handler for GET /health -app.get('/health', function(req, res){ - res.send('1'); -}); - -// Handler for GET /asciimo -app.get('/asciimo', function(req, res){ - var link="https://a248.e.akamai.net/assets.github.com/img/d84f00f173afcf3bc81b4fad855e39838b23d8ff/687474703a2f2f696d6775722e636f6d2f6b6d626a422e706e67"; - res.send(""); -}); - -// Handler for GET / -app.get('/', function(req, res){ - res.send(zcache['index.html'], {'Content-Type': 'text/html'}); -}); - - -// Get the environment variables we need. -var ipaddr = process.env.OPENSHIFT_INTERNAL_IP; -var port = process.env.OPENSHIFT_INTERNAL_PORT || 8080; - -if (typeof ipaddr === "undefined") { - console.warn('No OPENSHIFT_INTERNAL_IP environment variable'); -} - -// terminator === the termination handler. -function terminator(sig) { - if (typeof sig === "string") { - console.log('%s: Received %s - terminating Node server ...', - Date(Date.now()), sig); - process.exit(1); - } - console.log('%s: Node server stopped.', Date(Date.now()) ); -} - -// Process on exit and signals. -process.on('exit', function() { terminator(); }); - -// Removed 'SIGPIPE' from the list - bugz 852598. -['SIGHUP', 'SIGINT', 'SIGQUIT', 'SIGILL', 'SIGTRAP', 'SIGABRT', 'SIGBUS', - 'SIGFPE', 'SIGUSR1', 'SIGSEGV', 'SIGUSR2', 'SIGTERM' -].forEach(function(element, index, array) { - process.on(element, function() { terminator(element); }); -}); - -// And start the app on that interface (and port). -app.listen(port, ipaddr, function() { - console.log('%s: Node server started on %s:%d ...', Date(Date.now() ), - ipaddr, port); -}); -