blob: 2121a5164b7470930567bfc7aed9aca34daa5810 (
plain)
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
execute "yum update -y"
execute "yum upgrade -y"
execute "yum groupinstall -y 'Development Tools'"
file "/etc/yum.repos.d/datastax.repo" do
content <<-CONTENT
[datastax]
name=DataStax Repo for Apache Cassandra
baseurl=http://rpm.datastax.com/community
enabled=1
gpgcheck=0
CONTENT
end
file "/etc/yum.repos.d/mongodb.repo" do
content <<-SCRIPT
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
enabled=1
gpgcheck=0
SCRIPT
end
execute "rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc"
remote_file "/tmp/erlang-18.1-1.el7.centos.x86_64.rpm" do
source "https://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el7.centos.x86_64.rpm"
end
execute "yum install -y /tmp/erlang-18.1-1.el7.centos.x86_64.rpm" do
not_if "erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell | grep 18"
end
remote_file "/tmp/rabbitmq-server-3.5.6-1.noarch.rpm" do
source "https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_5_6/rabbitmq-server-3.5.6-1.noarch.rpm"
end
execute "yum install -y /tmp/rabbitmq-server-3.5.6-1.noarch.rpm" do
not_if "sudo rabbitmqctl status | grep '{rabbit,' | grep '3.5.6'"
end
remote_file "/tmp/kafka_2.11-0.9.0.0.tgz" do
source "http://apache.mirror.iweb.ca/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz"
end
bash "install_kafka" do
cwd "/tmp"
code <<-BASH
tar -xzvf kafka_2.11-0.9.0.0.tgz
mv kafka_2.11-0.9.0.0 /opt/
ln -s /opt/kafka_2.11-0.9.0.0 /opt/kafka
BASH
not_if { ::Dir.exist?("kafka_2.11-0.9.0.0") }
end
package "epel-release"
execute "yum clean all"
package %w{
autoconf
automake
bison
bzip2
ca-certificates
dsc21
gcc-c++
git
java-1.8.0-openjdk
libffi-devel
libtool
libxml2
libxml2-devel
libxslt
libxslt-devel
make
mongodb-org
openssl-devel
opscenter
patch
pygpgme
rabbitmq-server
readline
readline-devel
statsd
yum-utils
zlib
zlib-devel
}.to_a
[
"rabbitmq_sharding-3.5.x-fe42a9b6.ez",
].each do |plugin|
remote_file "/usr/lib/rabbitmq/lib/rabbitmq_server-3.5.6/plugins/#{plugin}" do
source "https://www.rabbitmq.com/community-plugins/v3.5.x/#{plugin}"
end
end
[
"rabbitmq_consistent_hash_exchange",
"rabbitmq_management",
"rabbitmq_sharding",
].each do |plugin|
execute "rabbitmq-plugins enable #{plugin}" do
not_if "rabbitmq-plugins list -E | grep #{plugin}"
end
end
[
"cassandra",
"mongod",
"rabbitmq-server",
].each do |service_name|
service service_name do
action [:start, :enable]
end
end
git "/usr/local/rbenv" do
repository "https://github.com/sstephenson/rbenv.git"
action :sync
end
file "/etc/profile.d/rbenv.sh" do
content <<-CONTENT
export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)"
CONTENT
end
directory "/usr/local/rbenv/plugins"
git "/usr/local/rbenv/plugins/ruby-build" do
repository "https://github.com/sstephenson/ruby-build.git"
action :sync
end
ruby_version = "2.2.3"
bash "install_ruby" do
user "root"
ignore_failure true
code <<-EOH
source /etc/profile.d/rbenv.sh
rbenv install #{ruby_version}
rbenv global #{ruby_version}
rbenv install jruby-9.0.5.0
EOH
end
bash "install_bundler" do
code <<-EOH
source /etc/profile.d/rbenv.sh
gem install bundler --no-ri --no-rdoc
EOH
end
|