Repository navigation
feat(vagrant): the Vagrant box catalog's web page, and vagrant.almalinux.org as its address - #380
Merged
Merged
Conversation
A page at the catalog's address, https://vagrant.almalinux.org, showing what the HCP Vagrant Discover page did: the catalog boxes with their providers, architectures, latest version and release date; per box, how to use it (Vagrantfile, vagrant init, vagrant box add) and every version's box files, with size, sha256 and download link, filterable by provider and architecture; and the VAGRANT_SERVER_URL setting for Linux/macOS, PowerShell and cmd. tools/vagrant-catalog-index.html is a single static file in the almalinux.org style (Montserrat, its navy, cyan, green and yellow; the logo and favicon inline). It reads <root>/almalinux/<box>.json, same origin, when it loads - the root on vagrant.almalinux.org (CloudFront in front of the bucket's vagrant/ folder), /vagrant on the bucket's own address - so publishing needs no change to it; the BOXES list names the catalog boxes, as the bucket cannot be listed publicly. The versions HCP recorded no architecture for ("unknown": all x86_64 boxes of almalinux/8 and almalinux/9) show the architecture of their box file. Box sizes come from HEAD requests to the box files, allowed from vagrant.almalinux.org by the bucket's CORS rule. It is uploaded by hand as the vagrant/ object (the root of vagrant.almalinux.org), vagrant/index.html and vagrant (documented in VAGRANT_BUILD_TEST_PUBLISH.md).
The Vagrant box catalog is now served at https://vagrant.almalinux.org (CloudFront in front of the bucket's vagrant/ folder), the address users set as VAGRANT_SERVER_URL. The publish job's summary and Mattermost message name it (VAGRANT_SERVER_URL in the workflow env), and the docs describe it; the job still reads and checks the catalog on the bucket itself, as CloudFront may serve a file up to its max-age old.
andrewlukoshko
approved these changes
Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Since #379, the
almalinux/*Vagrant boxes are published in our own catalog on S3, which is now served at https://vagrant.almalinux.org (CloudFront in front of the bucket'svagrant/folder). With HCP Vagrant gone (shutdown on 2026-12-31), users lose the Discover page that listed the boxes, their versions and providers. Also, the repository still named the bucket's S3 address as the one to use.What changes
The catalog page (
tools/vagrant-catalog-index.html)A page at the catalog's address showing what the HCP Vagrant Discover page did:
VAGRANT_SERVER_URL=https://vagrant.almalinux.org, for Linux/macOS, PowerShell and cmd;almalinux/8,9,10,10-x86_64_v2,10-kitten,10-kitten-x86_64_v2), with their providers, architectures, latest version, release date and number of versions, filterable by text and provider;vagrant init,vagrant box add) and its versions, newest first. Each version lists every provider and architecture with the box size, sha256 (copyable) and download link, filterable by provider and architecture.How it works:
<root>/almalinux/<box>.json(same origin) when it loads. That's the root on vagrant.almalinux.org and/vagranton the bucket's own address. Publishing needs no change to the page. The bucket can't be listed publicly, soBOXESnames the catalog boxes, and a new catalog box needs adding there.unknown; all x86_64 boxes ofalmalinux/8andalmalinux/9) show the architecture of their box file. The catalog itself keepsunknown, which Vagrant accepts on any host.HEADrequests to the box files. The bucket's CORS rule allowsGET/HEADfromhttps://vagrant.almalinux.org(already applied).The page is uploaded by hand when it changes: as the
vagrant/object (the root of vagrant.almalinux.org),vagrant/index.htmlandvagrant. The command is inVAGRANT_BUILD_TEST_PUBLISH.md, "The catalog page".vagrant.almalinux.org as the catalog's address
vagrant-build-test-publish.yml: a newVAGRANT_SERVER_URL: https://vagrant.almalinux.orgenv. The publish job's summary and Mattermost message now name it.max-age(5 minutes) old. Reading through the CDN could build on a stale catalog.VAGRANT_BUILD_TEST_PUBLISH.mddescribes vagrant.almalinux.org as the address users set, with the bucket address as the origin.