Merge pull request #199 from sspeiche/binding-update

Add support for binding style env vars
This commit is contained in:
Honza Horak 2018-09-19 08:22:06 +02:00 committed by GitHub
commit f9a97276a0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,14 +13,32 @@ var port = process.env.PORT || process.env.OPENSHIFT_NODEJS_PORT || 8080,
mongoURL = process.env.OPENSHIFT_MONGODB_DB_URL || process.env.MONGO_URL, mongoURL = process.env.OPENSHIFT_MONGODB_DB_URL || process.env.MONGO_URL,
mongoURLLabel = ""; mongoURLLabel = "";
if (mongoURL == null && process.env.DATABASE_SERVICE_NAME) { if (mongoURL == null) {
var mongoServiceName = process.env.DATABASE_SERVICE_NAME.toUpperCase(), var mongoHost, mongoPort, mongoDatabase, mongoPassword, mongoUser;
mongoHost = process.env[mongoServiceName + '_SERVICE_HOST'], // If using plane old env vars via service discovery
mongoPort = process.env[mongoServiceName + '_SERVICE_PORT'], if (process.env.DATABASE_SERVICE_NAME) {
mongoDatabase = process.env[mongoServiceName + '_DATABASE'], var mongoServiceName = process.env.DATABASE_SERVICE_NAME.toUpperCase();
mongoPassword = process.env[mongoServiceName + '_PASSWORD'] mongoHost = process.env[mongoServiceName + '_SERVICE_HOST'];
mongoPort = process.env[mongoServiceName + '_SERVICE_PORT'];
mongoDatabase = process.env[mongoServiceName + '_DATABASE'];
mongoPassword = process.env[mongoServiceName + '_PASSWORD'];
mongoUser = process.env[mongoServiceName + '_USER']; mongoUser = process.env[mongoServiceName + '_USER'];
// If using env vars from secret from service binding
} else if (process.env.database_name) {
mongoDatabase = process.env.database_name;
mongoPassword = process.env.password;
mongoUser = process.env.username;
var mongoUriParts = process.env.uri && process.env.uri.split("//");
if (mongoUriParts.length == 2) {
mongoUriParts = mongoUriParts[1].split(":");
if (mongoUriParts && mongoUriParts.length == 2) {
mongoHost = mongoUriParts[0];
mongoPort = mongoUriParts[1];
}
}
}
if (mongoHost && mongoPort && mongoDatabase) { if (mongoHost && mongoPort && mongoDatabase) {
mongoURLLabel = mongoURL = 'mongodb://'; mongoURLLabel = mongoURL = 'mongodb://';
if (mongoUser && mongoPassword) { if (mongoUser && mongoPassword) {
@ -29,7 +47,6 @@ if (mongoURL == null && process.env.DATABASE_SERVICE_NAME) {
// Provide UI label that excludes user id and pw // Provide UI label that excludes user id and pw
mongoURLLabel += mongoHost + ':' + mongoPort + '/' + mongoDatabase; mongoURLLabel += mongoHost + ':' + mongoPort + '/' + mongoDatabase;
mongoURL += mongoHost + ':' + mongoPort + '/' + mongoDatabase; mongoURL += mongoHost + ':' + mongoPort + '/' + mongoDatabase;
} }
} }
var db = null, var db = null,