-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Template builder
committed
Aug 14, 2014
0 parents
commit afe37ad
Showing
19 changed files
with
555 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
For information about .openshift directory, consult the documentation: | ||
|
||
http://openshift.github.io/documentation/oo_user_guide.html#the-openshift-directory |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
For information about action hooks, consult the documentation: | ||
|
||
http://openshift.github.io/documentation/oo_user_guide.html#action-hooks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
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. | ||
|
||
PLEASE NOTE: The Cron cartridge must be installed in order to run the configured jobs. | ||
|
||
For more information about cron, consult the documentation: | ||
http://openshift.github.io/documentation/oo_cartridge_guide.html#cron | ||
http://openshift.github.io/documentation/oo_user_guide.html#cron |
Empty file.
Empty file.
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Time And Relative D...n In Execution (Open)Shift! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/bin/bash | ||
|
||
echo "`date`: `cat $(dirname \"$0\")/chrono.dat`" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
For information about markers, consult the documentation: | ||
|
||
http://openshift.github.io/documentation/oo_user_guide.html#markers |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
The OpenShift `nodejs` cartridge documentation can be found at: | ||
|
||
http://openshift.github.io/documentation/oo_cartridge_guide.html#nodejs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. | ||
# |
Large diffs are not rendered by default.
Oops, something went wrong.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"name": "OpenShift-Sample-App", | ||
"version": "1.0.0", | ||
"description": "OpenShift Sample Application", | ||
"keywords": [ | ||
"OpenShift", | ||
"Node.js", | ||
"application", | ||
"openshift" | ||
], | ||
"author": { | ||
"name": "OpenShift", | ||
"email": "[email protected]", | ||
"url": "http://www.openshift.com/" | ||
}, | ||
"homepage": "http://www.openshift.com/", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/openshift/origin-server" | ||
}, | ||
|
||
"engines": { | ||
"node": ">= 0.6.0", | ||
"npm": ">= 1.0.0" | ||
}, | ||
|
||
"dependencies": { | ||
"express": "~3.4.4" | ||
}, | ||
"devDependencies": {}, | ||
"bundleDependencies": [], | ||
|
||
"private": true, | ||
"main": "server.js" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
#!/bin/env node | ||
// OpenShift sample Node application | ||
var express = require('express'); | ||
var fs = require('fs'); | ||
|
||
|
||
/** | ||
* Define the sample application. | ||
*/ | ||
var SampleApp = function() { | ||
|
||
// Scope. | ||
var self = this; | ||
|
||
|
||
/* ================================================================ */ | ||
/* Helper functions. */ | ||
/* ================================================================ */ | ||
|
||
/** | ||
* Set up server IP address and port # using env variables/defaults. | ||
*/ | ||
self.setupVariables = function() { | ||
// Set the environment variables we need. | ||
self.ipaddress = process.env.OPENSHIFT_NODEJS_IP; | ||
self.port = process.env.OPENSHIFT_NODEJS_PORT || 8080; | ||
|
||
if (typeof self.ipaddress === "undefined") { | ||
// Log errors on OpenShift but continue w/ 127.0.0.1 - this | ||
// allows us to run/test the app locally. | ||
console.warn('No OPENSHIFT_NODEJS_IP var, using 127.0.0.1'); | ||
self.ipaddress = "127.0.0.1"; | ||
}; | ||
}; | ||
|
||
|
||
/** | ||
* Populate the cache. | ||
*/ | ||
self.populateCache = function() { | ||
if (typeof self.zcache === "undefined") { | ||
self.zcache = { 'index.html': '' }; | ||
} | ||
|
||
// Local cache for static content. | ||
self.zcache['index.html'] = fs.readFileSync('./index.html'); | ||
}; | ||
|
||
|
||
/** | ||
* Retrieve entry (content) from cache. | ||
* @param {string} key Key identifying content to retrieve from cache. | ||
*/ | ||
self.cache_get = function(key) { return self.zcache[key]; }; | ||
|
||
|
||
/** | ||
* terminator === the termination handler | ||
* Terminate server on receipt of the specified signal. | ||
* @param {string} sig Signal to terminate on. | ||
*/ | ||
self.terminator = function(sig){ | ||
if (typeof sig === "string") { | ||
console.log('%s: Received %s - terminating sample app ...', | ||
Date(Date.now()), sig); | ||
process.exit(1); | ||
} | ||
console.log('%s: Node server stopped.', Date(Date.now()) ); | ||
}; | ||
|
||
|
||
/** | ||
* Setup termination handlers (for exit and a list of signals). | ||
*/ | ||
self.setupTerminationHandlers = function(){ | ||
// Process on exit and signals. | ||
process.on('exit', function() { self.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() { self.terminator(element); }); | ||
}); | ||
}; | ||
|
||
|
||
/* ================================================================ */ | ||
/* App server functions (main app logic here). */ | ||
/* ================================================================ */ | ||
|
||
/** | ||
* Create the routing table entries + handlers for the application. | ||
*/ | ||
self.createRoutes = function() { | ||
self.routes = { }; | ||
|
||
self.routes['/asciimo'] = function(req, res) { | ||
var link = "http://i.imgur.com/kmbjB.png"; | ||
res.send("<html><body><img src='" + link + "'></body></html>"); | ||
}; | ||
|
||
self.routes['/'] = function(req, res) { | ||
res.setHeader('Content-Type', 'text/html'); | ||
res.send(self.cache_get('index.html') ); | ||
}; | ||
}; | ||
|
||
|
||
/** | ||
* Initialize the server (express) and create the routes and register | ||
* the handlers. | ||
*/ | ||
self.initializeServer = function() { | ||
self.createRoutes(); | ||
self.app = express.createServer(); | ||
|
||
// Add handlers for the app (from the routes). | ||
for (var r in self.routes) { | ||
self.app.get(r, self.routes[r]); | ||
} | ||
}; | ||
|
||
|
||
/** | ||
* Initializes the sample application. | ||
*/ | ||
self.initialize = function() { | ||
self.setupVariables(); | ||
self.populateCache(); | ||
self.setupTerminationHandlers(); | ||
|
||
// Create the express server and routes. | ||
self.initializeServer(); | ||
}; | ||
|
||
|
||
/** | ||
* Start the server (starts up the sample application). | ||
*/ | ||
self.start = function() { | ||
// Start the app on the specific interface (and port). | ||
self.app.listen(self.port, self.ipaddress, function() { | ||
console.log('%s: Node server started on %s:%d ...', | ||
Date(Date.now() ), self.ipaddress, self.port); | ||
}); | ||
}; | ||
|
||
}; /* Sample Application. */ | ||
|
||
|
||
|
||
/** | ||
* main(): Main code. | ||
*/ | ||
var zapp = new SampleApp(); | ||
zapp.initialize(); | ||
zapp.start(); | ||
|