-
Notifications
You must be signed in to change notification settings - Fork 7
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
Change default process type host to IPv6 ::
#354
Conversation
IPv6 is the future. Here's some more context heroku/roadmap#40. Related heroku/ruby-getting-started#165
Failing with:
The |
I think that's expected from the test runner - since the connection from the integration tests to the container will be IPv4. Does using For gunicorn I had to use
|
Good call. Looks like support might vary by webserver puma/puma#1356 (comment). With
With
I tried patching
|
ShortI think I can make this work by switching the default app to use LongI'm not 100% confident in this statement. But I'm leaning towards: Webrick supports IPv6 OR IPv4 but not both at the same time. While Rails w/ Puma can support both. Here's why I'm saying that: I booted Rails in a variety of configurations to see how it will look to When something is correctly bound to
Specifically When I boot with a host of
Webrick only binding to tcp6 and not tcp4. i.e. not
I get both binds:
I think that this will work with webrick in an environment where IPv6 is being used, but it won't support both IPv4 and IPv6 at the same time. It's an either/or scenario. My guess is that the tests are failing due to using IPv4 for requests in the test/docker environment. I'm going to try to switch it to using puma, but that basically means it won't work with webrick. |
This seems related: |
## heroku/ruby ### Changed - Default process types defined by the Ruby buildpack now use IPv6 host `::` which is equivalent of IPv4 host `0.0.0.0`. This will only affect applications that do not define a `web` process type via the `Procfile` and [Procfile Cloud Native Buildpack](https://github.com/heroku/buildpacks-procfile). Those applications must make sure to update their configuration to bind to an IPv6 host. ([#354](#354)) ### Added - The buildpack now warns the user when environmental variables used in running the default process are not defined. ([#307](#307))
## heroku/ruby ### Changed - Default process types defined by the Ruby buildpack now use IPv6 host `::` which is equivalent of IPv4 host `0.0.0.0`. This will only affect applications that do not define a `web` process type via the `Procfile` and [Procfile Cloud Native Buildpack](https://github.com/heroku/buildpacks-procfile). Those applications must make sure to update their configuration to bind to an IPv6 host. ([#354](#354)) ### Added - The buildpack now warns the user when environmental variables used in running the default process are not defined. ([#307](#307)) Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
## heroku/ruby ### Changed - Default process types defined by the Ruby buildpack now use IPv6 host `::` which is equivalent of IPv4 host `0.0.0.0`. This will only affect applications that do not define a `web` process type via the `Procfile` and [Procfile Cloud Native Buildpack](https://github.com/heroku/buildpacks-procfile). Those applications must make sure to update their configuration to bind to an IPv6 host. ([#354](heroku/buildpacks-ruby#354)) ### Added - The buildpack now warns the user when environmental variables used in running the default process are not defined. ([#307](heroku/buildpacks-ruby#307))
## heroku/ruby ### Changed - Default process types defined by the Ruby buildpack now use IPv6 host `::` which is equivalent of IPv4 host `0.0.0.0`. This will only affect applications that do not define a `web` process type via the `Procfile` and [Procfile Cloud Native Buildpack](https://github.com/heroku/buildpacks-procfile). Those applications must make sure to update their configuration to bind to an IPv6 host. ([#354](heroku/buildpacks-ruby#354)) ### Added - The buildpack now warns the user when environmental variables used in running the default process are not defined. ([#307](heroku/buildpacks-ruby#307)) Co-authored-by: heroku-linguist[bot] <136119646+heroku-linguist[bot]@users.noreply.github.com>
IPv6 is the future. Here's some more context heroku/roadmap#40.
Related heroku/ruby-getting-started#165