Vagrant Box for Ansible Control Machine.
debian-8.3.0-amd64 for its smaller size than Ubuntu.
Ansible, of course.
Some supporting stuff for Ansible Cloud Modules.
Ansible control machine is designed to run on Unix. According to official Windows Support document:
Reminder: You Must Have a Linux Control Machine
Note running Ansible from a Windows control machine is NOT a goal of the project. Refrain from asking for this feature, as it limits what technologies, features, and code we can use in the main project in the future. A Linux control machine will be required to manage Windows hosts.*
Cygwin is not supported, so please do not ask questions about Ansible running from Cygwin.*
That said, you may still need to use Windows as the control machine. An easier way is to install Ansible inside a Linux virtual machine, recommended by Jeff Geerling in his Ansible for DevOps book.
Another way is to use Cygwin, but there may be some strange issues.
Experiment with the following articles at your own risk!
Here are steps you can follow to build the box on your own.
First, install the Packer tool on your host machine.
Second, pull the Bento submodule:
# pull the Bento project
git submodule init
# copy Bento stuff to sub-directories
# since Packer doesn't push soft links to Atlas (defects!)...
./copy-bento.sh
Third, choose the box directory of your choice:
# change working directory to any specific OS;
# for example, "debian-jessie" (currently the only one)
cd debian-jessie
Now, you can either generate the Vagrant box file on your machine:
# build `ansible-control-machine`:
packer build ansible-control-machine.json
# build `ansible-control-machine`, VirtualBox version only:
packer build -only=virtualbox-iso \
ansible-control-machine.json
# build `ansible-control-machine`, VirtualBox version only,
# with pre-downloaded ISO file from `file:///Volumes/ISO/`:
packer build -only=virtualbox-iso \
-var 'mirror=file:///Volumes/ISO/' \
ansible-control-machine.json
you’ll get an ‘XXX.box’ file in the builds
directory, if successful.
Or, you can delegate the building and hosting tasks to Atlas:
# make sure the following environment variables are set:
# ATLAS_TOKEN
# ATLAS_USERNAME
packer push ansible-control-machine.json
Licensed under MIT license.
Copyright © 2015-2016 William Yeh - https://github.com/William-Yeh.