I recently deployed udns, a Machine app, with flyctl to all available Fly regions, and found that, one VM is spun-up per connection instead of the connection being sent to an already alive VM.
The Machine app’s services section contains:
[[services]]
internal_port = 8080
protocol = "tcp"
[services.concurrency]
hard_limit = 75
soft_limit = 60
type = "connections"
But when I fetch config for the app, it shows:
$ fly config display -a udns
...
"services": [
{
"concurrency": {
"hard_limit": 25,
"soft_limit": 20,
"type": "connections"
},
...
Though, it behaves as if hard_limit was set to 1.
Besides, I notice that kill_timeout and services.tcp_checks sections are also different from what’s defined in my Machine app’s toml that I flyctl deploy -c deployed with.