forked from uaf-arctic-eco-modeling/dvm-dos-tem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vagrantfile
78 lines (57 loc) · 2.46 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Run by the program Vagrant to handle the creation and management of a
# made-to-order virtual machine. In our case, the machine we are ordering
# will be setup to run dvm-dos-tem.
puts "Running with Vagrant v#{Vagrant::VERSION}"
# Check to see if there's an SSH agent running with keys.
puts "Checking if ssh-agent has identities..."
`ssh-add -l`
if not $?.success?
puts "Your SSH Agent does not currently contain any keys (or is stopped.) "\
"Please start the agent and add your GitHub SSH key to to the agent. "\
"Vagrant will setup you virtual machine so that the ssh keys on your "\
"host machine are forwarded for use within the virtual machine guest. "\
"This will allow you to seamlessly access private git repos from within "\
"the virtual machine guest. If you setup keys on your host with default "\
"settings you mabe be able to simply type: $ ssh-add ~/.ssh/id_rsa"
exit 1
end
puts "Checking that keys work for github..."
puts `ssh -T git@github.com -o StrictHostKeyChecking=no`
$add_github_to_known_hosts = <<SCRIPT
if [[ ! -f ~/.ssh/known_hosts ]]; then
mkdir -p ~/.ssh
touch ~/.ssh/known_hosts
fi
echo "Appending github's key to ~/.ssh/known_hosts..."
ssh-keyscan github.com >> ~/.ssh/known_hosts
chmod 600 ~/.ssh/known_hosts
SCRIPT
VAGRANTFILE_API_VERSION = "2" # <--don't change unless you know what you're doing!
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "TFDuesing/Fedora-20"
mem = 756
cores = 4
puts "Rolling your guest VM with #{cores} processors and #{mem}MB of RAM..."
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", mem, "--cpus", cores, "--ioapic", "on"]
end
# Necessary for viewing interactive plots
# (calibration mode, visualiation scripts, etc)
config.ssh.forward_x11 = true
# For authenticating when cloning private repos, host must have ssh keys for
# github and be using ssh-agent (so the keys can be forwarded to the guest).
# Try 'ssh-add -l' on the host to see what keys the agent knows about.
config.ssh.forward_agent = true
#
# System provisioning.
#
config.vm.provision "shell", privileged: true, path: "bootstrap-system.sh"
#
# Configure our repos, and other preferences.
#
config.vm.provision "shell", privileged: false, path: "bootstrap-sel-custom.sh"
# Share an additional folder to the guest VM.
# config.vm.synced_folder "<host path>", "<mount path on guest>"
end