Skip to content

Commit c6610c4

Browse files
authored
Merge pull request #13 from yappbox/heroku-api-redis-resolving
Resolve redis URL via Heroku Platform API when env.REDIS_URL is not defined and env.HEROKU_PLATFORM_API_TOKEN is defined
2 parents f4ddb6b + 45a857b commit c6610c4

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

index.js

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,20 @@ module.exports = {
118118
if (deployTarget === 'qa' || deployTarget === 'prod') {
119119
if (!ENV.redis.url || ENV.redis.url === '') {
120120
return new RSVP.Promise(function(resolve, reject){
121-
var exec = require('child_process').exec;
122-
exec('heroku config:get REDIS_URL --app ' + herokuAppName, function (error, stdout, stderr) {
123-
ENV.redis.url = stdout.replace(/\n/, '');
124-
resolve(ENV);
125-
});
121+
if (process.env.HEROKU_PLATFORM_API_TOKEN) {
122+
const Heroku = require('heroku-client');
123+
let heroku = new Heroku({ token: process.env.HEROKU_PLATFORM_API_TOKEN });
124+
heroku.get(`/apps/${herokuAppName}/config-vars`).then(function(configVars){
125+
ENV.redis.url = configVars.REDIS_URL;
126+
resolve(ENV);
127+
});
128+
} else {
129+
var exec = require('child_process').exec;
130+
exec('heroku config:get REDIS_URL --app ' + herokuAppName, function (error, stdout, stderr) {
131+
ENV.redis.url = stdout.replace(/\n/, '');
132+
resolve(ENV);
133+
});
134+
}
126135
});
127136
}
128137
}

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"dependencies": {
2727
"ember-cli-deploy-lightning-pack": "^4.2.2",
2828
"ember-cli-deploy-slack": "^1.0.1",
29+
"heroku-client": "^3.1.0",
2930
"rsvp": "^4.8.5"
3031
},
3132
"ember-addon": {

yarn.lock

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4622,6 +4622,14 @@ heimdalljs@^0.2.5, heimdalljs@^0.2.6:
46224622
dependencies:
46234623
rsvp "~3.2.1"
46244624

4625+
heroku-client@^3.1.0:
4626+
version "3.1.0"
4627+
resolved "https://registry.npmjs.org/heroku-client/-/heroku-client-3.1.0.tgz#7e3f6804d18a6ee9e3a774ff8bc9861b9b1a4725"
4628+
integrity sha512-UfGKwUm5duzzSVI8uUXlNAE1mus6uPxmZPji4vuG1ArV5DYL1rXsZShp0OoxraWdEwYoxCUrM6KGztC68x5EZQ==
4629+
dependencies:
4630+
is-retry-allowed "^1.0.0"
4631+
tunnel-agent "^0.6.0"
4632+
46254633
highlight.js@^10.7.1:
46264634
version "10.7.3"
46274635
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
@@ -5232,6 +5240,11 @@ is-promise@^2.1.0:
52325240
version "2.1.0"
52335241
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
52345242

5243+
is-retry-allowed@^1.0.0:
5244+
version "1.2.0"
5245+
resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
5246+
integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
5247+
52355248
is-ssh@^1.3.0:
52365249
version "1.3.1"
52375250
resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3"

0 commit comments

Comments
 (0)