UNPKG

stackato-assist

Version:

A utility library for easy assistance in getting your node app running on Stackato.

123 lines (93 loc) 3.34 kB
# Stackato-Assist ## A utility library for easy assistance in getting your node app running on Stackato. ## Install npm install stackato-assist or add to your package.json dependencies. ## Usage var stackato = require('stackato-assist'); if(stackato.isStackato){ // Basic App settings // ------------------ // listen port stackato.port // instance id stackato.instanceID // application host IP stackato.host // sudo enabled stackato.sudo // Registered application URIs for(uri in stackato.app.uris){ console.log(stackato.uris[uri]); } // User / Groups // -------------- // Users who have access to this app for(user in stackato.app.users){ console.log(stackato.users[user]); } // Group for this app stackato.app.group ## Services and database connection providers Stackato-assist can easily provide database connections by only passing in the service name you gave when creating the service, or as defined in stackato.yml: // Database services // ----------------- // true / false stackato.hasMongoDB stackato.hasRedis stackato.hasMySQL stackato.hasPostgreSQL // Get a service by name // --------------------- stackato.getService('myMongodb1', function(err, service){ console.log(service.host); console.log(service.db); // ... // }); // Persistent Filesystem service // ----------------------------- stackato.hasFileSystem // true/false stackato.fileSystemPath // /path/to/fs // Harbor external port service // ---------------------------- stackato.hasHarbor // true/false stackato.harborPort // port # // MongoDB connection helper // ------------------------- stackato.connectMongoDB('serviceName', function(err, client){ //client.collection(...) }); // Redis connection helper // ------------------------- stackato.connectRedis('serviceName', function(err, client){ //client.set("string key", "string val", redis.print); // ... }); // PostgreSQL connection helper // ------------------------- if(stackato.hasPostgreSQL){ stackato.connectPostgreSQL('x3p', function(err, client, pg){ client.query("SELECT NOW() as when", function(err, result) { console.log("Row count: %d",result.rows.length); // 1 console.log("Current year: %d", result.rows[0].when.getFullYear()); pg.connect(function(err, clientTwo){ // clientTwo.query(...) a new client object using connection params already set // by stackato-assist }); //pg.end(); //terminate the client pool, disconnecting all clients }); }); } // MySQL connection helper // ------------------------- if(stackato.hasMySQL){ stackato.connectMySQL('x4m', function(err, conn){ connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { if (err) throw err; console.log('The solution is: ', rows[0].solution); }); // connection.end(); }); }