mirror of
https://gitlab.com/omair-personal/vagrant.git
synced 2026-08-19 04:14:10 +00:00
61 lines
1.7 KiB
Ruby
61 lines
1.7 KiB
Ruby
Vagrant.configure(2) do |config|
|
|
# enable env plugin
|
|
config.env.enable
|
|
|
|
# base box
|
|
config.vm.box = "centos/7"
|
|
|
|
# add synced host folder with guest folder
|
|
config.vm.synced_folder ".", "/vagrant", type: "virtualbox",owner: "root",
|
|
group: "root",
|
|
mount_options: ["dmode=777,fmode=777"]
|
|
|
|
# ssh configuration
|
|
config.ssh.insert_key = false
|
|
config.ssh.private_key_path = [ENV['PRIVATE_KEY_PATH'], "~/.vagrant.d/insecure_private_key"]
|
|
|
|
machines = {
|
|
'izyim' => {
|
|
:ip => '10.0.0.20',
|
|
:provision => './scripts/izyim.sh',
|
|
:cores => '2',
|
|
:memory => '1024',
|
|
:guest_port => '22',
|
|
:host_port => '2201'
|
|
},
|
|
'exchange' => {
|
|
:ip => '10.0.0.21',
|
|
:provision => './scripts/exchange.sh',
|
|
:cores => '2',
|
|
:memory => '1024',
|
|
:guest_port => '22',
|
|
:host_port => '2202'
|
|
}
|
|
}
|
|
|
|
machines.each do |hostname, attrs|
|
|
config.vm.define hostname do |machine|
|
|
# set up the hostname
|
|
machine.vm.hostname = hostname
|
|
|
|
# set up private network
|
|
machine.vm.network "private_network", ip: attrs[:ip]
|
|
|
|
# enable port forwarding
|
|
machine.vm.network :forwarded_port, host_ip: '127.0.0.1', id: 'ssh', guest: attrs[:guest_port], host: attrs[:host_port], protocol: 'tcp'
|
|
|
|
# provision scripts
|
|
machine.vm.provision "file", source: ENV['PUBLIC_KEY_PATH'], destination: '~/.ssh/authorized_keys'
|
|
|
|
machine.vm.provision :shell do |provision|
|
|
provision.path = attrs[:provision]
|
|
end
|
|
|
|
# virtualbox specific settings
|
|
machine.vm.provider "virtualbox" do |v|
|
|
v.memory = attrs[:memory]
|
|
v.cpus = attrs[:cores]
|
|
end
|
|
end
|
|
end
|
|
end |