Querying Instance(s) from Specific Process Group in fly.toml and .internal DNS

I’m currently trying to iron out a situation involving two processes defined in my fly.toml file, with the goal of facilitating effective communication between them. To provide some context, my current setup involves nine operational machines.

When I query app_name.internal, all nine instances are appropriately returned as expected. However, the issue arises when I attempt to query process_group.process.app_name.internal. In this case, only a single instance is returned and it remains consistently the same one every time, with no apparent rotation among the instances in the process group, nor is a list of all instances provided.

Adding to the complexity, when I SSH into a different machine and conduct the same query, it still returns a single address, but it’s a different one. This behaviour is not something I’ve encountered in the documentation, and I’m left somewhat baffled. Would it be possible to use top2.nearest.of.process_group.process.app_name.internal?

My aim is to obtain a single instance address from a specific process group. I’m indifferent to which instance it is, as long as there is a rotation. I wonder if there’s a more straightforward way to achieve this? I’ve considered Flycast, but the problem lies in the fact that Flycast would expose the private process group as public. Given the way Fly structures its apps, an IP address is assigned to an app, which contains both my public and private process groups. I require the IP address for the public group, thus I cannot remove it, leaving me with the dilemma of inadvertently exposing my private group.

I would also rather not make them separate apps as they are required to be running the same version of underlying code, so it would be better if they were deployed together as is at the moment.

Could there be a configuration error or oversight on my part that’s leading to these problems? Any advice or insight into this issue would be greatly appreciated.

Thank you in advance for your assistance.

1 Like

Oh, I was just trying out this feature and had the same problem. <process-name>.process.<app-name>.internal only returns one [and always the same] instance of the app. It’s likely a bug because it doesn’t align with the documentation…

See if this workaround works for you: Process group-aware internal DNS: route between processes with ease! - #6 by containerops

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.