boxes: Preparation to extract to a separate repository
This commit is contained in:
parent
328477172e
commit
c13f4591b1
2 changed files with 67 additions and 25 deletions
36
BOXES.md
36
BOXES.md
|
@ -4,25 +4,11 @@ Although the official documentation says it is only supported for VirtualBox
|
||||||
environments, you can use the [`vagrant package`](http://docs.vagrantup.com/v2/cli/package.html)
|
environments, you can use the [`vagrant package`](http://docs.vagrantup.com/v2/cli/package.html)
|
||||||
command to export a `.box` file from an existing vagrant-lxc container.
|
command to export a `.box` file from an existing vagrant-lxc container.
|
||||||
|
|
||||||
There is also a set of [bash scripts](https://github.com/fgrehm/vagrant-lxc/tree/master/boxes)
|
There is also a set of [bash scripts](https://github.com/fgrehm/vagrant-lxc-base-boxes)
|
||||||
that you can use to build base boxes as needed. By default it won't include any
|
that you can use to build base boxes as needed. By default it won't include any
|
||||||
provisioning tool and you can pick the ones you want by providing some environment
|
provisioning tool and you can pick the ones you want by providing some environment
|
||||||
variables.
|
variables. Please refer to the [base boxes repository](https://github.com/fgrehm/vagrant-lxc-base-boxes)
|
||||||
|
for more information.
|
||||||
For example:
|
|
||||||
|
|
||||||
```
|
|
||||||
git clone https://github.com/fgrehm/vagrant-lxc.git
|
|
||||||
cd vagrant-lxc/boxes
|
|
||||||
PUPPET=1 CHEF=1 make precise
|
|
||||||
```
|
|
||||||
|
|
||||||
Will build a Ubuntu Precise x86_64 box with latest Puppet and Chef pre-installed, please refer to the scripts for more information.
|
|
||||||
|
|
||||||
## Known issues
|
|
||||||
|
|
||||||
We can't get the NFS client to be installed on the containers used for building
|
|
||||||
Ubuntu 13.04 / 13.10 / 14.04 base boxes.
|
|
||||||
|
|
||||||
## "Anatomy" of a box
|
## "Anatomy" of a box
|
||||||
|
|
||||||
|
@ -31,13 +17,13 @@ on knowing what makes a base box for vagrant-lxc, here's what's needed:
|
||||||
|
|
||||||
### Expected `.box` contents
|
### Expected `.box` contents
|
||||||
|
|
||||||
| FILE | DESCRIPTION |
|
| FILE | REQUIRED? | DESCRIPTION |
|
||||||
| --- | --- |
|
| --- | --- | --- |
|
||||||
| `lxc-template` | Script responsible for creating and setting up the container (used with `lxc-create`), a ["generic script"]() is provided along with project's source. |
|
| `metadata.json` | Yes | Required by Vagrant |
|
||||||
| `rootfs.tar.gz` | Compressed container rootfs tarball (need to remeber to pass in `--numeric-owner` when creating it) |
|
| `rootfs.tar.gz` | Yes | Compressed container rootfs tarball (need to remeber to pass in `--numeric-owner` when creating it) |
|
||||||
| `lxc.conf` | File passed in to `lxc-create -f` |
|
| `lxc-template` | No, a ["generic script"](scripts/lxc-template) is provided by the plugin if it doesn't exist on the base box | Script responsible for creating and setting up the container (used with `lxc-create`). |
|
||||||
| `lxc-config` | Box specific configuration to be _appended_ to the container's config file |
|
| `lxc-config` | No | Box specific configuration to be _appended_ to the system's generated container config file |
|
||||||
| `metadata.json` | Required by Vagrant |
|
| `lxc.conf` | No | File passed in to `lxc-create -f` |
|
||||||
|
|
||||||
### metadata.json
|
### metadata.json
|
||||||
|
|
||||||
|
@ -58,4 +44,4 @@ on knowing what makes a base box for vagrant-lxc, here's what's needed:
|
||||||
| `provider` | Yes | Required by Vagrant |
|
| `provider` | Yes | Required by Vagrant |
|
||||||
| `version` | Yes | Tracks backward incompatibilities |
|
| `version` | Yes | Tracks backward incompatibilities |
|
||||||
| `built-on` | No | Date / time when the box was packaged for the first time |
|
| `built-on` | No | Date / time when the box was packaged for the first time |
|
||||||
| `template-opts` | No | Extra options to be passed to the `lxc-template` script provided with the .box package |
|
| `template-opts` | No | Extra options to be passed to the `lxc-template` script |
|
||||||
|
|
56
boxes/README.md
Normal file
56
boxes/README.md
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# vagrant-lxc base boxes
|
||||||
|
|
||||||
|
This repository contains a set of scripts for creating base boxes for usage with
|
||||||
|
[vagrant-lxc](https://github.com/fgrehm/vagrant-lxc).
|
||||||
|
|
||||||
|
## What distros / versions can I build with this?
|
||||||
|
|
||||||
|
* Ubuntu
|
||||||
|
- Precise 12.04
|
||||||
|
- Quantal 12.10
|
||||||
|
- Raring 13.04
|
||||||
|
- Saucy 13.10
|
||||||
|
- Trusty 14.04
|
||||||
|
* Debian
|
||||||
|
- Squeeze
|
||||||
|
- Wheezy
|
||||||
|
- Jessie
|
||||||
|
- Sid
|
||||||
|
|
||||||
|
## Building the boxes
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/fgrehm/vagrant-lxc-base-boxes.git
|
||||||
|
cd vagrant-lxc-base-boxes
|
||||||
|
make precise
|
||||||
|
```
|
||||||
|
|
||||||
|
By default no provisioning tools will be included but you can pick the ones
|
||||||
|
you want by providing some environmental variables. For example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
PUPPET=1 CHEF=1 SALT=1 BABUSHKA=1 \
|
||||||
|
make precise
|
||||||
|
```
|
||||||
|
|
||||||
|
Will build a Ubuntu Precise x86_64 box with latest Puppet, Chef, Salt and
|
||||||
|
Babushka pre-installed.
|
||||||
|
|
||||||
|
## Pre built base boxes
|
||||||
|
|
||||||
|
_vagrant-lxc 1.0+ only_
|
||||||
|
|
||||||
|
| Box | VagrantCloud | Direct URL |
|
||||||
|
| --- | ------------ | ---------- |
|
||||||
|
| | | |
|
||||||
|
|
||||||
|
## What makes up for a vagrant-lxc base box?
|
||||||
|
|
||||||
|
See [vagrant-lxc/BOXES.md](https://github.com/fgrehm/vagrant-lxc/blob/master/BOXES.md)
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
* We can't get the NFS client to be installed on the containers used for building
|
||||||
|
Ubuntu 13.04 / 13.10 / 14.04 base boxes.
|
||||||
|
* Puppet can't be installed on Ubuntu 14.04 / Debian Sid
|
||||||
|
* Salt can't be installed on Ubuntu 13.04
|
Loading…
Reference in a new issue