This project is not maintained anymore. If you want to take over contact us at tech@cargomedia.ch.
Generate Vagrant boxes with packer.
Boxes are built and released on Vagrant Cloud for virtualbox
and aws
.
Debian 8 (jessie):
debian-8-amd64-plain
: Minimalisticdebian-8-amd64-default
: With git, rsync, ruby and puppet
Debian 7 (wheezy):
debian-7-amd64-plain
: Minimalisticdebian-7-amd64-default
: With git, rsync, ruby and puppetdebian-7-amd64-cm
: With CM framework dependencies.
Example Vagrantfile
:
Vagrant.configure('2') do |config|
config.vm.box = 'cargomedia/debian-7-amd64-default'
end
Based on official Debian AMIs.
Using the HVM EBS flavor as recommended by Amazon.
Available regions: eu-west-1
, us-east-1
.
Example Vagrantfile
(using the vagrant AWS provider plugin):
Vagrant.configure('2') do |config|
config.vm.box = 'cargomedia/debian-7-amd64-default'
config.vm.provider :aws do |aws, override|
override.ssh.username = 'admin' # For ubuntu use 'ubuntu'
override.ssh.private_key_path = '~/.ssh/<private-key>.pem'
aws.region = 'eu-west-1'
aws.instance_type = 'm4.large'
aws.ami = '' # due to a bug, see https://github.com/mitchellh/vagrant-aws/issues/330
aws.access_key_id = '<aws-access-key>'
aws.secret_access_key = '<aws-secret-key>'
aws.keypair_name = '<keypair-name>'
aws.security_groups = '<security-group-id>'
aws.block_device_mapping = [
{
'DeviceName' => '/dev/xvda',
'VirtualName' => 'root',
'Ebs.VolumeSize' => 100,
'Ebs.DeleteOnTermination' => true,
'Ebs.VolumeType' => 'io1',
'Ebs.Iops' => 2000
}
]
end
end
Install dependencies:
bundle install
Download required puppet modules using librarian-puppet:
cd puppet
bundle exec librarian-puppet update
Rake parameters:
- template: Name of the template to build (Default: all templates)
- builder: A list of builders to use (Default: all builders)
- aws_key_id: AWS key id
- aws_key_secret: AWS key secret
- vagrant_cloud_username: Vagrant Cloud username
- vagrant_cloud_access_token: Vagrant Cloud access token
bundle exec rake build # Build all boxes
bundle exec rake spec # Run serverspec tests (virtualbox build only!)
bundle exec rake release # Release boxes to S3 and Vagrant Cloud