Commit b02ece514dd614e35b6b8e11cc858e0b3760a2d1

Authored by Antonio Terceiro
1 parent f47a7caa

Prepare for multi-vm environment

@@ -6,11 +6,26 @@ VAGRANTFILE_API_VERSION = "2" @@ -6,11 +6,26 @@ VAGRANTFILE_API_VERSION = "2"
6 6
7 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 7 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8 config.vm.box = ENV.fetch("VAGRANT_BOX", 'centos7') 8 config.vm.box = ENV.fetch("VAGRANT_BOX", 'centos7')
9 -  
10 proxy = ENV['http_proxy'] || ENV['HTTP_PROXY'] 9 proxy = ENV['http_proxy'] || ENV['HTTP_PROXY']
11 if proxy 10 if proxy
12 config.vm.provision 'shell', path: 'utils/proxy.sh', args: [proxy] 11 config.vm.provision 'shell', path: 'utils/proxy.sh', args: [proxy]
13 end 12 end
14 13
15 - config.vm.network :forwarded_port, guest: 443, host: 8443 14 + config.vm.define 'integration' do |integration|
  15 + integration.vm.network 'private_network', ip: '10.1.1.1'
  16 + end
  17 + config.vm.define 'email' do |email|
  18 + email.vm.network 'private_network', ip: '10.1.1.2'
  19 + end
  20 + config.vm.define 'social' do |social|
  21 + social.vm.network 'private_network', ip: '10.1.1.3'
  22 + end
  23 + config.vm.define 'database' do |database|
  24 + database.vm.network 'private_network', ip: '10.1.1.4'
  25 + end
  26 + config.vm.define 'reverseproxy' do |reverseproxy|
  27 + reverseproxy.vm.network 'private_network', ip: '10.1.1.5'
  28 + reverseproxy.vm.network 'forwarded_port', guest: 80, host: 8080
  29 + reverseproxy.vm.network 'forwarded_port', guest: 443, host: 8443
  30 + end
16 end 31 end
config/roles/database_server.rb 0 → 100644
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +name 'database_server'
  2 +description 'Database server'
  3 +run_list 'recipe[postgresql]'
config/roles/email_server.rb 0 → 100644
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +name 'database_server'
  2 +description 'E-mail server'
  3 +run_list 'recipe[postfix]'
config/roles/reverse_proxy_server.rb 0 → 100644
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +name 'database_server'
  2 +description 'Reverse proxy server'
  3 +run_list 'recipe[varnish]'
config/roles/social_server.rb 0 → 100644
@@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
  1 +name 'database_server'
  2 +description 'Social networking server'
  3 +run_list 'recipe[noosfero]'
cookbooks/basics/recipes/default.rb
1 package 'vim' 1 package 'vim'
  2 +package 'rsyslog'
2 3
3 if node['platform'] == 'centos' 4 if node['platform'] == 'centos'
4 cookbook_file '/etc/yum.repos.d/softwarepublico.key' do 5 cookbook_file '/etc/yum.repos.d/softwarepublico.key' do
cookbooks/colab/recipes/default.rb
@@ -10,3 +10,7 @@ if node['platform'] == 'centos' @@ -10,3 +10,7 @@ if node['platform'] == 'centos'
10 end 10 end
11 11
12 package 'colab' 12 package 'colab'
  13 +
  14 +service 'colab' do
  15 + action :start
  16 +end
1 -vagrant@default: 1 +vagrant@integration:
2 run_list: 2 run_list:
3 - role[server] 3 - role[server]
4 - role[integration_server] 4 - role[integration_server]
  5 + peers: &PEERS
  6 + integration: 10.1.1.1
  7 + email: 10.1.1.2
  8 + social: 10.1.1.3
  9 + database: 10.1.1.4
  10 + reverseproxy: 10.1.1.5
  11 +vagrant@email:
  12 + run_list:
  13 + - role[server]
  14 + - role[email_server]
  15 + peers:
  16 + <<: *PEERS
  17 +vagrant@social:
  18 + run_list:
  19 + - role[server]
  20 + - role[social_server]
  21 + peers:
  22 + <<: *PEERS
  23 +vagrant@database:
  24 + run_list:
  25 + - role[server]
  26 + - role[database_server]
  27 + peers:
  28 + <<: *PEERS
  29 +vagrant@reverseproxy:
  30 + run_list:
  31 + - role[server]
  32 + - role[reverse_proxy_server]
  33 + peers:
  34 + <<: *PEERS