Before starting, checkout the submodules needed for provisioning the VMs:
$ git submodule init
$ git submodule update
Let's have a quick overlook of the VMs that Vagrant will create:
$ vagrant status
Current machine states:
core-provisioner not created (virtualbox)
core-01 not created (virtualbox)
core-02 not created (virtualbox)
core-03 not created (virtualbox)
First, UP the provisioner host
$ vagrant up core-provisioner
What it does, described in the Vagrantfile, is:
- Get the Vagrant box from CoreOS.com
- Disable some features from VBox (since CoreOS is not a regular distro)
- Sends the "Provisioning" scripts to the VM
- Sync the "shared" resources to the
core-provisioner
- Run the provisioning scripts
- Install BATS testing framework (For a nicer output)
- Activate
IP_FORWARDING
and comfigureIPTABLES
- Downloads the Mayu assets
- Start a Mayu instance in a priviledged container
We are using RSYNC for file sharing since NFS is not enabled by default on CoreOS.
But you can use it if you wish to use a CoreOS Box as you development environment :)