Thanks for reporting this. As far as I can tell, flyctl status doesn’t currently support JSON output for apps on the machines platform.
When did you start running into this issue? (Did you recently switch to using apps v2/the machines platform?) Also, if you’re able/willing to share publicly, could you tell me a little more about what you’re using the JSON output for?
@MatthewIngwersen thanks, actually I got a response from Sam via email as well. He suggested forcing nomad as a workaround:
fly launch --force-nomad
fly deploy --force-nomad
fly apps create --nomad
I did recently change our default for new apps to machines. We are planning on migrating our production app to v2, so it’s good to know that we’ll either need to wait for this bug to be resolved in flyctl or change our deployment workflow (obviously, the former would be preferable). In the short term, for our “per-PR” apps such as this one, forcing nomad should be fine.
We just released flyctl version 0.0.487, which ships with an implementation of flyctl status --json for Apps v2. We tried to keep the output close to the original, though there a few changes to be aware of:
The DeploymentStatus field is gone, since it’s not set for v2 apps.
The Allocations field is replaced with Machines, which lists all Apps v2–managed machines in the general case or, for a Postgres app, just all machines. (This is the same behavior as the tabular text output.) The data comes from the Machines API and is exactly what you’d get if you accessed it directly.
There’s a new PlatformVersion field that’s set to machines so that you can differentiate it from Apps v1.
If you have any further issues with this, please let me know!