CLOVER🍀

That was when it all began.

Vagrantのbento、generic、cloud-imagesの各Boxについて

これは、なにをしたくて書いたもの?

VagrantでBoxを探していると、よく見つかるのがbentoとgenericのものです。

genericは種類が多いので時々使っていたのですが、最近は更新がありません。代わってcloud-imagesのものをよく使って
いるのですが、これらの出元についてあまり考えていなかったのでちょっと見てみることにしました。

VagrantのBox

VagrantのBoxは、こちらのページから探すことになります。

https://portal.cloud.hashicorp.com/vagrant/discover

ここで注意点ですが、誰でもBoxは公開できるもののHashiCorpが関与するものではありません。

A common misconception is that a namespace like "ubuntu" represents the official space for Ubuntu boxes. This is untrue. Namespaces on Vagrant Cloud behave very similarly to namespaces on GitHub. Just as GitHub's support team is unable to assist with issues in someone's repository, HashiCorp's support team is unable to assist with third-party published boxes.

基本的に利用は自己責任ですね。

Ubuntu Linuxに関しては24.04 LTSからBoxの提供は止まっていますが、Launchpadのcloud-imagesを元にして作っていたようです。

https://portal.cloud.hashicorp.com/vagrant/discover/ubuntu

Ubuntu Cloud Images - the official Ubuntu images for public clouds, Openstack, KVM and LXD

Rocky Linuxのものありますね。

https://portal.cloud.hashicorp.com/vagrant/discover/rockylinux

こういったところが提供するBoxは最近は更新が滞りがちです。

ちなみにHashiCorpのものも数は少ないですがありました。これはある意味公式のBoxらしいです。

https://portal.cloud.hashicorp.com/vagrant/discover/hashicorp

bento

bentoはVagrantのドキュメントでも推奨されているBoxです。

For other base operating system environments, we recommend the Bento boxes. The Bento boxes are open source and built for a number of providers including VMware, VirtualBox, and Parallels. There are a variety of operating systems and versions available.

Special thanks to the Bento project for providing a solid base template for the hashicorp/bionic64 box.

Vagrant Boxes | Vagrant | HashiCorp Developer

Chefが管理しています。

These boxes are built using templates from the Progress Chef's Bento project.

https://portal.cloud.hashicorp.com/vagrant/discover/bento

GitHub - chef/bento: Packer templates for building minimal Vagrant baseboxes for multiple platforms · GitHub

このあたりを見ると、たくさんのOSをカバーしていることがわかりますね。

https://github.com/chef/bento/tree/main/os_pkrvars

迷ったらとりあえずこれを使うBoxですね。

generic

genericはOSやプロバイダーのカバー範囲が広く、よく使っていたのですがよくよく考えるとどういう位置づけかわかって
いなかったんですよね。

https://portal.cloud.hashicorp.com/vagrant/discover/generic

こちらが提供元のようなのですが、アクセスできなくなっています。

https://roboxes.org/

GitHubリポジトリーはこちらですが、ここ1年くらいで更新が止まっているような感じがします。

GitHub - lavabit/robox: The tools needed to robotically create/configure/provision a large number of operating systems, for a variety of hypervisors, using packer. · GitHub

https://github.com/lavabit/robox/tree/master/scripts

今後はあまり使うものではないかも…。

cloud-images

cloud-imagesは最近自分がよく使っています。

https://portal.cloud.hashicorp.com/vagrant/discover/cloud-image

GitHubリポジトリーはこちらですね。

GitHub - alchemy-solutions/vagrant-cloud-images: Vagrant Cloud Images · GitHub

たくさんの種類のOSをカバーしていることがわかります。

また公開されているLinuxのイメージをほとんどそのまま、もしくは最小限の変更のみでBoxを作成しています。

Purpose of this project is to provide Vagrant Box images based on public colud images of various GNU/Linux distributions with no modifications at all (or, at least, the minimum possible).

個人的にはこういう最小構成のものを好むことが多いのでcloud-images、用途に応じてbentoかなと思います。