Strider-CD / strider-heroku

Strider plugin for heroku deployment
2 stars 8 forks source link

Refresh app list always give error "Failed to get accounts list for <account name>" #9

Open robotiko opened 9 years ago

robotiko commented 9 years ago

Hi have a strider instance running on heroku. The idea is to deploy a project on another heroku app.

With 1.2 update I managed to link the heroku account (no more localhost error with the heroku oAuth2 dance :D) and now I can see my account as "linked account" in the heroku plugin. The problem is that clicking the refresh Apps List to get the apps in the combo, it always shows the toast error "Failed to get accounts list for ". Created the api client and added the client keys as PLUGIN_HEROKU_CLIENT_ID (and KEY) to the heroku app running strider. -Used Heroku belt as described. Didn't work. -Added also in the web console as config vars. Still the same -Even added in strider web console as Environment Variables for the project to build. Same thing. -Desperation rules, also added as HEROKU_OAUTH_ID and key just in case. Same thing.

Debugging strider when the message appears I see an Error 500 and a json from heroku with failed to get apps from api: Status: 401; {"id":"unauthorized","error":"Invalid credentials provided."}

Regenerated the api just in case. Same issue. The thing is that if I try to rebuild the project manually, it shows the project as failed and shows

Error: Invalid heroku configuration. Account not found at module.exports.init (/app/node_modules/strider-heroku/worker.js:7:15) at /app/node_modules/strider-simple-runner/lib/index.js:258:14 at /app/node_modules/strider-simple-runner/node_modules/async/lib/async.js:454:21 at /app/node_modules/strider-simple-runner/node_modules/async/lib/async.js:185:13 at /app/node_modules/strider-simple-runner/node_modules/async/lib/async.js:86:13 at Array.forEach (native) at _forEach (/app/node_modules/strider-simple-runner/node_modules/async/lib/async.js:26:24) at async.forEach (/app/node_modules/strider-simple-runner/node_modules/async/lib/async.js:85:9) at _asyncMap (/app/node_modules/strider-simple-runner/node_modules/async/lib/async.js:184:9) at Object.map (/app/node_modules/strider-simple-runner/node_modules/async/lib/async.js:168:23)

But clicking on configure and then Heroku, it shows the linked heroku account.

Looks like I'm missing something, because it looks so dawn simple : D

Any hint? thanks!

terraboops commented 9 years ago

This whole plugin needs some work. I intend to clean it up, but it'll take a few releases.

Have you tried recreating the project since you authorized Heroku?

This is the workflow that worked for me:

robotiko commented 9 years ago

Hi tylermauthe, thank you for replying.

Yes I tried a couple of times without success . But one last try started working!!. However happiness was short, and stopped working a few hours later. I'm testing Strider on Heroku so I guess that something is written to file instead of DB and is gone after waking up the dyno. :( (related to strider issue #718).

Thanks

terraboops commented 9 years ago

Ah okay, that is good info. I will investigate this while I investigate #8. I have the exact same setup as you, so any info you can provide is very helpful.

For myself, I've found that once I've added the app to the project I can continue to deploy to my dyno; even after Strider goes to sleep from idling.

robotiko commented 9 years ago

Hi tylermauthe, you are right. Once you manage to save the project to a good heroku app (dyno), it seems to work normally. It compiles, deployes,etc. I guess it is because there is a webhook from the repo (here I'm using bitbucket/git) that wakes up the dyno and the Heroku bundled plugin version is good enough to make the deploy and just seems to fail with the apps listing. So the half good news is that if you manage to add the list of heroku dynos for the project set up, you can use strider normally.

I will keep adding detailed findings for "the next to come" ;).

Best

DevAlien commented 9 years ago

The problem is that ssh-keypair generates an dss key which heroku does not like so nothing works. Even if you add a new account.

So the ssh-key must be one that is supported:"ssh-dsa, ssh-rsa, ecdsa-sha2-nistp256"

Generating an ssh-rsa it works (adding the account to your account) but when you want to do the same in a project it does not work :(

DevAlien commented 9 years ago

Oh yes, with the updated plugin, (having an RSA key works). So i guess you should change this ssh-keypair library.

ixisio commented 9 years ago

Any updates here?