Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heroku Legacy Platform has been deprecated (heroku_san will stop working soon?) #177

Open
iacobus opened this issue Jun 12, 2017 · 25 comments

Comments

@iacobus
Copy link

iacobus commented Jun 12, 2017

Hello,

Thanks for your work on heroku_san. I'm opening this issue to flag the fact that heroku-api (https://github.com/heroku/heroku.rb), a core dependency to heroku_san, has officially been deprecated by Heroku, and it was deemed "sunset" as of April 15th, 2017. heroku-api implements what Heroku calls the "Heroku Legacy API". [1]

Since I was surprised that we could still use heroku_san, I've reached out to Heroku and they confirmed that such sunset has been "soft", as in that they are so far testing brownouts to get customers to move off the legacy API, but they plan to fully sunset it "in the short term".

From my understanding of heroku_san, the dependency on heroku-api is core, and presumably it'll stop functioning when Heroku does in fact sunset the Legacy API. Am I understanding the issue correctly? If so, is work to migrate heroku_san to https://github.com/heroku/platform-api, the new Heroku API, already happening, or where do we stand in terms of the future of the tool?

Thank you!

[1] https://devcenter.heroku.com/changelog-items/862 & https://blog.heroku.com/sunsetting_heroku_s_legacy_platform_api_v2

@arsandov
Copy link

Do you know any alternative? This API will be shutdown on June 26th https://devcenter.heroku.com/changelog-items/1147

@iacobus
Copy link
Author

iacobus commented Jun 23, 2017

Hey @arsandov — we already had a custom deploy strategy inheriting from HerokuSan::Deploy::Base, so we've opted to replace our calls to HerokuSan::API methods (that at the moment rely on method_missing) with calls to HerokuSan::API#sh method and directly use the Heroku CLI in the deployment machine. For example, replacing api.post_app_maintenance(app, "1") with api.sh(app, "maintenance:on"). Our strategy did not have much exposure to the broad API so this was a fairly quick task. I think we'll stick to this as long as the future of heroku_san remains unclear.

@kmayer
Copy link
Contributor

kmayer commented Jun 23, 2017 via email

@kmayer
Copy link
Contributor

kmayer commented Jun 27, 2017

I use heroku_san every day, and so far, it hasn't failed. When it does, it'll be high on our developer backlog to get it running again. Until then, I'm resource deprived. I'm casting out for some pairing love, in hopes that two brains will get this done sooner.

@arsandov
Copy link

arsandov commented Jun 28, 2017

Thanks for the possible approach @iacobus. We use heroku_san to deploy our app, after the API sunset, we have a minor error while doing deploying in the last step (after running migrations), it looks like dynos are not being restarted, running manually heroku restart -a appname fix this issue

@ashercoren
Copy link

We are facing the same problem. Get an error at the last step. This sometimes terminates the deployment.

@driedyam
Copy link

We've been hand-rolling our deploys since the API sunset. Be great if this got updated.

@kmayer
Copy link
Contributor

kmayer commented Jul 20, 2017 via email

@ItamarShDev
Copy link

Hey! any progress regarding this matter?

@kmayer
Copy link
Contributor

kmayer commented Jul 25, 2017

I'll let you know by Thursday morning

@driedyam
Copy link

Sooooo?

@jqr
Copy link
Owner

jqr commented Jul 28, 2017

I can understand the serious interest in updates, but just remember this is open source code. It's made by people just like you in their very limited free time. If you need this right away, the best move is to jump in and help! 😀

@driedyam
Copy link

Sure thing! I'm just giving Ken a hard time. We are actually good friends, so no pushiness intended.

@kmayer
Copy link
Contributor

kmayer commented Jul 28, 2017

Barretto, I'd totally forgotten about your obscure, vegetative state github handle. As an update, instead of going to the meet up and happy hacking, I was on nursing duty, again. And now, I think, I've got whatever plague Asher, Aidan and Amy have. At least I'm not pooping on the floor like the cat. TMI? FOSS me, baby. Free. Open.

@ItamarShDev
Copy link

so....
any news?

@ItamarShDev
Copy link

i dont want to bother ans sound rude, but is there any plan to update this?

@kmayer
Copy link
Contributor

kmayer commented Sep 27, 2017 via email

@kristopher
Copy link

kristopher commented Sep 29, 2017 via email

@tansaku
Copy link

tansaku commented Nov 23, 2017

@kmayer so what do we need to do to get this sorted?

@tansaku
Copy link

tansaku commented Nov 24, 2017

Sorry, that was a bit wooly. I see that heroku has switched apis. So presumably we need a wrapper for the new api and to hook that up to heroku_san and then test each function in turn.

I'll check out today and start poking around. I guess it all depends how divergent the new api is and how the old api is connected up to heroku_san ...

@tansaku
Copy link

tansaku commented Nov 24, 2017

I have it all installed and tests passing - looks like api namespace is mapped over directly, so whatever folks type in as a command can get sent directly to the api ... hmmm

@ItamarShDev
Copy link

@tansaku any updates?

@kmayer
Copy link
Contributor

kmayer commented Nov 27, 2017

Looking at the code, this isn't a hard change.

@ItamarShDev This is an open source project. It is supported by the generous donation of our free time. Sam and I spent a couple of hours this weekend looking at it. If you want it to move faster, put up something, yourself.

I use this in production on our cedar-14 stack and it is still working for us. I can guarantee that the day it stops working for us, I will dedicate engineering resources ($$$) to it. So you can wait until I have funds, or you can write code.

Stop asking for updates. I don't work for you. When we have something, you'll see a commit or a pull request, or my tweets.

@driedyam
Copy link

If it is of any help to anybody, I've updated to the new api in my fork https://github.com/Cureus/heroku_san. I didn't have the bandwidth to translate all the features like dynamic app creation, but only did the ones necessary to run our project. This includes maintenance, web, workers, and restarting. Deploying and tailing logs should have continued to work, even with the old api, so that was a no-op. I've updated the tests to the modules that were updated, but yanking out the old api obviously breaks the tests for all the other methods I haven't touched which is the only reason why I haven't done a pull request yet. If somebody wants to fill in the rest of the blanks from my fork, be my guest!

@ItamarShDev
Copy link

@kmayer i asked @tansaku about updates on his research, and not for updates of the library :)
i wanted to know the results of his research to try and help acctually
sorry if it was misunderstood.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants