Ingest ABF
Summary:
A lister is needed for ABF, a forge by the Russian Rosa Linux distro.
ABF has an API but unfortunately it requires authentication to use. It would let you list "platforms" and then list the "repositories" in each platform, and then list the "projects", which lets you get the web/ssh URLs of the git repo for the "project".
I haven't been able to find out if there is an unauthenticated way to list "repositories" of "projects", but I found two public ones using Google on the abf.io/abf.rosalinux.ru instance.
https://abf.io/soft
https://abf.io/import
https://abf.rosalinux.ru/soft
https://abf.rosalinux.ru/import
Once you know the "repository" names though, there is an unauthenticated way to list all of the git repos in them:
$ for page in `seq 1 5` ; do curl -sL "https://abf.io/soft?format=json&page=$page&visibility=all" | jq -r .projects[].path | sed 's_^_https://abf.io_;s/$/.git/' ; done
There are at least three instances of ABF, the first two seem to be duplicates though. All of them block all search engine robots, so they are hard to find in Google and the third one I couldn't find any "repositories" on without a login.
https://abf.io/
https://abf.rosalinux.ru/
https://abf.openmandriva.org/
Plan:
-
Implement lister -
Implement loader -
docker: Run lister -
docker: Run loader -
Document lister -
Document loader -
Deploy on staging -
Call for public review -
Deploy on production