Commit b02ece514dd614e35b6b8e11cc858e0b3760a2d1

Authored by Antonio Terceiro
1 parent f47a7caa

Prepare for multi-vm environment

Vagrantfile
... ... @@ -6,11 +6,26 @@ VAGRANTFILE_API_VERSION = "2"
6 6  
7 7 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8 8 config.vm.box = ENV.fetch("VAGRANT_BOX", 'centos7')
9   -
10 9 proxy = ENV['http_proxy'] || ENV['HTTP_PROXY']
11 10 if proxy
12 11 config.vm.provision 'shell', path: 'utils/proxy.sh', args: [proxy]
13 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 31 end
... ...
config/roles/database_server.rb 0 → 100644
... ... @@ -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 @@
  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 @@
  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 @@
  1 +name 'database_server'
  2 +description 'Social networking server'
  3 +run_list 'recipe[noosfero]'
... ...
cookbooks/basics/recipes/default.rb
1 1 package 'vim'
  2 +package 'rsyslog'
2 3  
3 4 if node['platform'] == 'centos'
4 5 cookbook_file '/etc/yum.repos.d/softwarepublico.key' do
... ...
cookbooks/colab/recipes/default.rb
... ... @@ -10,3 +10,7 @@ if node['platform'] == 'centos'
10 10 end
11 11  
12 12 package 'colab'
  13 +
  14 +service 'colab' do
  15 + action :start
  16 +end
... ...
nodes.yaml
1   -vagrant@default:
  1 +vagrant@integration:
2 2 run_list:
3 3 - role[server]
4 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
... ...