-
Notifications
You must be signed in to change notification settings - Fork 137
Use the recommended c-ares
DNS backend instead of evdns
?
#188
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
Comments
@mble Any thoughts on this? 🙂 |
@mble-sfdc Oh sorry realised I CCed your personal account rather than your work one. I forgot to mention, that if this library was something the Data team did want, there would be a lag between when we add it to the base image and when it's available in Private Spaces at run time (due to the way image rollouts work there), so to be safe we'd need to wait several weeks after adding before recompiling pgbouncer in this buildpack. (So the sooner we'd add the package the better for avoiding blocking you.) |
@edmorley It's probably something we could consider. If we can get it into the stack images, I think we can look at building it with We've got a whole thing lined up around this buildpack to do some renovation so it would align well with it, I think. |
So that PgBouncer can use its recommended `c-ares` based DNS backend: heroku/heroku-buildpack-pgbouncer#188 https://www.pgbouncer.org/install.html https://c-ares.org/ The package is named `libcares2` on Heroku-24 and `libc-ares2` on older stacks: https://packages.ubuntu.com/noble/libcares2 https://packages.ubuntu.com/jammy/libc-ares2 https://packages.ubuntu.com/focal/libc-ares2 This only adds ~200 KB to the run image. I've not added the corresponding headers to the build image, since: - For the PgBouncer use-case they can instead be installed in the build environment used to compile the PgBouncer binaries. - There don't seem to be many popular `c-ares` language bindings that people might use directly in their apps. GUS-W-15826387.
I've added
Also, I chose not to add the headers to the build image (since there don't seem to be much need for them for eg |
The addition of the As such, it's now safe for this buildpack to start compiling builds that have that backend enabled. Note: The build Dockerfile/scripts will need to install the headers ( |
Fantastic, thanks @edmorley |
Uh oh!
There was an error while loading. Please reload this page.
The upstream PgBouncer project supports multiple DNS backends, described in the table here:
https://www.pgbouncer.org/install.html
That page then goes on to say:
However, the pgbouncer binaries used by this buildpack currently use
evdns
instead ofc-ares
since the library for the latter isn't in the Heroku base image.The library is small, so we (the languages team) would be open to adding it to the base image to allow this buildpack to switch to the
c-ares
backend - if that would be of interest to the Data team?https://packages.ubuntu.com/noble/libc-ares-dev
https://packages.ubuntu.com/noble/libcares2
The text was updated successfully, but these errors were encountered: