scottslowe-learning-tools/rkt/Vagrantfile
Scott Lowe 3b6c509e5f Push initial version of files for rkt
Push an initial Vagrantfile, external YAML data file, shell script,
and README.md for an environment that can be used to experiment
with `rkt`.
2015-05-05 13:34:04 -06:00

42 lines
1.2 KiB
Ruby

# -*- mode: ruby -*-
# vi: set ft=ruby :
# Specify Vagrant version and Vagrant API version
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
# Require 'yaml' module
require 'yaml'
# Read YAML file with VM details (box, CPU, and RAM)
servers = YAML.load_file('servers.yml')
# Create and configure the VMs
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Always use Vagrant's default insecure key
config.ssh.insert_key = false
# Iterate through entries in YAML file to create VMs
servers.each do |servers|
config.vm.define servers["name"] do |srv|
# Don't check for box updates
srv.vm.box_check_update = false
srv.vm.hostname = servers["name"]
srv.vm.box = servers["box"]
# Enable default synced folder
srv.vm.synced_folder ".", "/vagrant"
# Perform final provisioning activities
#srv.vm.provision "shell", path: "config.sh", privileged: true
#srv.vm.provision "file", source: "adminrc", destination: "/home/vagrant/adminrc"
# Configure VMs with RAM and CPUs per settings in servers.yml
srv.vm.provider :vmware_fusion do |vmw|
vmw.vmx["memsize"] = servers["ram"]
vmw.vmx["numvcpus"] = servers["vcpu"]
end
end
end
end