orangeProse別館

orangeProse(本ブログ)の補助

Vagrant > Boxes > Box File Format[雑訳]

昨日、Vagrant > Boxes > Creating A Base Boxの雑訳を掲載しましたが、同じくVagrantのDocumentページのBoxesにあるBox File Formatの雑訳をしてみました。

短いので訳すまでもないのですが。


Boxファイルのフォーマット

以前は、BoxはVirtualBoxのエクスポートをtarファイルにしただけのものでした。Vagrantがさまざまなプロバイダをサポートするようになり、Boxファイルはプロバイダごとに内容が異なるtarファイルになりました。依然としてtarファイルではあるのですが、選択的にgzipファイルも扱えます。

Vagrant 1.0.xとVirtualBoxのためにつくられたBoxファイルは、Vagrant 1.1以上とVirtualBoxでも動きます。

Boxに含まれることが必須の唯一のファイルが"metadata.json"ファイルです。これは、Boxにかんするメタデータを含みうるトップレベル・オブジェクトをもつJSONファイルです。Vagrantは、そのBoxがどのプロバイダ向けにつくられたのかを記す値を持つ、"provider"キーがこのメタデータに存在することを要求します。

VirtualBox向けの"metadata.json"ファイルはこうです:

{
  "provider": "virtualbox"
}

もしmetadata.jsonファイルがないか、そのファイルが少なくとも"provider"キーを持つ妥当なJSON形式を含んでいなければ、VagrantはBoxをaddしたときにエラーを起こします。