Skip to content
Snippets Groups Projects
Commit 6c774fca authored by Template builder's avatar Template builder
Browse files

Creating template

parents
No related branches found
No related tags found
No related merge requests found
For information about action hooks supported by OpenShift, consult the documentation:
https://github.com/openshift/origin-server/tree/master/node/README.writing_applications.md#action-hooks
The OpenShift `nodejs` cartridge documentation can be found at:
https://github.com/openshift/origin-server/tree/master/cartridges/openshift-origin-cartridge-nodejs/README.md
#
# ***************************************************************************
#
# 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.
#
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Welcome to OpenShift</title>
<style>
html {
background: black;
}
body {
background: #333;
background: -webkit-linear-gradient(top, black, #666);
background: -o-linear-gradient(top, black, #666);
background: -moz-linear-gradient(top, black, #666);
background: linear-gradient(top, black, #666);
color: white;
font-family: "Helvetica Neue",Helvetica,"Liberation Sans",Arial,sans-serif;
width: 40em;
margin: 0 auto;
padding: 3em;
}
a {
color: white;
}
h1 {
text-transform: capitalize;
-moz-text-shadow: -1px -1px 0 black;
-webkit-text-shadow: 2px 2px 2px black;
text-shadow: -1px -1px 0 black;
box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.5);
background: #CC0000;
width: 22.5em;
margin: 1em -2em;
padding: .3em 0 .3em 1.5em;
position: relative;
}
h1:before {
content: '';
width: 0;
height: 0;
border: .5em solid #91010B;
border-left-color: transparent;
border-bottom-color: transparent;
position: absolute;
bottom: -1em;
left: 0;
z-index: -1000;
}
h1:after {
content: '';
width: 0;
height: 0;
border: .5em solid #91010B;
border-right-color: transparent;
border-bottom-color: transparent;
position: absolute;
bottom: -1em;
right: 0;
z-index: -1000;
}
h2 {
margin: 2em 0 .5em;
border-bottom: 1px solid #999;
}
pre {
background: black;
padding: 1em 0 0;
-webkit-border-radius: 1em;
-moz-border-radius: 1em;
border-radius: 1em;
color: #9cf;
}
ul {
margin: 0;
padding: 0;
}
li {
list-style-type: none;
padding: .5em 0;
}
.brand {
display: block;
text-decoration: none;
}
.brand .brand-image {
float: left;
border: none;
}
.brand .brand-text {
float: left;
font-size: 24px;
line-height: 24px;
padding: 4px 0;
color: white;
text-transform: uppercase;
}
.brand:hover,
.brand:active {
text-decoration: underline;
}
.brand:before,
.brand:after {
content: ' ';
display: table;
}
.brand:after {
clear: both;
}
</style>
</head>
<body>
<a href="http://openshift.com" class="brand">
<img class="brand-image"
alt="OpenShift logo"
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAYAAABU1PscAAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAARHgAAER4B27UUrQAABUhJREFUWMPFWFlsVGUU/s5/70zbaSltA7RQpJ2lC9CFkQkWIgSJxkAhRA0JCYFq4hPG6JsoGKNCtPigxqhvGlPAuGIaE4igNaElbIW2yNL2tkOtTYGWCqWF2e79fCh7p1Bmpnge/3vuOef7z/nPJiTxMHS6pMRuu6YqFNTTAJYSyAU4GZB0AH2AGCANAfc5Qrba6T3HrmECScYLwCioSIcV2AjidQDZ45Q/LJRaWrLV03X89P8GwHB5XwG4DcDkGPWEBKimNrzN094efGQAzjm9GWHFr4R4LiHKgFaSL3r8zYcmHEBbkW+KFo7UEyhKsNeHlMgyV8eJo4kQpqId9ub6HCoc+XWcxl8lcBTATwDax8GfZtHa054/f/bNg8ZcnyOhHjBc834E8MJ9/vML8aYZQX1hd1PP3WFXkhMRfYkIlpOoGomc0WRRTnch+XAQWG2KTNJNLbuy68C/cQMwXOWrAKkdgz8A8kMdg9X5fn/gQcI7POXLaMk3AGbe/P8SbF0D1KcGRGXpIJJpIQkWBHhnsf/Ie3GF0DmnMxmQT8bg7RellXr8ze+Ox3gAcBvNf+iUUhH5FODLSvScAerDGpiVxTAyGUYKzICA34nCwbhDyHB7N4L8PAofhVzh9jfvjffR/ZZTnupIsR8G0C9EjW7Tfnii/dBgrPL0u83kmjHy33Z3Z/zG97uKi7xpWA8GHZpE1mcZRne8MvXblfbxqQAWR+Fp+mdW5hZPjAqu5JVlhrTwOgrXi2ABbjjchF4FYGvi0qhprgagjYod4OeldXWRWBUEtdBjEH4mwIJ7vF2V4Dqgot0+NEFdPAqmdZ5tAXA8Slx6LrpKsxMHQJge5ft1v0oe2OOu+PZ39+LCOFqImqiXo8JzAeBkXlnmnoKK9LgACJl2R9gELsHW1saUwKCpnbIoa8UMTokVgGXJmSjHkfNWUlWDy9d6USVdyoiEF8b1iElxQKHuPG1D/bCtVEBhCiykMQQFgCK2mN2sSx+tkdcbhGq7wKSkK9RnmsCG2xVSLsflAR1S6eloWhawtF8yGJGskSJDBdQR8pIjZMXcfFmm1gOg2lRaSRdT1AD1PBPQbCAyxcRMifCpc41HEtILNbh9s8SSvYTUmBp2LDGOdCOB1OD0XbeByWliwY5bugc9nU2T4wqhCx7PNAV9bSGwARp3TzVaP0j09GQUzJubLUgefY3SEHMh63MVr4FIlYL+7C1AlCwAmxM+/plYy6hhgN2xp1HBawAr72krnH3uoicTaXyHx7uIwKZoT0QhUhszAAI7x7ivL0a60/jp77yyTFrWt6N6rxE99c7OkxdiBhC2y/cAorXHpama/aNG8dkOO32b6p3zTzXmeysfPu4LkkKafA3IrGjfCfPtuGfiPlfx+xBsuWtwpa3zIuy2YaoZ5o0eSQc5TVnb53aeeAuk9eBtRvkqUH0MoTsqA7nL429eFzeA3lyfQ08eaiNgCrjTYNozQ1S+WyUfQCosTLqZ+oiDUNwhggPujpZTuCMXGwUV6cJgKYnNIJffR3df2NLLZ5871puQrUR//pzpU7rOnAfJP53eDELrsoPpk4RIGRn5xqIBAAdBOCAoBjBjPJsJUdZSt9HSOGFrld5cn2M4KbwfkIUJzqYhQlYWdJ7YN2FrFQCY3nPsmk61AuSuRNYyUdaiRBk/7tViR37Zcir1JYC8WNshgjWWPfhq0dmzVx/5bhQAWnLKU1Md8gZHOsjxAgmD2GEKq4s6m1sxASQPu16HiBh53goqPg9ac0TEcwNQEOBlQAZEcMgC94dDZt2c7r8GMIH0H43ZRDC51RVCAAAAAElFTkSuQmCC">
<div class="brand-text"><strong>Open</strong>Shift</div>
</a>
<h1>
Welcome to OpenShift
</h1>
<p>
Place your application here
</p>
<p>
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:
</p>
<pre>
git commit -a -m 'Some commit message'
git push
</pre>
<p>
Then reload this page.
</p>
<h2>
What's next?
</h2>
<ul>
<li>
Why not visit us at <a href="http://www.openshift.com">http://www.openshift.com</a>, or
</li>
<li>
You could get help in the <a href="http://www.openshift.com/forums/openshift">OpenShift forums</a>, or
</li>
<li>
You're welcome to come chat with us in our IRC channel at #openshift on freenode.net
</li>
</ul>
</body>
</html>
{
"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://www.openshift.com/"
},
"homepage": "http://www.openshift.com/",
"repository": {
"type": "git",
"url": "https://gitub.com/openshift/origin-server"
},
"engines": {
"node": ">= 0.6.0",
"npm": ">= 1.0.0"
},
"dependencies": {
},
"devDependencies": {},
"bundleDependencies": [],
"private": true,
"main": "server.js"
}
server.js 0 → 100755
#!/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 = { };
// Routes for /health, /asciimo and /
self.routes['/health'] = function(req, res) {
res.send('1');
};
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();
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment