Opened 5 years ago

Last modified 3 years ago

#58697 new enhancement

For local distfiles, use a different distfile mirror name, rather than override DNS

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: admin@…
Priority: Normal Milestone:
Component: server/hosting Version:
Keywords: Cc:
Port:

Description

On the buildbot network, I set custom DNS values for distfiles.macports.org and packages.macports.org that map them to a local server. The purpose is to be able to download files quickly from the local network rather than having to get them over the Internet.

The problem is that they need https, and generating new certificates every three months with Let's Encrypt requires manual intervention because the server is private so verification cannot happen automatically via http(s). Instead, I manually create temporary verification TXT entries using our public DNS provider Namecheap. Possibly a script could be written to automate that, assuming Namecheap has an API for adding and removing DNS entries.

But it is also confusing for other developers to see "distfiles.macports.org" in buildbot logs, but to have that refer to a different server than the one they can themselves access.

We previously had this problem for packages.macports.org as well. I fixed it by setting up a new hostname packages.internal.macports.net (which does not resolve externally) and telling MacPorts on buildbot to use that, using archive_site_local. I also use only http for this so an https certificate isn't needed. The archive_site_local MacPorts feature had bitrotted and did not work at all. I fixed it in master and manually applied the patch to MacPorts on the buildbot.

Similarly, we should fix it so that buildbot gets distfiles from distfiles.internal.macports.net instead of distfiles.macports.org. It should be possible to achieve this by using master_site_local and patch_site_local. I encountered some difficulty when originally looking into this but I don't remember what the problem was.

Change History (1)

comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

master_site_local and patch_site_local are deficient and cannot be used for this. #62143 proposes fixing this.

Note: See TracTickets for help on using tickets.