./spider_yum.py /var/ftp/pub/repos/yum
https://wrigleys.postgresql.org/download/uploadyum/{"platforms": {"EL-9": [{"arch": "aarch64", "versions": ["16", "15", "14", "13", "12"]}, {"arch": "x86_64", "versions": ["16", "15", "14", "13", "12"]}], "EL-6": [{"arch": "x86_64", "versions": ["12", "11", "10", "96", "95", "94"]}, {"arch": "i386", "versions": ["12", "11", "10", "96", "95", "94"]}], "EL-7": [{"arch": "ppc64le", "versions": ["15", "14", "13", "12"]}, {"arch": "x86_64", "versions": ["15", "14", "13", "12"]}, {"arch": "aarch64", "versions": ["15", "14", "13", "12"]}], "EL-8": [{"arch": "x86_64", "versions": ["16", "15", "14", "13", "12"]}, {"arch": "ppc64le", "versions": ["16", "15", "14", "13", "12"]}, {"arch": "aarch64", "versions": ["16", "15", "14", "13", "12"]}], "F-40": [{"arch": "x86_64", "versions": ["16", "15", "14", "13", "12"]}], "F-38": [{"arch": "x86_64", "versions": ["16", "15", "14", "13", "12"]}], "F-39": [{"arch": "x86_64", "versions": ["16", "15", "14", "13", "12"]}]}}
It gets the platforms and the architectures as it previously did, however it now also finds the latest repo RPM for each platform/architecture combination and extracts the supported versions from the .repo file that would be installed. This seems to be the most robust way of doing this, largely because inferring version support from the RPMs we might find on the filesystem seems vulnerable to failure in various different potential ways.
The downside of this is that it requires two new Python modules to be installed (rpmfile and zstandard); we (the sysadmin team) would need to figure out the best way to do that on ftpmaster.