-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVagrantfile_splunk_IDX_cluster
121 lines (99 loc) · 4.14 KB
/
Vagrantfile_splunk_IDX_cluster
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
# Version 0.1
# Command system/custom/add packages ....
$packagesinstall = <<-SCRIPT
# Package custom
sudo yum install -y lsof vim git bind-utils
# Package to Splunk health check iowait
sudo yum install -y sysstat
# Package installing
echo "# Splunk RPM installation"
sudo yum localinstall -y /vagrant/splunk-8.2.1-ddff1c41e5cf-linux-2.6-x86_64.rpm
# Setup Splunk config
echo "# Set permissions on Splunk folder"
sudo chown -R vagrant:vagrant /opt/splunk
# Splunk apps :
# Manage min Free Space to POC instance
echo "# Set minFreeSpace to POC instance"
sudo mkdir -p /opt/splunk/etc/apps/my_customsplunk/local/
sudo echo "[diskUsage]" > /opt/splunk/etc/apps/my_customsplunk/local/server.conf
sudo echo "minFreeSpace = 50" >> /opt/splunk/etc/apps/my_customsplunk/local/server.conf
sudo chown -R vagrant:vagrant /opt/splunk/etc/apps/my_customsplunk/
echo "# Splunk activation on boot with Vagrant user"
sudo /opt/splunk/bin/splunk enable boot-start -systemd-managed 1 --accept-license -user vagrant --seed-passwd changeme
echo "# Launch Splunk"
sudo /opt/splunk/bin/splunk start --no-prompt
SCRIPT
#Get IP to display after vagrant up
$getip= <<-SCRIPT
echo "IP of $(hostname) : "
ip -4 addr sh eth1
echo ""
echo "Splunk Version ; "
/opt/splunk/bin/splunk version
SCRIPT
#Message post up
$postupmessage = <<-SCRIPT
Congratulations VM/box available.
Generate by Vagrant !
SCRIPT
#Customise OS env
$customenv= <<-SCRIPT
echo "Custom environnement"
#Bash profile
echo "Set .bash_profile to Vagrant user"
sudo curl -sk "https://raw.githubusercontent.com/alasta/dotfiles/master/.bash_profile_vagrant" -o /home/vagrant/.bash_profile
#inputrc
echo "Set inputrc"
echo "Set inputrc to Vagrant user"
sudo curl -sk "https://raw.githubusercontent.com/alasta/dotfiles/master/.inputrc" -o /home/vagrant/.inputrc
#.vimrc
echo "Set vimrc"
sudo curl -sk "https://raw.githubusercontent.com/alasta/dotfiles/master/.vimrc" -o /home/vagrant/.vimrc
#bash profile and inputrc to root
sudo curl -sk "https://raw.githubusercontent.com/alasta/dotfiles/master/.bash_profile_root" -o /root/.bash_profile
#Set timezone
echo "# Set timezone"
timedatectl set-timezone 'Europe/Paris'
# Manage DNS server to disable DNS on private net
echo "# Delete DNS private net"
sudo sed -i -e 's/.10.0.//g' /etc/resolv.conf
SCRIPT
#Config box
Vagrant.configure("2") do |config|
(1..4).each do |i|
config.vm.define "idx#{i}" do |vm1|
#vm1.vm.provider "virtualbox" do |v|
# v.memory = 2048
# v.cpus = 2
#end
#vm1.vm.box = "centos/7"
vm1.vm.box = "centos/8"
vm1.vm.hostname = "idx#{i}"
vm1.vm.box_url = "centos/8"
vm1.vm.network "public_network", bridge: "en0: Wi-Fi (AirPort)", auto_config: false
vm1.vm.provision "file", source: "~/Downloads/splunk-8.2.1-ddff1c41e5cf-linux-2.6-x86_64.rpm", destination: "/vagrant/"
vm1.vm.provision "shell", inline: $packagesinstall
vm1.vm.provision "shell", inline: $customenv
vm1.vm.provision "shell", inline: $getip, run: "always"
vm1.vm.post_up_message = $postupmessage
#vm1.vm.provision "shell", inline: "ip -4 addr sh eth1", run: "always"
end
end
config.vm.define "us2" do |vm1|
#vm1.vm.provider "virtualbox" do |v|
# v.memory = 2048
# v.cpus = 2
#end
#vm1.vm.box = "centos/7"
vm1.vm.box = "centos/8"
vm1.vm.hostname = 'us2'
vm1.vm.box_url = "centos/8"
vm1.vm.network "public_network", bridge: "en0: Wi-Fi (AirPort)", auto_config: false
vm1.vm.provision "file", source: "~/Downloads/splunk-8.2.1-ddff1c41e5cf-linux-2.6-x86_64.rpm", destination: "/vagrant/"
vm1.vm.provision "shell", inline: $packagesinstall
vm1.vm.provision "shell", inline: $customenv
vm1.vm.provision "shell", inline: $getip, run: "always"
vm1.vm.post_up_message = $postupmessage
#vm1.vm.provision "shell", inline: "ip -4 addr sh eth1", run: "always"
end
end