tree 215412b79d76a47c8bf141fee4d5f2fe2de5a94a
parent 28bb46f5289241eb71dca6f30f0b782d010e6119
author Steve Lawrence <slawrence@apache.org> 1671660144 -0500
committer Steve Lawrence <slawrence@apache.org> 1671712081 -0500

Update release artifact and checksum URLs

The closer.lua page does not provide any information we don't already
provide. The mirrors that it used to list have been replaced by a CDN
link, and we already provide a message and link describing how to verify
downloads on our download page. This has also been known to cause issues
when users try to wget/curl a download link, since they just download an
HTML page instead of the actual intended artifact, causing confusing
about failed installations or invalid gpg signatures or checksums.

To avoid this issues, we still use the closer.lua link but now append
?action=download to the URL path, which causes closer.lua to
automatically download the file instead of showing an HTML page. One
drawback is that wget will include the query parameter in the downloaded
file name, but infra is considering some solutions to this.

Additionally, closer.lua is aware of archived artifacts, so we can use
the same URL for archived and non-archived URLs. The downloads.apache.org
URL is also aware of archived .sha512 and .asc release artifacts, so
these too can use the same URL for all releases. By using these URLs, we
no longer need to update previous release pages when they are archived.
We just need to delete old releases from dist.apache.org and download
links will automatically redirect to the archives, removing one manual
step from the release process. And because all these download URLs never
change depending on archive, this now hardcodes them into the site logic
instead of having to duplicate them in every release version page.

This also hardcodes the KEYS file URL and removes it from each version
page, since that also never changes.
