Switch to the official Sandstorm Vagrant box.
This commit is contained in:
parent
83e0b5bcc9
commit
0813552636
28
.sandstorm/Vagrantfile
vendored
28
.sandstorm/Vagrantfile
vendored
@ -1,12 +1,16 @@
|
|||||||
# -*- mode: ruby -*-
|
# -*- mode: ruby -*-
|
||||||
# vi: set ft=ruby :
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
|
# Guess at a reasonable name for the VM based on the folder vagrant-spk is
|
||||||
|
# run from. The timestamp is there to avoid conflicts if you have multiple
|
||||||
|
# folders with the same name.
|
||||||
|
VM_NAME = File.basename(File.dirname(File.dirname(__FILE__))) + "_sandstorm_#{Time.now.utc.to_i}"
|
||||||
|
|
||||||
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
||||||
VAGRANTFILE_API_VERSION = "2"
|
VAGRANTFILE_API_VERSION = "2"
|
||||||
|
|
||||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
# We base ourselves off Debian Jessie
|
config.vm.box = "sandstorm/debian-jessie64"
|
||||||
config.vm.box = "debian/jessie64"
|
|
||||||
|
|
||||||
if Vagrant.has_plugin?("vagrant-vbguest") then
|
if Vagrant.has_plugin?("vagrant-vbguest") then
|
||||||
# vagrant-vbguest is a Vagrant plugin that upgrades
|
# vagrant-vbguest is a Vagrant plugin that upgrades
|
||||||
@ -24,9 +28,9 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||||||
|
|
||||||
# Use a shell script to "provision" the box. This installs Sandstorm using
|
# Use a shell script to "provision" the box. This installs Sandstorm using
|
||||||
# the bundled installer.
|
# the bundled installer.
|
||||||
config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/global-setup.sh"
|
config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/global-setup.sh", keep_color: true
|
||||||
# Then, do stack-specific and app-specific setup.
|
# Then, do stack-specific and app-specific setup.
|
||||||
config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/setup.sh"
|
config.vm.provision "shell", inline: "sudo bash /opt/app/.sandstorm/setup.sh", keep_color: true
|
||||||
|
|
||||||
# Shared folders are configured per-provider since vboxsf can't handle >4096 open files,
|
# Shared folders are configured per-provider since vboxsf can't handle >4096 open files,
|
||||||
# NFS requires privilege escalation every time you bring a VM up,
|
# NFS requires privilege escalation every time you bring a VM up,
|
||||||
@ -44,6 +48,13 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||||||
elsif host =~ /linux/
|
elsif host =~ /linux/
|
||||||
cpus = `nproc`.to_i
|
cpus = `nproc`.to_i
|
||||||
total_kB_ram = `grep MemTotal /proc/meminfo | awk '{print $2}'`.to_i
|
total_kB_ram = `grep MemTotal /proc/meminfo | awk '{print $2}'`.to_i
|
||||||
|
elsif host =~ /mingw/
|
||||||
|
# powershell may not be available on Windows XP and Vista, so wrap this in a rescue block
|
||||||
|
begin
|
||||||
|
cpus = `powershell -Command "(Get-WmiObject Win32_Processor -Property NumberOfLogicalProcessors | Select-Object -Property NumberOfLogicalProcessors | Measure-Object NumberOfLogicalProcessors -Sum).Sum"`.to_i
|
||||||
|
total_kB_ram = `powershell -Command "Get-CimInstance -class cim_physicalmemory | % $_.Capacity}"`.to_i / 1024
|
||||||
|
rescue
|
||||||
|
end
|
||||||
end
|
end
|
||||||
# Use the same number of CPUs within Vagrant as the system, with 1
|
# Use the same number of CPUs within Vagrant as the system, with 1
|
||||||
# as a default.
|
# as a default.
|
||||||
@ -54,18 +65,19 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||||||
# RAM entirely (which it basically would if we went much lower than
|
# RAM entirely (which it basically would if we went much lower than
|
||||||
# 512MB) and also allowing it to use up a healthily large amount of
|
# 512MB) and also allowing it to use up a healthily large amount of
|
||||||
# RAM so it can run faster on systems that can afford it.
|
# RAM so it can run faster on systems that can afford it.
|
||||||
if cpus.nil?
|
if cpus.nil? or cpus.zero?
|
||||||
cpus = 1
|
cpus = 1
|
||||||
end
|
end
|
||||||
if total_kB_ram.nil? or total_kB_ram < 2048000
|
if total_kB_ram.nil? or total_kB_ram < 2048000
|
||||||
assign_ram_mb = 1024
|
assign_ram_mb = 512
|
||||||
else
|
else
|
||||||
assign_ram_mb = (total_kB_ram / 1024 / 4)
|
assign_ram_mb = (total_kB_ram / 1024 / 2)
|
||||||
end
|
end
|
||||||
# Actually apply these CPU/memory values to the providers.
|
# Actually apply these CPU/memory values to the providers.
|
||||||
config.vm.provider :virtualbox do |vb, override|
|
config.vm.provider :virtualbox do |vb, override|
|
||||||
vb.cpus = cpus
|
vb.cpus = cpus
|
||||||
vb.memory = assign_ram_mb
|
vb.memory = assign_ram_mb
|
||||||
|
vb.name = VM_NAME
|
||||||
|
|
||||||
override.vm.synced_folder "..", "/opt/app"
|
override.vm.synced_folder "..", "/opt/app"
|
||||||
override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm"
|
override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm"
|
||||||
@ -74,7 +86,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|||||||
config.vm.provider :libvirt do |libvirt, override|
|
config.vm.provider :libvirt do |libvirt, override|
|
||||||
libvirt.cpus = cpus
|
libvirt.cpus = cpus
|
||||||
libvirt.memory = assign_ram_mb
|
libvirt.memory = assign_ram_mb
|
||||||
libvirt.random_hostname = true
|
libvirt.default_prefix = VM_NAME
|
||||||
|
|
||||||
override.vm.synced_folder "..", "/opt/app", type: "9p", accessmode: "passthrough"
|
override.vm.synced_folder "..", "/opt/app", type: "9p", accessmode: "passthrough"
|
||||||
override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm", type: "9p", accessmode: "passthrough"
|
override.vm.synced_folder ENV["HOME"] + "/.sandstorm", "/host-dot-sandstorm", type: "9p", accessmode: "passthrough"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user