I have a Heroku app making some API calls to an external service. There are some issues and the service wants to know what IPs are making the calls.
A lot of the basic
Get the list of dynos with the heroku ps -a
command.
You actually can ssh into individual dyno instances with heroku ps:exec -a
.
Get the individual dyno IP with the ip
command e.g. ip addr | grep "global eth0" | awk '{ print $2 }'
.
Get the router IP with curl 'https://api.ipify.org'
. http://httpbin.org/ip is also good.
You could use expect
to programmatically retrieve the IPs from every dyno by running the Heroku SSH command, waiting for the prompt, running the IP command(s), logging out, then repeating for each dyno instance.