Reputation: 33
I want to read VCAP_SERVICES during my app startup to connect to my mongodb service, but its null?
barry-alexanders-MacBook-Pro:~ barryalexander$ vmc create-service mongodb mongodb-relcal RelCal
Creating Service: OK
Binding Service [mongodb-relcal]: OK
Stopping Application 'RelCal': OK
Staging Application 'RelCal': OK
Starting Application 'RelCal': OK
barry-alexanders-MacBook-Pro:~ barryalexander$ vmc apps
+-------------+----+---------+-------------------------+----------------+
| Application | # | Health | URLS | Services |
+-------------+----+---------+-------------------------+----------------+
| RelCal | 1 | RUNNING | relcal.cloudfoundry.com | mongodb-relcal |
| barry | 1 | STOPPED | barry.cloudfoundry.com | |
+-------------+----+---------+-------------------------+----------------+
barry-alexanders-MacBook-Pro:~ barryalexander$ vmc env RelCal
No Environment Variables
Upvotes: 1
Views: 277
Reputation: 3984
VCAP_SERVICES is not revealed when using the vmc 'env' command. However we can see by pushing this simple node app
var http = require('http');
var util = require('util');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write(util.inspect(process.env.VCAP_SERVICES));
res.write("\n\n************\n\n");
res.end(util.inspect(req.headers));
}).listen(3000);
the output shows the VCAP_SERVICES env variable and then the headers for the request, the output looks like this;
'{"mongodb-2.0":[{"name":"mongo-test","label":"mongodb-2.0","plan":"free","tags":["mongodb","mongodb-1.8","nosql","document"],"credentials":{"hostname":"172.30.48.70","host":"172.30.48.70","port":25137,"username":"7ad80054-bb70-49fa-9aae-6ff5c1b458fc","password":"491bcfe9-e441-4caf-8422-00a81dbf727b","name":"4b354e7e-c39d-4053-89e1-7195b1360fd9","db":"db","url":"mongodb://7ad80054-bb70-49fa-9aae-6ff5c1b458fc:[email protected]:25137/db"}}]}'
************
{ host: 'node-headers.cloudfoundry.com',
'x-forwarded-for': '80.175.199.28, 172.30.8.253',
connection: 'close',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.82 Safari/537.1',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'accept-language': 'en-US,en;q=0.8',
'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'x-cluster-client-ip': '80.175.199.28',
cookie: '__qca=P0-351832036-1339515989739; s_nr=1344955391423; __utma=207604417.1698837494.1342027762.1345020276.1345215879.7; __utmc=207604417; __utmz=207604417.1342027762.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); s_cc=true; s_sq=%5B%5BB%5D%5D',
'accept-encoding': 'gzip,deflate,sdch' }
You can see this application running at http://node-headers.cloudfoundry.com if you wish to use it for reference.
Upvotes: 4