mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-02-19 03:54:24 +00:00
read config also from environment variables, merge on top of json file config
This commit is contained in:
@@ -2,7 +2,8 @@
|
|||||||
"all": {
|
"all": {
|
||||||
"slack": {
|
"slack": {
|
||||||
"token": "",
|
"token": "",
|
||||||
"channels": ""
|
"privateChannel": "",
|
||||||
|
"publicChannel": ""
|
||||||
},
|
},
|
||||||
"github": {
|
"github": {
|
||||||
"token": ""
|
"token": ""
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"_public_key": "94f3af35ad208d7bc7e3ddf1f9d181d090e3a1c74f9d56851c4f0f1efb04b571",
|
|
||||||
"newrelic_key": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:Pdy9ugoJ3SglDvX6lGz2AyS2eKHHPm2E:uSzlBglVbzdbPPy3Pp/UMiJQn+6hhx/d2ohg94E/zvoS+8Jtl/2tPf6CQ3uFtbFvymYuDAwm+Fs=]",
|
|
||||||
"all": {
|
|
||||||
"slack": {
|
|
||||||
"token": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:aXVSV+o3beRrV7ebgxf7c5D04RVnxu7s:Smhu1k+kH9IrlwUwzIuk2sJ/m+FuyLAbO4Da2PF0rIciwjJM881lM8GU+NcsxbuIUXMgzI1tRw/38hAAq6ISBA==]",
|
|
||||||
"private_channel": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:UMpbg7pcRg6nVYLQZV8r6VCRyKQ+9gKd:DapGJCT2/aOzLAn00EfTSMfHGV+/pSrzZw==]",
|
|
||||||
"public_channel": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:y8iIiUNS37cIAM7TBtExRmI9Cvn+LtRT:GjiDGA7mCUp5AaeKD4nnu9Qry9OUecI0DA==]"
|
|
||||||
},
|
|
||||||
"github": {
|
|
||||||
"token": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:EnbOnnCLRxPi7iZ1pWV8qVJc+avDKS9u:MZkoAW0i6SUhgZFBREyRN6jBGQ9ZqeslG45XHJpCKm3Spi7VxVG1xv75vCqRA0KW0Uzs7VwQaZo=]"
|
|
||||||
},
|
|
||||||
"twitter": {
|
|
||||||
"consumerKey": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:+1l4+Wdfd/0kegV1Xwu237xJut/XPRUi:fNTezQs1RJwTRZGlwm3Z3B6tV44H9nZUM/w7zYjyVyK8MpoX3NmhW68=]",
|
|
||||||
"consumerSecret": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:YbWwBsImZi2bxNSB9byt9faJzS5Ug8Sd:Y4rZWaQJaIHfuyOFBIXJHCKxlfxrid14zTM7yECumhX5MZBTFCyAH5LijJCuCqm9PtZElEFW2nOrsLQBtnyF1I3V]",
|
|
||||||
"token": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:3wRXcXnXmU5qekVuryuXT/sq1MuloOTe:TdGkIi7WEPXweAaVsLUjFekFrEHiTZuW7jr8Q4F8FLTjoXpHkwBD9f4SRnxQ4BC+CRRoaiOBe6zzTb99SWIDCZPS]",
|
|
||||||
"tokenSecret": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:DwFvhyEfkpgRXlcuXVh6iHZXbPnWwRRV:q+RFJ0SXe5wkiccmM7n8pWJNf62ByMW6IXLU2tZkpHEo2zosU+eMAkXtF52x5vJiYaWrIsxUcJeYzLFyEQ==]"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -4,4 +4,18 @@ var _ = require('lodash');
|
|||||||
var config = require('../config.json');
|
var config = require('../config.json');
|
||||||
var env = process.env.NODE_ENV || 'development';
|
var env = process.env.NODE_ENV || 'development';
|
||||||
|
|
||||||
module.exports = _.merge({}, config.all, config[env]);
|
// TWITTER_CONSUMER_KEY => twitter.consumerKey
|
||||||
|
function toPath(key) {
|
||||||
|
var parts = key.split('_');
|
||||||
|
|
||||||
|
var namespace = parts[0].toLowerCase();
|
||||||
|
var option = _.camelCase(_.tail(parts).join('_'))
|
||||||
|
|
||||||
|
return option ? [namespace, option].join('.') : namespace;
|
||||||
|
}
|
||||||
|
|
||||||
|
var envVars = _.reduce(process.env, function(memo, value, key) {
|
||||||
|
return _.set(memo, toPath(key), value);
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
module.exports = _.merge({}, config.all, config[env], envVars);
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"bluebird": "^2.9.3",
|
"bluebird": "^2.9.3",
|
||||||
"body-parser": "^1.10.1",
|
"body-parser": "^1.10.1",
|
||||||
"express": "^4.11.0",
|
"express": "^4.11.0",
|
||||||
"lodash": "3.0.0",
|
"lodash": "^3.10.1",
|
||||||
"morgan": "^1.5.1",
|
"morgan": "^1.5.1",
|
||||||
"node-twitter": "0.5.2",
|
"node-twitter": "0.5.2",
|
||||||
"superagent": "^0.21.0",
|
"superagent": "^0.21.0",
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ module.exports = {
|
|||||||
request
|
request
|
||||||
.post('https://koodiklinikka.slack.com/api/users.admin.invite')
|
.post('https://koodiklinikka.slack.com/api/users.admin.invite')
|
||||||
.field('email', email)
|
.field('email', email)
|
||||||
.field('channels', config.slack.public_channel)
|
.field('channels', config.slack.publicChannel)
|
||||||
.field('token', config.slack.token)
|
.field('token', config.slack.token)
|
||||||
.field('set_active', 'true')
|
.field('set_active', 'true')
|
||||||
.end(function(error, response){
|
.end(function(error, response){
|
||||||
@@ -42,7 +42,7 @@ module.exports = {
|
|||||||
request
|
request
|
||||||
.post('https://koodiklinikka.slack.com/api/chat.postMessage')
|
.post('https://koodiklinikka.slack.com/api/chat.postMessage')
|
||||||
.field('text', message)
|
.field('text', message)
|
||||||
.field('channel', config.slack.private_channel)
|
.field('channel', config.slack.privateChannel)
|
||||||
.field('token', config.slack.token)
|
.field('token', config.slack.token)
|
||||||
.end(function(error, response){
|
.end(function(error, response){
|
||||||
if(error) {
|
if(error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user