Vagrant metadata.json generator
Project description
vagrant-metadata
Creates and updates Vagrant box metadata files (metadata.json)
An utility program which creates and updates Vagrant box metadata files. This program is meant for small-scale deployment and versioning of Vagrant base boxes to private servers. For large scale deployment it always better to just use Atlas.
Usage
Installation
This program requires Python 2.7 and can be installed via PIP:
pip install vagrant-metadata
Publishing Your First Box
Now, let's suppose you have a base box called precise64
in two flavors: one for Virtualbox and
the other for VMWare. vagrant-metadata
follows the "convention over configuration" principle and
it expects a certain directory layout to do its magic. Let's start by creating the required
directory structure:
mkdir -p precise64/1.0.0/virtualbox
mkdir -p precise64/1.0.0/vmware_desktop
At this point you should have a directory tree like this:
.
└── precise64
└── 1.0.0
├── virtualbox
└── vmware_desktop
Now you should copy your boxes to their appropriate directory and end up with something like this:
.
└── precise64
└── 1.0.0
├── virtualbox
│ └── precise64.box
└── vmware_desktop
└── precise64.box
Now let's go into the precise64
directory:
cd precise64
Since this is the first time we run vagrant-metadata
we'll have to tell it something about the
base box such as its URL, name and description:
vagrant-metadata --name="lvillani/precise64" --description="Ubuntu 12.04 64-bit" \
--baseurl="http://lorenzo.villani.me/vagrant/precise64"
After a while, when vagrant-metadata
exits, you will find a fresh metadata.json
file which
contains all the box metadata. At this point you can publish the whole precise64
directory
somewhere.
Updating a Box
Updating a box is easier than preparing a new one for publication. Let's suppose we want to
publish version 2.0.0
of the precise64
box described before: create a new 2.0.0
directory
with the same layout as before and copy your boxes there ending up with something like:
.
└── precise64
├── 1.0.0
│ ├── virtualbox
│ │ └── precise64.box
│ └── vmware_desktop
│ └── precise64.box
├── 2.0.0
│ ├── virtualbox
│ │ └── precise64.box
│ └── vmware_desktop
│ └── precise64.box
└── metadata.json
At this point go to the precise64
directory and run vagrant-metadata
:
cd precise64
vagrant-metadata
Notice that we don't even have to specify the box name, description or base URL.
Sync this directory with your remote server and you are done.
If you don't have all box files downloaded locally, and want to add new version
to existing metadata.json simply add --append
(-a
) option to only add new
version box to existing metadata
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vagrant-metadata-1.1.2.tar.gz
.
File metadata
- Download URL: vagrant-metadata-1.1.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e14f90cf813480a460c982bb2ab489b2452b88934f69938f4d4afbd45089fafe |
|
MD5 | 0e08fa1c7f87c5d3f06fb41201eeec2d |
|
BLAKE2b-256 | eabe2b266b9074a9b2492a4f1e7c9c49fab18d2a66aa84721fe3ad51f104188e |
File details
Details for the file vagrant_metadata-1.1.2-py3-none-any.whl
.
File metadata
- Download URL: vagrant_metadata-1.1.2-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e68ae2f99179a309510b1989c5d725425236e565ccc961ec8aa7a677408c7ab |
|
MD5 | aedd45ef4560532a1cc3b40c718ec7d6 |
|
BLAKE2b-256 | b0d5370a2c488fd49e8c9a60f038ea253855ab69e8fbf8596387dd1a5a9b0208 |