flyctl icon indicating copy to clipboard operation
flyctl copied to clipboard

Command 'flyctl platform vm-sizes --json' does not print output in JSON format

Open gskierk opened this issue 11 months ago • 3 comments

flyctl v0.3.56

Command output:

Machines platform
NAME            CPU CORES       MEMORY   
shared-cpu-1x   1               256 MB
shared-cpu-2x   2               512 MB
shared-cpu-4x   4               1 GB  
shared-cpu-8x   8               2 GB  

NAME            CPU CORES       MEMORY   
performance-1x  1               2 GB  
performance-2x  2               4 GB  
performance-4x  4               8 GB  
performance-8x  8               16 GB 
performance-16x 16              32 GB 

NAME            CPU CORES       MEMORY  GPU MODEL      
a10             8               32 GB   a10           
a100-40gb       8               32 GB   a100-pcie-40gb
a100-80gb       8               32 GB   a100-sxm4-80gb
l40s            8               32 GB   l40s

gskierk avatar Jan 03 '25 10:01 gskierk

Hi @gskierk, I would like to contribute to fixing this bug. Can I get any pointers? Like how output should look.

Regards Mahathi

Mahathi1404 avatar Feb 16 '25 17:02 Mahathi1404

Hi @gskierk, I would like to contribute to fixing this bug. Can I get any pointers? Like how output should look.

Regards Mahathi

I don't know how it looked before this regression, sorry. Also, there is no structure of the data in the documentation here: https://fly.io/docs/flyctl/platform-vm-sizes/

But maybe fixing it will just restore the old structure.

gskierk avatar Feb 16 '25 18:02 gskierk

I wasn't able to find a reference on how it used to look, so I made it look like the following:

{
    "shared": [
        {
            "name": "shared-cpu-1x",
            "cpu_cores": "1",
            "memory": "256 MB"
        },
        {
            "name": "shared-cpu-2x",
            "cpu_cores": "2",
            "memory": "512 MB"
        },
        {
            "name": "shared-cpu-4x",
            "cpu_cores": "4",
            "memory": "1 GB"
        },
        {
            "name": "shared-cpu-8x",
            "cpu_cores": "8",
            "memory": "2 GB"
        }
    ],
    "performance": [
        {
            "name": "performance-1x",
            "cpu_cores": "1",
            "memory": "2 GB"
        },
        {
            "name": "performance-2x",
            "cpu_cores": "2",
            "memory": "4 GB"
        },
        {
            "name": "performance-4x",
            "cpu_cores": "4",
            "memory": "8 GB"
        },
        {
            "name": "performance-8x",
            "cpu_cores": "8",
            "memory": "16 GB"
        },
        {
            "name": "performance-16x",
            "cpu_cores": "16",
            "memory": "32 GB"
        }
    ],
    "gpu": [
        {
            "name": "a10",
            "cpu_cores": "8",
            "memory": "32 GB",
            "gpu_model": "a10"
        },
        {
            "name": "a100-40gb",
            "cpu_cores": "8",
            "memory": "32 GB",
            "gpu_model": "a100-pcie-40gb"
        },
        {
            "name": "a100-80gb",
            "cpu_cores": "8",
            "memory": "32 GB",
            "gpu_model": "a100-sxm4-80gb"
        },
        {
            "name": "l40s",
            "cpu_cores": "8",
            "memory": "32 GB",
            "gpu_model": "l40s"
        }
    ]
}

If this looks okay to the Fly.io team, I can open a pull request.

rynhndrcksn avatar Feb 27 '25 02:02 rynhndrcksn