ocaml/opam-repository

[Question]: Source code of packages hosted on ipv6 only website

Closed this issue · 5 comments

I have a question, In general, is it an issue if the source code of a package is hosted on a website on reachable via ipv6 ?

Thanks for your time.

We (opam-repo maintainers) discussed this during the maintenance meeting. We think it would be ok because opam provides some tools for mirroring and such.

Don't hesitate to open a PR with your package and there can be a more thorough discussion there with more people involved.

Ok, thanks you for your reply and time.

avsm commented

This will cause quite a bit of pain to users of opam-repo who are stuck on IPv4-only infra (such as GitHub actions actions/runner-images#668). I think, sadly, that the primary URL for a package being ipv6-only would be problematic in opam-repo in practise unless there's a way to make the opam client fallback on failure to an alternative source automatically. Otherwise the opam install would just fail.

My perspective (that I shared in the opam-repository meeting):

  • the opam.ocaml.org machine(s) have IPv6 addresses assigned, so we assume they will be able to download and cache the archives,
  • there's a zoo of CI machines and docker images which use this git repository as opam source. here, if you encounter such a docker image and have control, please add to ~/.opam/config the line archive-mirrors: [ "https://opam.ocaml.org/cache" ] -- and now magically, the opam.ocaml.org host will be used for tarballs (so, ipv4/ipv6 will be fine, and the cache will be fine).

If you're aware of any other systems that are not able to use the archive-mirrors, please discuss. But keep in mind that legacy IP is going away and you need a lot of privileges to host your stuff on IPv4 systems -- plus we have all the bits and pieces in place to smoothly transition to IPv6 without an issue. If there are any issues, please discuss on the respective issue tracker.

Unfortunately, it is not clear to me what the impact of the issue ocaml/infrastructure#42 is, and whether the infrastructure team monitors and provides IPv6 service.