forked from dima-kavalevsky-epam/elk-install
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVagrantfile
More file actions
73 lines (66 loc) · 3.12 KB
/
Vagrantfile
File metadata and controls
73 lines (66 loc) · 3.12 KB
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
# -*- mode: ruby -*-
# vi: set ft=ruby :
ENV["VAGRANT_DETECTED_OS"] = ENV["VAGRANT_DETECTED_OS"].to_s + " cygwin"
$script_centos7 = <<SCRIPT
sudo sed -i -e 's/^PasswordAuthentication no/PasswordAuthentication yes/' -e 's/^#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
sudo /sbin/service sshd restart
SCRIPT
$script_update_hosts = <<SCRIPT
cat > /etc/hosts <<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.21 elkserver
192.168.56.22 elkclient
EOF
SCRIPT
$ansible = <<SCRIPT
sudo yum -y update
sudo yum install -y python-pip mc wget git net-tools
sudo yum install ansible -y
SCRIPT
$infoScript = <<SCRIPT
echo 'IP-addresses of the vm ...'
ip add
SCRIPT
sh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "centos/7"
config.vm.boot_timeout = 100
config.ssh.forward_agent = true
config.vm.define "elkserver" do |elkserver_config|
elkserver_config.vm.box = "centos/7"
elkserver_config.vm.network :forwarded_port, guest: 80, host: 80, auto_correct: true # httpd
elkserver_config.vm.network :forwarded_port, guest: 8080, host: 8080, auto_correct: true
elkserver_config.vm.network :forwarded_port, guest: 5601, host: 5601, auto_correct: true # Kibana
elkserver_config.vm.hostname = "elkserver"
elkserver_config.vm.provision "shell", inline: $script_centos7
elkserver_config.vm.provision "shell", inline: $script_update_hosts
elkserver_config.vm.provision :shell, inline: $ansible
elkserver_config.vm.provision "shell", inline: $infoScript, run: "always"
elkserver_config.vm.network "private_network", ip: "192.168.56.21"
elkserver_config.vm.synced_folder "ansible-elk/", "/workspace", id: "workspace-root",owner: "vagrant", group: "vagrant",mount_options: ["dmode=775,fmode=664"]
elkserver_config.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.customize ['modifyvm', :id, '--memory', '1800']
vb.customize ["modifyvm", :id, "--cpus", "1"]
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
end
#=====================================
# config.vm.define "elkclient" do |elkclient_config|
# elkclient_config.vm.box = "centos/7"
# elkclient_config.ssh.insert_key = false
# elkclient_config.vm.hostname = "elkclient"
# elkclient_config.vm.provision "shell", inline: $script_update_hosts
# elkclient_config.vm.provision "shell", inline: $script_centos7
# elkclient_config.vm.synced_folder "ansible-elk/", "/workspace", id: "workspace-root", owner: "vagrant", group: "vagrant", mount_options: ["dmode=775,fmode=664"]
# elkclient_config.vm.network "private_network", ip: "192.168.56.22"
# elkclient_config.vm.provider "virtualbox" do |vb|
# vb.gui = false
# vb.customize ['modifyvm', :id, '--memory', '512']
# vb.customize ["modifyvm", :id, "--cpus", "1"]
# vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
# end
# end
end