-
Notifications
You must be signed in to change notification settings - Fork 8
/
Vagrantfile
122 lines (102 loc) · 2.92 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Vagrant.configure(2) do |config|
config.vm.box = "boxcutter/ubuntu1604-desktop"
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "3096"
vb.cpus = 2
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
vb.customize ["modifyvm", :id, "--accelerate3d", "off"]
vb.customize ["modifyvm", :id, "--vram", "128"]
end
config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
config.vm.provision 'shell' do |s|
s.path = '00_init.sh'
s.privileged = true
end
config.vm.provision 'file' do |s|
s.source = 'generics/zshrc.template'
s.destination = '~/.zshrc'
end
# JDK
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-jdk.sh'
s.privileged = true
end
# NodeJS
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-node.sh'
s.privileged = true
end
# Kill user session to force load of PATH env var
config.vm.provision 'shell' do |s|
s.inline = "pkill -u vagrant"
end
# Docker
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-docker.sh'
s.privileged = true
end
# Atom
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-atom.sh'
s.privileged = true
end
# Chrome
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-chrome.sh'
s.privileged = true
end
# IntelliJ IDEA
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-intellij.sh'
s.privileged = true
end
# IntelliJ IDEA user config
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-intellij-user.sh'
s.privileged = false
end
# provision docker images
config.vm.provision 'shell' do |s|
s.path = 'scripts/docker-images.sh'
s.privileged = true
end
# provision MongoDB
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-mongodb.sh'
s.privileged = false
end
# provision MongoDB
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-nodegoat.sh'
s.privileged = false
end
config.vm.provision 'file', source: "assets/e2etest.js", destination: "/home/vagrant/Documents/workspace/NodeGoat/test/security/e2etest.js"
# provision juiceshop
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-juiceshop.sh'
s.privileged = false
end
# provision ZAP
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-zap.sh'
s.privileged = false
end
# provision Hoverfly
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-hoverfly.sh'
s.privileged = false
end
# provision Maven
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-maven.sh'
s.privileged = false
end
# provision Docker Compose
config.vm.provision 'shell' do |s|
s.path = 'scripts/provision-docker-compose.sh'
s.privileged = false
end
end