Skip to content
Packer templates for building minimal Vagrant baseboxes
Branch: master
Clone or download
Latest commit 0ca0060 May 10, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.expeditor Update github templates and expeditor config Apr 6, 2019
.github Update github templates and expeditor config Apr 6, 2019
_common Revert "Whiteout all spaces" Dec 11, 2018
amazonlinux Rename the amazon files to amazonlinux Mar 14, 2019
builds Remove subdirectories under `build/` as they are no longer used. Jun 27, 2015
centos Prevent failures on Oracle 5 and properly cleanup all the firmware Mar 6, 2019
debian Disable apt-daily earlier. Apr 22, 2019
fedora Remove EOL Fedora 27 Feb 1, 2019
freebsd Add FreeBSD 12.0-RELEASE Dec 11, 2018
hardenedbsd Adding name field to fix build/upload Aug 25, 2018
macos Remove EOL macOS 10.9 Jul 8, 2018
opensuse Disable the firewall on opensuse 15 to fix SSH not connecting Feb 18, 2019
oraclelinux Fix Oracle Linux 6.10 checksums Mar 5, 2019
rhel Update from rhel 7.5 to 7.6 Nov 20, 2018
scientificlinux Rename the scientific linux template Mar 5, 2019
sles added additional packages, similar to sles-12 config Apr 17, 2019
solaris Revert "Added guest_additions_url as a user-variable for VirtualBox b… Jan 2, 2018
ubuntu Merge pull request #1192 from xkrt/master Apr 26, 2019
windows Format the windows 7 JSON Feb 13, 2019
.gitattributes Force CRLF on Autounattend files for Windows Feb 23, 2014
.gitignore Add homestead script to git ignore Mar 15, 2019
.travis.yml Add template validation in Travis Feb 17, 2019
CHANGELOG.md Adding changelog for 201812.27.0 release Jan 16, 2019
CODE_OF_CONDUCT.md Add a code of conduct file Dec 7, 2018
Gemfile Chefstyle and fail if build_box not used correctly (#770) Mar 13, 2017
LICENSE [OC-1013] - move definitions from basebox project Jul 16, 2012
MAINTAINERS.md Update templates to reflect re-organization Aug 31, 2017
NOTICE.md Update the copyright in the notice file Mar 5, 2019
README.md Release v201808.24.0 Sep 2, 2018
Rakefile Help those that have never ran the rake tasks Mar 6, 2019
builds.yml Add scientific 7.6 and ubuntu 18.10 to the builds.yml file Mar 5, 2019

README.md

Bento

Build Status

Bento is a project that encapsulates Packer templates for building Vagrant base boxes. A subset of templates are built and published to the bento org on Vagrant Cloud. These published boxes serve as the default boxes for kitchen-vagrant.

Using Public Boxes

Adding a bento box to Vagrant

$ vagrant box add bento/ubuntu-16.04

Using a bento box in a Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "bento/ubuntu-16.04"
end

Building Boxes

Requirements

*NOTE: support for these providers is considered experimental and corresponding Vagrant Cloud images may or may not exist.

Using packer

To build an Ubuntu 16.04 box for only the VirtualBox provider

$ cd ubuntu
$ packer build -only=virtualbox-iso ubuntu-16.04-amd64.json

To build Debian 9.1 32bit boxes for all possible providers (simultaneously)

$ cd debian
$ packer build debian-9.1-i386.json

To build CentOS 7.3 boxes for all providers except VMware and Parallels

$ cd centos
$ packer build -except=parallels-iso,vmware-iso centos-7.3-x86_64.json

To use an alternate mirror

$ cd fedora
$ packer build -var 'mirror=http://mirror.utexas.edu/fedora/linux' fedora-26-x86_64.json

If the build is successful, ready to import box files will be in the builds directory at the root of the repository.

*NOTE: box_basename can be overridden like other Packer vars with -var 'box_basename=ubuntu-16.04'

Proprietary Templates

Templates for operating systems only available via license or subscription are also available in the repository, these include but are not limited to: Mac OS X, Red Hat Enterprise Linux, and SUSE Linux Enterprise. As the ISOs are not publicly available the URL values will need to be overridden as appropriate. We rely on the efforts of those with access to licensed versions of the operating systems to keep these up-to-date.

Networking/Firewalls

Most of the providers expect unrestricted access to networking in order to build as expected. We can't enumerate all possible firewall configurations but include some snippets below that might be useful to users.

Windows

$VS = "Standardswitch"
$IF_ALIAS = (Get-NetAdapter -Name "vEthernet ($VS)").ifAlias
New-NetFirewallRule -Displayname "Allow incomming from $VS" -Direction Inbound -InterfaceAlias $IF_ALIAS -Action Allow

macOS / OSX

See this wiki page

Bugs and Issues

Please use GitHub issues to report bugs, features, or other problems.

Related projects

License & Authors

These basebox templates were converted from veewee definitions originally based on work done by Tim Dysinger to make "Don't Repeat Yourself" (DRY) modular baseboxes. Thanks Tim!

Mac OS X templates were adopted wholesale from Fletcher Nichol's packer templates.

Copyright 2012-2017, Chef Software, Inc. (<legal@chef.io>)
Copyright 2011-2012, Tim Dysinger (<tim@dysinger.net>)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You can’t perform that action at this time.